SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
@hendrikEbberswww.guigarage.com
Feature Driven Development
@hendrikEbberswww.guigarage.com
default branchAbout me
Hendrik Ebbers @hendrikEbbers
www.guigarage.com
JUG DortmundMastering
JavaFX 8
Controls
DataFX, AquaFX,
Vagrant-Binding
@hendrikEbberswww.guigarage.com
default branchContent
features workflows feature toggles
@hendrikEbberswww.guigarage.com
default branchWhat is a feature?
„play“ button
feature
@hendrikEbberswww.guigarage.com
default branchWhat is a feature?
„play“ button
feature
@hendrikEbberswww.guigarage.com
private single developer project
Ribbon interface
removed
„play“ button added
multi touch
support Hibernate version
changed
@hendrikEbberswww.guigarage.com
structure of a complex application
Backend
Frontend / UI
Persistence
@hendrikEbberswww.guigarage.com
Let’s start with the UI
trunk
button on UI
@hendrikEbberswww.guigarage.com
Diff of the first commit
<form >
<input type="button" value=„play“ onclick=„rpc.play()“>
</form>
class PlayService {
!
public void play() {
throw new RuntimeException(„Not implemented!“);
}
!
}
@hendrikEbberswww.guigarage.com
Commit history
button on UI
JPA classes
new media service
bugfix #235
trunk
@hendrikEbberswww.guigarage.com
Houston, we have a problem
button on UI
JPA classes
new media service
bugfix #235
Application can’t be released!
trunk
@hendrikEbberswww.guigarage.com
Concurrent development = Concurrent problems
Jim
Bob
Martin
John
bugfix 7
new
middleware
rest
services
security
issues
@hendrikEbberswww.guigarage.com
Concurrent development = Concurrent problems
button on UI
JPA classes
new media service
bugfix #235
trunk
Ribbon interface
removed (50%)
Ribbon interface
removed (100%)
testcommit
refactored most
entities
@hendrikEbberswww.guigarage.com
Concurrent development = Concurrent problems
button on UI
JPA classes
new media service
bugfix #235
trunk
Ribbon interface
removed (50%)
Ribbon interface
removed (100%)
testcommit
refactored most
entities
Application can NEVER be released!
@hendrikEbberswww.guigarage.com
Using a feature branch
button on UI
JPA classes
new media service
mergebranch
develop
feature
branch
@hendrikEbberswww.guigarage.com
Release cycle?
Application can be released!
@hendrikEbberswww.guigarage.com
Concurrent development?
Application can be released!
feature 1
feature 2
@hendrikEbberswww.guigarage.com
Problem: merge hell
Application can be released!
merge hell
f# 1 f# 4 f# 2 f# 3 f# 5
t = 2 month
@hendrikEbberswww.guigarage.com
Application can be released!
hidden button
and middleware
backend
visible
button
easy
merge
easy
merge
easy
merge
Solution: Dark launching & small branches
@hendrikEbberswww.guigarage.com
Solution: update the feature branch
Application can be released!
merge merge merge
adding button
localization of
button title
final
button icon
!
easy merge /
pull request
@hendrikEbberswww.guigarage.com
Problem: changes creates bugs
Application can be released!
bugs?
Point of no return
@hendrikEbberswww.guigarage.com
Solution: Feature Toggles
!
if(MY_FEATURE.isActive( )) {
showPlayButton( );
} activate
feature
the feature
check
@hendrikEbberswww.guigarage.com
Fallback to old implementations
!
if(NEW_PERSISTENCE.isActive( )) {
return jpaCall( );
} else {
return jdbcCall( );
}
old new
@hendrikEbberswww.guigarage.com
Java APIs
JSF
Support
Spring
Support Java EE
Support
Admin
Console
Activation
Strategies
State
Repositories
User
Authentification
Java SE
Support
@hendrikEbberswww.guigarage.com
Java APIs
JavaFX
Support
Observer
pattern
Binding
Supports
predefined
annotations
@hendrikEbberswww.guigarage.com
Define Features as enum
!
@Issue(„JFX-638“)
@EnabledByDefault
NEW_PERSISTENCE,
!
@Issue(„JFX-492“)
@EnabledByDefault
TWITTER_SUPPORT,
. . .
add
metadata to
describe the
feature
@hendrikEbberswww.guigarage.com
Features state and activation
!
MY_FEATURE.isActive( )
always
always on
dev system
next 3 hours
for random
users
stored in db
defined in
property file
@hendrikEbberswww.guigarage.com
Administration view
< >
!
http://www.my-app/administration/togglz
@hendrikEbberswww.guigarage.com
Fronted support
!
<h:panelGroup rendered="#{features['PLAY_FEATURE']}">
<h:commandButton value=„play" />
</h:panelGroup>
@FXML
@HideByFeature("PLAY_FEATURE")
private Button playButton;
JavaFX
JSF
@hendrikEbberswww.guigarage.com
Take care of your features
FEATURE_1,
FEATURE_2,
FEATURE_3,
FEATURE_4,
FEATURE_5,
. . .
FEATURE_1462,
FEATURE_11463,
Where is my
feature???
Don’t forget
to clean up!
(once a feature is
live for a defined
period of time)
@hendrikEbberswww.guigarage.com
Conclusion
button &
feature toggle
backend
remove
feature toggle
use feature
toggles
clean upuse short
living
branches
describe your
features with
metadata
&
provide
feature
administration
&
@YourTwitterHandle#DVXFR14{session hashtag} @hendrikEbberswww.guigarage.com
Q
&
A

