GREENFIELD JAVA IN 2013
Will Iverson
CTO, Dynacron Group
Will Iverson Who?
• CTO, Dynacron Group
• Kirkland, WA Consulting Firm
• ~40 people
• Software Projects using Continuous D...
Scenario
• New project!

• What tools, frameworks, etc.?
• How do you decide?
• 1st step: project charter!

• New consumer...
Basic Architecture
Design for Testability
Today’s Format
• Collect Nominees by Tier
• Add “Not Sure”

• Everyone vote for current favorite
• Criteria Review

• 60 s...
Nominees!
• Core frameworks
• DropWizard, Spring

MVC, Play 2.x…
• DI Framework
• Spring, Guice
• Persistence tools
• RDBM...
Considerations
• Team scaling
• Does it work for 1 person?
• How about a team of 5-7?

• Developer Productivity
• How many...
Considerations (continued)
• Testability
• How hard is it going to be to test this?
• Tip: driving through the GUI is the ...
Considerations (continued)
• Tool support
• Auto-complete
• Refactoring

• SCM-friendly
• Is there a “magic file” everyone...
Considerations (continued)
• Maturity
• How to measure?
• Indeed.com
• Stack Overflow

• GitHub
• Google Trends

• Develop...
Considerations (continued)
• Commercial / Open Source?
• Cost
• Tool-as-dev-platform
• Designed to be testable?

• Perform...
JS Framework Thoughts
• Too Early To Call
• …But you have to pick!
• jQuery alone is good but insufficient
• Huh? -> jQuer...
JS Summarized

http://www.bennadel.com/blog/2439-My-Experience-With-AngularJS-The-Super-heroic-JavaScriptMVW-Framework.htm
Greenfield 2013 GitHub Project
• https://github.com/dynacron-group/greenfield

• DropWizard
• TestNG
• AngularJS (Angular ...
Why AngularJS?
• Data- attribute approach
• Works better with tools
• “The way the browsers are going” – Google
• Scope da...
Today’s Format
• Collect Nominees by Tier
• Add “Not Sure”

• Everyone vote for current favorite
• Criteria Review

• 60 s...
Upcoming SlideShare
Loading in …5
×

Greenfield Java 2013

1,199 views
1,084 views

Published on

As presented at SeaJUG in October 2013. The video is available at http://www.seajug.org/. These slides mainly cover criteria for selection.

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,199
On SlideShare
0
From Embeds
0
Number of Embeds
283
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Greenfield Java 2013

  1. 1. GREENFIELD JAVA IN 2013 Will Iverson CTO, Dynacron Group
  2. 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. 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.
  4. 4. Basic Architecture
  5. 5. Design for Testability
  6. 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. 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. 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. 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. 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. 11. Considerations (continued) • Maturity • How to measure? • Indeed.com • Stack Overflow • GitHub • Google Trends • Developer Aesthetics • Social group • Ask, don’t tell!
  12. 12. Considerations (continued) • Commercial / Open Source? • Cost • Tool-as-dev-platform • Designed to be testable? • Performance Testing • Gatling, Neustar • JS framework…
  13. 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
  14. 14. JS Summarized http://www.bennadel.com/blog/2439-My-Experience-With-AngularJS-The-Super-heroic-JavaScriptMVW-Framework.htm
  15. 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. 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. 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!

×