2. Will Iverson Who?
• CTO, Dynacron Group
• Kirkland, WA Consulting Firm
• ~40 people
• Software Projects using Continuous Delivery
• Now hiring!
• Videos, GitHub => dynacrongroup.com
• Author, 4 books, lots of articles
• Lots and lots of proposals & project team work
3. Scenario
• New project!
• What tools, frameworks, etc.?
• How do you decide?
• 1st step: project charter!
• New consumer-facing web application
• Single page web app
• Mobile devices
• iPhone, iPad, Nexus 7, Kindle HD, etc.
6. Today’s Format
• Collect Nominees by Tier
• Add “Not Sure”
• Everyone vote for current favorite
• Criteria Review
• 60 second lobbyists
• Final vote
• Winners immortalized on SeaJUG site!
7. Nominees!
• Core frameworks
• DropWizard, Spring
MVC, Play 2.x…
• DI Framework
• Spring, Guice
• Persistence tools
• RDBMS, MongoDB…
• Front End
• Bootstrap, AngularJS, Emb
er.js…
• Build & Dependency
Mgmt system
• Maven, Gradle, Grunt…
• IDE
• Eclipse, IntelliJ, NetBeans
8. Considerations
• Team scaling
• Does it work for 1 person?
• How about a team of 5-7?
• Developer Productivity
• How many files to touch to add new feature?
• E.g. add a single new field from persistence through UI
• Add a whole new view from persistence through UI
9. Considerations (continued)
• Testability
• How hard is it going to be to test this?
• Tip: driving through the GUI is the most difficult
• Code review
• Static code analysis support
• Release Management
• Support for single file + config deployment
• Integration with config mgmt tools
10. Considerations (continued)
• Tool support
• Auto-complete
• Refactoring
• SCM-friendly
• Is there a “magic file” everyone has to touch?
• pom.xml, context.xml
• Monitoring
• How much is available
11. Considerations (continued)
• Maturity
• How to measure?
• Indeed.com
• Stack Overflow
• GitHub
• Google Trends
• Developer Aesthetics
• Social group
• Ask, don’t tell!
12. Considerations (continued)
• Commercial / Open Source?
• Cost
• Tool-as-dev-platform
• Designed to be testable?
• Performance Testing
• Gatling, Neustar
• JS framework…
13. JS Framework Thoughts
• Too Early To Call
• …But you have to pick!
• jQuery alone is good but insufficient
• Huh? -> jQuery -> Backbone -> AngularJS -> Ember.js
• Further Reading…
• http://sporto.github.io/blog/2013/04/12/comparison-angular-backbone-
can-ember/
• http://beust.com/weblog/2012/12/29/migrating-from-ember-js-toangularjs/
• http://www.bennadel.com/blog/2439-My-Experience-With-AngularJSThe-Super-heroic-JavaScript-MVW-Framework.htm
15. Greenfield 2013 GitHub Project
• https://github.com/dynacron-group/greenfield
• DropWizard
• TestNG
• AngularJS (Angular Seed)
• Bootstrap
• Jasmine + Karma
• MongoDB
• As of 10/14/2013 – early work-in-progress
• Feel free to watch, star, contribute, kibitz, add issues…
16. Why AngularJS?
• Data- attribute approach
• Works better with tools
• “The way the browsers are going” – Google
• Scope databinding magic seems ok
• …but there may be edge cases…?
• Really, really strong focus on test-ability
17. Today’s Format
• Collect Nominees by Tier
• Add “Not Sure”
• Everyone vote for current favorite
• Criteria Review
• 60 second lobbyists
• Final vote
• Winners immortalized on SeaJUG site!