Más contenido relacionado

La actualidad más candente

Deploying Apps Heroku
Deploying Apps HerokuDeploying Apps Heroku
Deploying Apps HerokuAjit N K
 
Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...
Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...
Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...Codemotion
 
Mastering the Master Detail Pattern
Mastering the Master Detail PatternMastering the Master Detail Pattern
Mastering the Master Detail PatternCommonsWare
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android nSercan Yusuf
 
Mobile Software Engineering Crash Course - C04 Android Cont.
Mobile Software Engineering Crash Course - C04 Android Cont.Mobile Software Engineering Crash Course - C04 Android Cont.
Mobile Software Engineering Crash Course - C04 Android Cont.Mohammad Shaker
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMohammad Shaker
 
Angular Best Practices @ Firenze 19 feb 2018
Angular Best Practices @ Firenze 19 feb 2018Angular Best Practices @ Firenze 19 feb 2018
Angular Best Practices @ Firenze 19 feb 2018Fabio Biondi
 

La actualidad más candente (8)

Deploying Apps Heroku
Deploying Apps HerokuDeploying Apps Heroku
Deploying Apps Heroku
 
Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...
Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...
Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...
 
Mastering the Master Detail Pattern
Mastering the Master Detail PatternMastering the Master Detail Pattern
Mastering the Master Detail Pattern
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android n
 
Mobile Software Engineering Crash Course - C04 Android Cont.
Mobile Software Engineering Crash Course - C04 Android Cont.Mobile Software Engineering Crash Course - C04 Android Cont.
Mobile Software Engineering Crash Course - C04 Android Cont.
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhone
 
Firebase play-games-services-unity
Firebase play-games-services-unityFirebase play-games-services-unity
Firebase play-games-services-unity
 
Angular Best Practices @ Firenze 19 feb 2018
Angular Best Practices @ Firenze 19 feb 2018Angular Best Practices @ Firenze 19 feb 2018
Angular Best Practices @ Firenze 19 feb 2018
 

Destacado

Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentKhanh Nguyen
 
Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)Vitor Pacheco
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentRuhaim Izmeth
 
FDD (Feature Driven Development)
FDD (Feature Driven Development)FDD (Feature Driven Development)
FDD (Feature Driven Development)urumisama
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Developmentdcsunu
 
Reuso de Software - Síntese do Modelo de Features
Reuso de Software - Síntese do Modelo de FeaturesReuso de Software - Síntese do Modelo de Features
Reuso de Software - Síntese do Modelo de FeaturesThiago Pereira
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralRuan Carvalho
 
Distributed agile testing_for_enterprises
Distributed agile testing_for_enterprisesDistributed agile testing_for_enterprises
Distributed agile testing_for_enterprisesThoughtWorks Studios
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven DevelopmentUlas Karademir
 
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)Jordi Cabot
 
Reuso de software
Reuso de softwareReuso de software
Reuso de softwarerebekinha
 
Agile & Open Unified Processes
Agile & Open Unified ProcessesAgile & Open Unified Processes
Agile & Open Unified Processesdcsunu
 
Distributed Agile Teams
Distributed Agile TeamsDistributed Agile Teams
Distributed Agile TeamsBrian Estep
 
