SlideShare a Scribd company logo
1 of 17
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

What's hot

The "Run Anywhere" Mindset
The "Run Anywhere" MindsetThe "Run Anywhere" Mindset
The "Run Anywhere" MindsetDevOpsDays DFW
 
Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter FilesEmily Lewis
 
Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06jimbojsb
 
WCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoWCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoAlfresco Software
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with SwiftJordan Yaker
 
Start Your Website for Free!
Start Your Website for Free!Start Your Website for Free!
Start Your Website for Free!Mario Peshev
 
Zen and the Art of WSD Maintenance
Zen and the Art of WSD MaintenanceZen and the Art of WSD Maintenance
Zen and the Art of WSD MaintenanceAthena Hoeppner
 
Heritage Foundation Resource Bank Presentation
Heritage Foundation Resource Bank PresentationHeritage Foundation Resource Bank Presentation
Heritage Foundation Resource Bank PresentationCord Blomquist
 
WordPress and Search Engine Optimisation (SEO)
WordPress and Search Engine Optimisation (SEO)WordPress and Search Engine Optimisation (SEO)
WordPress and Search Engine Optimisation (SEO)Piers Midwinter
 
Benefits of a Content Management System
Benefits of a Content Management SystemBenefits of a Content Management System
Benefits of a Content Management SystemRezStream
 
Share Point 2010 Fight Night -Admin vs Dev
Share Point 2010 Fight Night -Admin vs DevShare Point 2010 Fight Night -Admin vs Dev
Share Point 2010 Fight Night -Admin vs DevMike Watson
 
Building a Startup in .NET
Building a Startup in .NETBuilding a Startup in .NET
Building a Startup in .NETMarcelo Calbucci
 
BP-8 Global Federation and Search
BP-8 Global Federation and SearchBP-8 Global Federation and Search
BP-8 Global Federation and SearchAlfresco Software
 
The lab on your laptop: Technical growth with virtualization
The lab on your laptop: Technical growth with virtualizationThe lab on your laptop: Technical growth with virtualization
The lab on your laptop: Technical growth with virtualizationjpiwowar
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011Craig Ulliott
 
Becoming a more productive Rails Developer
Becoming a more productive Rails DeveloperBecoming a more productive Rails Developer
Becoming a more productive Rails DeveloperJohn McCaffrey
 
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORKAGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORKNino Crudele
 
User percieved performance
User percieved performanceUser percieved performance
User percieved performanceMike North
 

What's hot (20)

Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
 
The "Run Anywhere" Mindset
The "Run Anywhere" MindsetThe "Run Anywhere" Mindset
The "Run Anywhere" Mindset
 
Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter Files
 
Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06
 
WCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoWCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and Alfresco
 
Iconus 2016
Iconus 2016Iconus 2016
Iconus 2016
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with Swift
 
Start Your Website for Free!
Start Your Website for Free!Start Your Website for Free!
Start Your Website for Free!
 
Zen and the Art of WSD Maintenance
Zen and the Art of WSD MaintenanceZen and the Art of WSD Maintenance
Zen and the Art of WSD Maintenance
 
Heritage Foundation Resource Bank Presentation
Heritage Foundation Resource Bank PresentationHeritage Foundation Resource Bank Presentation
Heritage Foundation Resource Bank Presentation
 
WordPress and Search Engine Optimisation (SEO)
WordPress and Search Engine Optimisation (SEO)WordPress and Search Engine Optimisation (SEO)
WordPress and Search Engine Optimisation (SEO)
 
Benefits of a Content Management System
Benefits of a Content Management SystemBenefits of a Content Management System
Benefits of a Content Management System
 
Share Point 2010 Fight Night -Admin vs Dev
Share Point 2010 Fight Night -Admin vs DevShare Point 2010 Fight Night -Admin vs Dev
Share Point 2010 Fight Night -Admin vs Dev
 
Building a Startup in .NET
Building a Startup in .NETBuilding a Startup in .NET
Building a Startup in .NET
 
BP-8 Global Federation and Search
BP-8 Global Federation and SearchBP-8 Global Federation and Search
BP-8 Global Federation and Search
 
The lab on your laptop: Technical growth with virtualization
The lab on your laptop: Technical growth with virtualizationThe lab on your laptop: Technical growth with virtualization
The lab on your laptop: Technical growth with virtualization
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
 
Becoming a more productive Rails Developer
Becoming a more productive Rails DeveloperBecoming a more productive Rails Developer
Becoming a more productive Rails Developer
 
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORKAGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
AGILE AND COGNITIVE INTEGRATION USING MICROSOFT AZURE AND .NET FRAMEWORK
 
User percieved performance
User percieved performanceUser percieved performance
User percieved performance
 

Similar to Greenfield Java 2013

Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
Getting started with dev tools (4/10/17 DC)
Getting started with dev tools (4/10/17 DC)Getting started with dev tools (4/10/17 DC)
Getting started with dev tools (4/10/17 DC)Daniel Friedman
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...Jon Peck
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybridsOron Ben Zvi
 
Getting started with dev tools (05 09-17, santa monica) upload
Getting started with dev tools (05 09-17, santa monica) uploadGetting started with dev tools (05 09-17, santa monica) upload
Getting started with dev tools (05 09-17, santa monica) uploadThinkful
 
Getting started with dev tools (atl)
Getting started with dev tools (atl)Getting started with dev tools (atl)
Getting started with dev tools (atl)Thinkful
 
