SlideShare a Scribd company logo
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 Delivery
• Now hiring!

• Videos, GitHub => dynacrongroup.com

• Author, 4 books, lots of articles
• Lots and lots of proposals & project team work
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.
Basic Architecture
Design for Testability
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!
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
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
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
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
Considerations (continued)
• Maturity
• How to measure?
• Indeed.com
• Stack Overflow

• GitHub
• Google Trends

• Developer Aesthetics
• Social group
• Ask, don’t tell!
Considerations (continued)
• Commercial / Open Source?
• Cost
• Tool-as-dev-platform
• Designed to be testable?

• Performance Testing
• Gatling, Neustar
• JS framework…
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
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 Seed)
• Bootstrap
• Jasmine + Karma
• MongoDB
• As of 10/14/2013 – early work-in-progress
• Feel free to watch, star, contribute, kibitz, add issues…
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
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!

More Related Content

PPTX
Java CMS 2015
PPTX
Decisions, Decisions: Native to Mobile Web
PPTX
Understanding Content Management Services
PDF
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
PPTX
Embracing OSS in the enterprise
PDF
CUST-6 Integrating Alfresco with Publishing Tools
KEY
TSSJS 2011 - JRuby
PDF
Architecting a Futuristic MODX Manager with HTML5
Java CMS 2015
Decisions, Decisions: Native to Mobile Web
Understanding Content Management Services
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
Embracing OSS in the enterprise
CUST-6 Integrating Alfresco with Publishing Tools
TSSJS 2011 - JRuby
Architecting a Futuristic MODX Manager with HTML5

What's hot (20)

KEY
Why ruby and rails
PDF
The "Run Anywhere" Mindset
PDF
Create Your Own Starter Files
KEY
Austin NoSQL 2011-07-06
PDF
WCM-9 WCM Solutions with Drupal and Alfresco
PPTX
Iconus 2016
PPTX
Building Your App SDK with Swift
PDF
Start Your Website for Free!
PPTX
Zen and the Art of WSD Maintenance
KEY
Heritage Foundation Resource Bank Presentation
PPTX
Benefits of a Content Management System
PPTX
Share Point 2010 Fight Night -Admin vs Dev
PPTX
Building a Startup in .NET
PDF
BP-8 Global Federation and Search
PDF
The lab on your laptop: Technical growth with virtualization
KEY
Social dev camp_2011
KEY
Becoming a more productive Rails Developer
PPTX
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
PDF
User percieved performance
PPTX
How medium uses Neo4j
Why ruby and rails
The "Run Anywhere" Mindset
Create Your Own Starter Files
Austin NoSQL 2011-07-06
WCM-9 WCM Solutions with Drupal and Alfresco
Iconus 2016
Building Your App SDK with Swift
Start Your Website for Free!
Zen and the Art of WSD Maintenance
Heritage Foundation Resource Bank Presentation
Benefits of a Content Management System
Share Point 2010 Fight Night -Admin vs Dev
Building a Startup in .NET
BP-8 Global Federation and Search
The lab on your laptop: Technical growth with virtualization
Social dev camp_2011
Becoming a more productive Rails Developer
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
User percieved performance
How medium uses Neo4j
Ad

Similar to Greenfield Java 2013 (20)

PDF
Comparing JVM Web Frameworks - Rich Web Experience 2010
PPTX
Bootstrapping Quality
PPTX
Writing a massive javascript app
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
PPTX
Be faster then rabbits
PDF
The 2014 Decision Makers Guide to Java Web Frameworks
PDF
What Web Framework To Use?
PDF
Curious Coders Java Web Frameworks Comparison
PDF
Comparing JVM Web Frameworks - Devoxx 2010
PDF
Comparing JVM Web Frameworks - TSSJS 2011
PPT
December 4 SDForum Java Sig Presentation
PDF
Agile framework Support
PDF
Cynthia Wu: Satisfaction Not Guaranteed
PPTX
Modern Java Web Development
PPTX
Best framework for web development
PDF
Modern day jvm controversies
PDF
Quick start with AngularJS
PPTX
Sailing through devlopment with legacy code
PDF
AngularJS - A Powerful Framework For Web Applications
PPTX
Large-Scale Web Development with JavaScript
Comparing JVM Web Frameworks - Rich Web Experience 2010
Bootstrapping Quality
Writing a massive javascript app
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Be faster then rabbits
The 2014 Decision Makers Guide to Java Web Frameworks
What Web Framework To Use?
Curious Coders Java Web Frameworks Comparison
Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - TSSJS 2011
December 4 SDForum Java Sig Presentation
Agile framework Support
Cynthia Wu: Satisfaction Not Guaranteed
Modern Java Web Development
Best framework for web development
Modern day jvm controversies
Quick start with AngularJS
Sailing through devlopment with legacy code
AngularJS - A Powerful Framework For Web Applications
Large-Scale Web Development with JavaScript
Ad

More from Will Iverson (10)

PPTX
SeaJUG 5 15-2018
PPTX
QA Lab in the Cloud
PPTX
SeaJUG May 2012 mybatis
PDF
Continuous Delivery Overview
PPTX
Introduction to Kanban
PDF
Practical maven-slides 2
PPT
Software Internationalization Crash Course
PPT
Choosing a Java Web Framework
PDF
Design For Testability
PDF
Java Tools and Techniques for Solving Tricky Problem
SeaJUG 5 15-2018
QA Lab in the Cloud
SeaJUG May 2012 mybatis
Continuous Delivery Overview
Introduction to Kanban
Practical maven-slides 2
Software Internationalization Crash Course
Choosing a Java Web Framework
Design For Testability
Java Tools and Techniques for Solving Tricky Problem

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Advanced IT Governance
PDF
Advanced Soft Computing BINUS July 2025.pdf
PPT
Teaching material agriculture food technology
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PPTX
Cloud computing and distributed systems.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
Advanced IT Governance
Advanced Soft Computing BINUS July 2025.pdf
Teaching material agriculture food technology
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Cloud computing and distributed systems.
“AI and Expert System Decision Support & Business Intelligence Systems”
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Unlocking AI with Model Context Protocol (MCP)
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
Network Security Unit 5.pdf for BCA BBA.
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Greenfield Java 2013

  • 1. GREENFIELD JAVA IN 2013 Will Iverson CTO, Dynacron Group
  • 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!