Apresentação dissertação
Apresentação dissertaçãoApresentação dissertação
Apresentação dissertaçãoDorgival Netto
 

Destacado (20)

Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
FDD (Feature Driven Development)
FDD (Feature Driven Development)FDD (Feature Driven Development)
FDD (Feature Driven Development)
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Reuso de Software - Síntese do Modelo de Features
Reuso de Software - Síntese do Modelo de FeaturesReuso de Software - Síntese do Modelo de Features
Reuso de Software - Síntese do Modelo de Features
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
 
Reúso
ReúsoReúso
Reúso
 
Distributed agile testing_for_enterprises
Distributed agile testing_for_enterprisesDistributed agile testing_for_enterprises
Distributed agile testing_for_enterprises
 
Distributed Agile
Distributed AgileDistributed Agile
Distributed Agile
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Agile & Open Unified Processes
Agile & Open Unified ProcessesAgile & Open Unified Processes
Agile & Open Unified Processes
 
Distributed Agile Teams
Distributed Agile TeamsDistributed Agile Teams
Distributed Agile Teams
 
Apresentação dissertação
Apresentação dissertaçãoApresentação dissertação
Apresentação dissertação
 
Crystal Methodology
Crystal MethodologyCrystal Methodology
Crystal Methodology
 
Crystal Agile
Crystal AgileCrystal Agile
Crystal Agile
 
Crystal
CrystalCrystal
Crystal
 

Similar a Feature driven development

Test & Learn: Building & Deploying Resilient Products - How Feature Flags & O...
Test & Learn: Building & Deploying Resilient Products - How Feature Flags & O...Test & Learn: Building & Deploying Resilient Products - How Feature Flags & O...
Test & Learn: Building & Deploying Resilient Products - How Feature Flags & O...Optimizely
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsClay Ewing
 
Killer Salesforce Admin Activity Hacks
Killer Salesforce Admin Activity HacksKiller Salesforce Admin Activity Hacks
Killer Salesforce Admin Activity HacksRingLead
 
Tour of Mobile usability testing apps and services
Tour of Mobile usability testing apps and servicesTour of Mobile usability testing apps and services
Tour of Mobile usability testing apps and servicesvijayhanumolu
 
Webinar: This Launch Will Self-Destruct in 3...2...1
Webinar: This Launch Will Self-Destruct in 3...2...1Webinar: This Launch Will Self-Destruct in 3...2...1
Webinar: This Launch Will Self-Destruct in 3...2...1Optimizely
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & SalesforceAbhinav Gupta
 
Creating an Uber Clone - Part XXXIII - Transcript.pdf
Creating an Uber Clone - Part XXXIII - Transcript.pdfCreating an Uber Clone - Part XXXIII - Transcript.pdf
Creating an Uber Clone - Part XXXIII - Transcript.pdfShaiAlmog1
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
Creating Openbravo Workspace Widgets
Creating Openbravo Workspace WidgetsCreating Openbravo Workspace Widgets
Creating Openbravo Workspace WidgetsRob Goris
 
SlickGrid Touch: Making complex JavaScript widgets work on mobile devices
SlickGrid Touch: Making complex JavaScript widgets work on mobile devicesSlickGrid Touch: Making complex JavaScript widgets work on mobile devices
SlickGrid Touch: Making complex JavaScript widgets work on mobile devicesreebalazs
 
TechEvent Advanced Service Worker / PWA with Google Workbox
TechEvent Advanced Service Worker / PWA with Google WorkboxTechEvent Advanced Service Worker / PWA with Google Workbox
TechEvent Advanced Service Worker / PWA with Google WorkboxTrivadis
 
How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]M-Connect Media
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJSGregor Woiwode
 
Presentation of the KansaiScene API at #kansaimashapp
Presentation of the KansaiScene API at #kansaimashappPresentation of the KansaiScene API at #kansaimashapp
Presentation of the KansaiScene API at #kansaimashappMartin Heidegger
 
Mobile html5 today
Mobile html5 todayMobile html5 today
Mobile html5 todayIdo Green
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...Publicis Sapient Engineering
 
Devoxx 09 (Belgium)
Devoxx 09 (Belgium)Devoxx 09 (Belgium)
Devoxx 09 (Belgium)Roger Kitain
 

Similar a Feature driven development (20)