Play Architecture, Implementation, Shiny Objects, and a Proposal
Play Architecture, Implementation, Shiny Objects, and a ProposalPlay Architecture, Implementation, Shiny Objects, and a Proposal
Play Architecture, Implementation, Shiny Objects, and a ProposalMike Slinn
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Cultureifnu bima
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureSARCCOM
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Phase2
 
Super tools to boost productivity in React dev env!
Super tools to boost productivity in React dev env!Super tools to boost productivity in React dev env!
Super tools to boost productivity in React dev env!Souvik Basu
 
Bridging the gap between UX and development – A Storybook
Bridging the gap between UX and development – A StorybookBridging the gap between UX and development – A Storybook
Bridging the gap between UX and development – A StorybookMarko Letic
 
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...DevClub_lv
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
WordCamp 2012 - Seth Carstens Presentation (Responsive Width)
WordCamp 2012 - Seth Carstens Presentation (Responsive Width)WordCamp 2012 - Seth Carstens Presentation (Responsive Width)
WordCamp 2012 - Seth Carstens Presentation (Responsive Width)Seth Carstens
 
Choosing the best JavaScript framework/library/toolkit
Choosing the best JavaScript framework/library/toolkitChoosing the best JavaScript framework/library/toolkit
Choosing the best JavaScript framework/library/toolkitHristo Chakarov
 
Development Processes and Tooling
Development Processes and ToolingDevelopment Processes and Tooling
Development Processes and ToolingBora Bilgin
 

Similar to Greenfield Java 2013 (20)

Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Getting started with dev tools (4/10/17 DC)
Getting started with dev tools (4/10/17 DC)Getting started with dev tools (4/10/17 DC)
Getting started with dev tools (4/10/17 DC)
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev Conf
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybrids
 
Getting started with dev tools (05 09-17, santa monica) upload
Getting started with dev tools (05 09-17, santa monica) uploadGetting started with dev tools (05 09-17, santa monica) upload
Getting started with dev tools (05 09-17, santa monica) upload
 
Getting started with dev tools (atl)
Getting started with dev tools (atl)Getting started with dev tools (atl)
Getting started with dev tools (atl)
 
Jumpstart Your Web App
Jumpstart Your Web AppJumpstart Your Web App
Jumpstart Your Web App
 
Play Architecture, Implementation, Shiny Objects, and a Proposal
Play Architecture, Implementation, Shiny Objects, and a ProposalPlay Architecture, Implementation, Shiny Objects, and a Proposal
Play Architecture, Implementation, Shiny Objects, and a Proposal
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8
 
Super tools to boost productivity in React dev env!
Super tools to boost productivity in React dev env!Super tools to boost productivity in React dev env!
Super tools to boost productivity in React dev env!
 
Bridging the gap between UX and development – A Storybook
Bridging the gap between UX and development – A StorybookBridging the gap between UX and development – A Storybook
Bridging the gap between UX and development – A Storybook
 
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
WordCamp 2012 - Seth Carstens Presentation (Responsive Width)
WordCamp 2012 - Seth Carstens Presentation (Responsive Width)WordCamp 2012 - Seth Carstens Presentation (Responsive Width)
WordCamp 2012 - Seth Carstens Presentation (Responsive Width)
 
Choosing the best JavaScript framework/library/toolkit
Choosing the best JavaScript framework/library/toolkitChoosing the best JavaScript framework/library/toolkit
Choosing the best JavaScript framework/library/toolkit
 
Development Processes and Tooling
Development Processes and ToolingDevelopment Processes and Tooling
Development Processes and Tooling
 
Devops Landscape
Devops LandscapeDevops Landscape
Devops Landscape
 

More from Will Iverson

QA Lab in the Cloud
QA Lab in the CloudQA Lab in the Cloud
QA Lab in the CloudWill Iverson
 
SeaJUG May 2012 mybatis
SeaJUG May 2012 mybatisSeaJUG May 2012 mybatis
SeaJUG May 2012 mybatisWill Iverson
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill Iverson
 
Introduction to Kanban
Introduction to KanbanIntroduction to Kanban
Introduction to KanbanWill Iverson
 
Practical maven-slides 2
Practical maven-slides 2Practical maven-slides 2
Practical maven-slides 2Will Iverson
 
Software Internationalization Crash Course
Software Internationalization Crash CourseSoftware Internationalization Crash Course
Software Internationalization Crash CourseWill Iverson
 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web FrameworkWill Iverson
 
Design For Testability
Design For TestabilityDesign For Testability
Design For TestabilityWill Iverson
 
Java Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky ProblemJava Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky ProblemWill Iverson
 

More from Will Iverson (10)

SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
 
QA Lab in the Cloud
QA Lab in the CloudQA Lab in the Cloud
QA Lab in the Cloud
 
SeaJUG May 2012 mybatis
SeaJUG May 2012 mybatisSeaJUG May 2012 mybatis
SeaJUG May 2012 mybatis
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Introduction to Kanban
Introduction to KanbanIntroduction to Kanban
Introduction to Kanban
 
Practical maven-slides 2
Practical maven-slides 2Practical maven-slides 2
Practical maven-slides 2
 
Software Internationalization Crash Course
Software Internationalization Crash CourseSoftware Internationalization Crash Course
Software Internationalization Crash Course
 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web Framework
 
Design For Testability
Design For TestabilityDesign For Testability
Design For Testability
 
Java Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky ProblemJava Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky Problem
 

Recently uploaded

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

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!