Test & Learn: Building & Deploying Resilient Products - How Feature Flags & O...
Test & Learn: Building & Deploying Resilient Products - How Feature Flags & O...Test & Learn: Building & Deploying Resilient Products - How Feature Flags & O...
Test & Learn: Building & Deploying Resilient Products - How Feature Flags & O...
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web Skills
 
Killer Salesforce Admin Activity Hacks
Killer Salesforce Admin Activity HacksKiller Salesforce Admin Activity Hacks
Killer Salesforce Admin Activity Hacks
 
Tour of Mobile usability testing apps and services
Tour of Mobile usability testing apps and servicesTour of Mobile usability testing apps and services
Tour of Mobile usability testing apps and services
 
Web-development-git
Web-development-gitWeb-development-git
Web-development-git
 
Webinar: This Launch Will Self-Destruct in 3...2...1
Webinar: This Launch Will Self-Destruct in 3...2...1Webinar: This Launch Will Self-Destruct in 3...2...1
Webinar: This Launch Will Self-Destruct in 3...2...1
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
 
Creating an Uber Clone - Part XXXIII - Transcript.pdf
Creating an Uber Clone - Part XXXIII - Transcript.pdfCreating an Uber Clone - Part XXXIII - Transcript.pdf
Creating an Uber Clone - Part XXXIII - Transcript.pdf
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Creating Openbravo Workspace Widgets
Creating Openbravo Workspace WidgetsCreating Openbravo Workspace Widgets
Creating Openbravo Workspace Widgets
 
SlickGrid Touch: Making complex JavaScript widgets work on mobile devices
SlickGrid Touch: Making complex JavaScript widgets work on mobile devicesSlickGrid Touch: Making complex JavaScript widgets work on mobile devices
SlickGrid Touch: Making complex JavaScript widgets work on mobile devices
 
TechEvent Advanced Service Worker / PWA with Google Workbox
TechEvent Advanced Service Worker / PWA with Google WorkboxTechEvent Advanced Service Worker / PWA with Google Workbox
TechEvent Advanced Service Worker / PWA with Google Workbox
 
How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJS
 
Presentation of the KansaiScene API at #kansaimashapp
Presentation of the KansaiScene API at #kansaimashappPresentation of the KansaiScene API at #kansaimashapp
Presentation of the KansaiScene API at #kansaimashapp
 
Mobile html5 today
Mobile html5 todayMobile html5 today
Mobile html5 today
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)
 
Going web native
Going web nativeGoing web native
Going web native
 
Devoxx 09 (Belgium)
Devoxx 09 (Belgium)Devoxx 09 (Belgium)
Devoxx 09 (Belgium)
 

Más de Hendrik Ebbers

Java APIs- The missing manual (concurrency)
Java APIs- The missing manual (concurrency)Java APIs- The missing manual (concurrency)
Java APIs- The missing manual (concurrency)Hendrik Ebbers
 
Beauty & the Beast - Java VS TypeScript
Beauty & the Beast - Java VS TypeScriptBeauty & the Beast - Java VS TypeScript
Beauty & the Beast - Java VS TypeScriptHendrik Ebbers
 
Java APIs - the missing manual
Java APIs - the missing manualJava APIs - the missing manual
Java APIs - the missing manualHendrik Ebbers
 
Multidevice Controls: A Different Approach to UX
Multidevice Controls: A Different Approach to UXMultidevice Controls: A Different Approach to UX
Multidevice Controls: A Different Approach to UXHendrik Ebbers
 
Java WebStart Is Dead: What Should We Do Now?
Java WebStart Is Dead: What Should We Do Now?Java WebStart Is Dead: What Should We Do Now?
Java WebStart Is Dead: What Should We Do Now?Hendrik Ebbers
 
Java ap is you should know
Java ap is you should knowJava ap is you should know
Java ap is you should knowHendrik Ebbers
 
JavaFX JumpStart @JavaOne 2016
JavaFX JumpStart @JavaOne 2016JavaFX JumpStart @JavaOne 2016
JavaFX JumpStart @JavaOne 2016Hendrik Ebbers
 
BUILDING MODERN WEB UIS WITH WEB COMPONENTS @ Devoxx
BUILDING MODERN WEB UIS WITH WEB COMPONENTS @ DevoxxBUILDING MODERN WEB UIS WITH WEB COMPONENTS @ Devoxx
BUILDING MODERN WEB UIS WITH WEB COMPONENTS @ DevoxxHendrik Ebbers
 
Web Components & Polymer 1.0 (Webinale Berlin)
Web Components & Polymer 1.0 (Webinale Berlin)Web Components & Polymer 1.0 (Webinale Berlin)
Web Components & Polymer 1.0 (Webinale Berlin)Hendrik Ebbers
 
webcomponents (Jfokus 2015)
webcomponents (Jfokus 2015)webcomponents (Jfokus 2015)
webcomponents (Jfokus 2015)Hendrik Ebbers
 
Test Driven Development with JavaFX
Test Driven Development with JavaFXTest Driven Development with JavaFX
Test Driven Development with JavaFXHendrik Ebbers
 
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)Hendrik Ebbers
 
DataFX 8 (JavaOne 2014)
DataFX 8 (JavaOne 2014)DataFX 8 (JavaOne 2014)
DataFX 8 (JavaOne 2014)Hendrik Ebbers
 
Vagrant Binding JayDay 2013
Vagrant Binding JayDay 2013Vagrant Binding JayDay 2013
Vagrant Binding JayDay 2013Hendrik Ebbers
 

Más de Hendrik Ebbers (20)

Java Desktop 2019
Java Desktop 2019Java Desktop 2019
Java Desktop 2019
 
Java APIs- The missing manual (concurrency)
Java APIs- The missing manual (concurrency)Java APIs- The missing manual (concurrency)
Java APIs- The missing manual (concurrency)
 
Beauty & the Beast - Java VS TypeScript
Beauty & the Beast - Java VS TypeScriptBeauty & the Beast - Java VS TypeScript
Beauty & the Beast - Java VS TypeScript
 
Java 11 OMG
Java 11 OMGJava 11 OMG
Java 11 OMG
 
Java APIs - the missing manual
Java APIs - the missing manualJava APIs - the missing manual
Java APIs - the missing manual
 
Multidevice Controls: A Different Approach to UX
Multidevice Controls: A Different Approach to UXMultidevice Controls: A Different Approach to UX
Multidevice Controls: A Different Approach to UX
 
Java WebStart Is Dead: What Should We Do Now?
Java WebStart Is Dead: What Should We Do Now?Java WebStart Is Dead: What Should We Do Now?
Java WebStart Is Dead: What Should We Do Now?
 
Java ap is you should know
Java ap is you should knowJava ap is you should know
Java ap is you should know
 
JavaFX JumpStart @JavaOne 2016
JavaFX JumpStart @JavaOne 2016JavaFX JumpStart @JavaOne 2016
JavaFX JumpStart @JavaOne 2016
 
BUILDING MODERN WEB UIS WITH WEB COMPONENTS @ Devoxx
BUILDING MODERN WEB UIS WITH WEB COMPONENTS @ DevoxxBUILDING MODERN WEB UIS WITH WEB COMPONENTS @ Devoxx
BUILDING MODERN WEB UIS WITH WEB COMPONENTS @ Devoxx
 
Web Components & Polymer 1.0 (Webinale Berlin)
Web Components & Polymer 1.0 (Webinale Berlin)Web Components & Polymer 1.0 (Webinale Berlin)
Web Components & Polymer 1.0 (Webinale Berlin)
 
webcomponents (Jfokus 2015)
webcomponents (Jfokus 2015)webcomponents (Jfokus 2015)
webcomponents (Jfokus 2015)
 
Test Driven Development with JavaFX
Test Driven Development with JavaFXTest Driven Development with JavaFX
Test Driven Development with JavaFX
 
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)
 
DataFX 8 (JavaOne 2014)
DataFX 8 (JavaOne 2014)DataFX 8 (JavaOne 2014)
DataFX 8 (JavaOne 2014)
 
Extreme Gui Makeover
Extreme Gui MakeoverExtreme Gui Makeover
Extreme Gui Makeover
 
JavaFX Enterprise
JavaFX EnterpriseJavaFX Enterprise
JavaFX Enterprise
 
Bonjour for Java
Bonjour for JavaBonjour for Java
Bonjour for Java
 
DataFX - JavaOne 2013
DataFX - JavaOne 2013DataFX - JavaOne 2013
DataFX - JavaOne 2013
 
Vagrant Binding JayDay 2013
Vagrant Binding JayDay 2013Vagrant Binding JayDay 2013
Vagrant Binding JayDay 2013
 

Último

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 

Último (20)

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 

Feature driven development