SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
@deepu105#DevoxxFR 2018
By Deepu K Sasidharan, XebiaLabs
April 20, 2018
Frontend stack for
Java Developers
@deepu105#DevoxxFR 2018
About Me
Javascript Evangelist
Co-lead
Senior product developer
Robotics & Astronomy enthusiast
https://www.packtpub.com/application-development/full-stack-development-jhipster
@deepu105#DevoxxFR 2018
About XebiaLabs
@deepu105#DevoxxFR 2018
What about you?
How many folks are Java developers?
How many are web developers?
Who likes JavaScript? Who likes TypeScript better?
Are you a fan of:
Angular
React
Vue.js
@deepu105#DevoxxFR 2018
Today’s Agenda
● Why most Java developers hate frontend
● Myths about the frontend landscape
● How to make Java developers like JavaScript
● History of Angular, React & VueJS
● My favorite and not-so-favorite features
● Kickstarting Angular and React
● An optimal stack for Java developers
● Using JHipster to kickstart
● Recommendations
Why most Java developers hate frontend?
@deepu105#DevoxxFR 2018
Frontend options 7 years ago
=
@deepu105#DevoxxFR 2018
The Rise of MV* Frameworks
@deepu105#DevoxxFR 2018
@deepu105#DevoxxFR 2018
“Yet Another Framework Syndrome”
Myths about the frontend landscape
JavaScript sucks/CSS sucks
JavaScript is not even a real language
JavaScript is not powerful enough
Frameworks disappear overnight
There are too many frameworks and Libraries to learn
What I learn might be obsolete next week
How to make Java developers
like(love)
JavaScript
@deepu105#DevoxxFR 2018
What is TypeScript
A strict syntactical superset of JavaScript(upto ES2018(ES9))
Optional static typing support
Transpiles to JavaScript
Maintained by Microsoft with major collaboration from Google
Great editor and IDE support
@deepu105#DevoxxFR 2018
TypeScript features
Static type checking, Type inference, Type aliasing
Union, Intersection, Function and Hybrid types
Generics, Decorators(a.k.a annotations), Mixins(a.k.a traits)
Interface, Enum, Tuple support
Private, optional, readonly properties
JSX support, JS type checking and more
@deepu105#DevoxxFR 2018
@deepu105#DevoxxFR 2018
Brief History of
Angular, React & Vue.Js
@deepu105#DevoxxFR 2018
The History of Angular
Started as AngularJS in 2009 by Miško Hevery
GWT == 3 developers, 6 months
AngularJS == 1 developer, 3 weeks
Announced Angular 2, September 2014
2.0 Released in September 2016
5.0 Released November 1, 2017
https://angular.io/guide/quickstart
@deepu105#DevoxxFR 2018
The History of React
React was created by Jordan Walke in 2011 &
Open sourced in May 2013
Inspired by XHP, an HTML components
framework for PHP
Within one year, had large sites
Khan Academy, New York Times, Airbnb
+ Facebook and Instagram
16.0 released on September 26, 2017
https://codepen.io/gaearon/pen/ZpvBNJ
@deepu105#DevoxxFR 2018
The History of Vue.JS
Vue.Js was created by Evan You and released
in February 2014
Borrows concepts from AngularJS and React
Used by Alibaba, Baidu, Adobe, GitLab, etc.
2.5 released on October 13, 2017
Hello world with VueJS
My favorite and not-so-favorite features
Your Favorite Angular Features?
My Favorite Angular Features
Dependency Injection
Angular CLI
Resembles Java MVC Frameworks
Two-way Binding
Components, Services, and Directives
TypeScript
Ionic Framework
Webpack compiling TypeScript
Searchability: Angular vs AngularJS
Release Candidates in 2016
Testing Infrastructure
Too much boilerplate code
Your Favorite React Features?
My Favorite React Features
One way binding
Virtual DOM
JSX
Flexibility
Component based composability
Smart & Dumb components
React Native
One way binding
Dependency fatigue
JSX
Too many options for state management
No official style guide
Your Favorite VueJS Features?
My Favorite VueJS Features
Two way binding
Virtual DOM
JSX is supported
Flexibility
Component based composability
Low learning curve
Smaller community
No official style guide
Some library documentation are only in
chinese
Framework vs Library
Angular = Full fledged MVVM framework
React/VueJS = View rendering library
Angular = React + Redux + React Router … (React & Friends)
Let’s get the similarities out of the way
All are component-based
All are client side MVVM frameworks for building SPAs
All supports server-side rendering
All of them supports native mobile app development
All of them requires a build tool like webpack for optimal usage
All of them have comparable performance
All of them are MIT licenced (Finally!)
All of them support Typescript and provides official type definitions
Kickstarting Angular and React
Angular CLI vs Create React App
Minimal dependencies
ES6 by default
Yarn by default
325 Lines of code (not counting
README)
PWA Score: 55/82
ng new app-name --minimal
TypeScript by default
npm by default
225 Lines of code
PWA Score: 18/36 (dev/prod)
ng generate component |
service
An optimal stack for Java developers
Easy to start Flexible
Typescript
React
Redux
React router
Jest
Typescript
Angular
Karma
Mocha
Chai
Using JHipster to kickstart
Want to learn more about JHipster?
Come to our BOF tonight!
Demo Time!
Recommendations
Learn the Language well, Frameworks are
just tools to help
Recommendation
If you have a lot of state: React
If you need simplicity & clean code: VueJS
If you’re familiar with Java MVC frameworks: Angular
If you want the easiest to learn and lightweight framework: VueJS
If you work at Facebook: React
If you work at Google: Angular
If you like structure and a helping hand: Angular
If you like flexibility: React or VueJS
Other Opinions
https://medium.com/unicorn-supplies/angular-vs-react-vs-vue-a-2017-comparison-c5c52d620176
https://clockwise.software/blog/angular-vs-react-vs-vue/
Other Opinions
https://hackernoon.com/angular-vs-react-the-deal-breaker-7d76c04496bc
https://jhipster.tech @java_hipster
Full Stack Development with JHipster
● Amazon: https://goo.gl/k1NBAv
● Packt: https://goo.gl/XvQLeN
○ Discount code: JHIPSTER50 for ebooks
○ Discount code: JHIPSTER15 for print books
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 

Was ist angesagt? (20)

End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
 
JHipster Code 2020 keynote
JHipster Code 2020 keynoteJHipster Code 2020 keynote
JHipster Code 2020 keynote
 
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
Javantura v4 - What’s NOT new in modular Java - Milen DyankovJavantura v4 - What’s NOT new in modular Java - Milen Dyankov
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
 
Jhipster
JhipsterJhipster
Jhipster
 
Building the Web with Gradle
Building the Web with GradleBuilding the Web with Gradle
Building the Web with Gradle
 
JHipster Beyond CRUD - JHipster Conf' 2019
JHipster Beyond CRUD - JHipster Conf' 2019JHipster Beyond CRUD - JHipster Conf' 2019
JHipster Beyond CRUD - JHipster Conf' 2019
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppt
 
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
 
In defense of GWT-RPC By Colin Alworth
In defense of GWT-RPC By Colin AlworthIn defense of GWT-RPC By Colin Alworth
In defense of GWT-RPC By Colin Alworth
 
Gradle.Enemy at the gates
Gradle.Enemy at the gatesGradle.Enemy at the gates
Gradle.Enemy at the gates
 
GraphQL-ify your APIs
GraphQL-ify your APIsGraphQL-ify your APIs
GraphQL-ify your APIs
 
Microservices, the lean way
Microservices, the lean wayMicroservices, the lean way
Microservices, the lean way
 
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
 
Micro Frontends
Micro FrontendsMicro Frontends
Micro Frontends
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
PouchDB - The Database That Syncs
PouchDB - The Database That SyncsPouchDB - The Database That Syncs
PouchDB - The Database That Syncs
 
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web Framework
 
Microservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuffMicroservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuff
 
GraphQL-ify your APIs - Devoxx UK 2021
 GraphQL-ify your APIs - Devoxx UK 2021 GraphQL-ify your APIs - Devoxx UK 2021
GraphQL-ify your APIs - Devoxx UK 2021
 

Ähnlich wie Front-end for Java developers Devoxx France 2018

Ähnlich wie Front-end for Java developers Devoxx France 2018 (20)

Frontend War: Angular vs React vs Vue
Frontend War: Angular vs React vs VueFrontend War: Angular vs React vs Vue
Frontend War: Angular vs React vs Vue
 
Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018
 
Top 5 AngularJS Tool for Application Development
Top 5 AngularJS Tool for Application DevelopmentTop 5 AngularJS Tool for Application Development
Top 5 AngularJS Tool for Application Development
 
React vs angular what to choose for your app
React vs angular what to choose for your appReact vs angular what to choose for your app
React vs angular what to choose for your app
 
Angular VS React The Battle of Best Front End Frameworks.pdf
Angular VS React The Battle of Best Front End Frameworks.pdfAngular VS React The Battle of Best Front End Frameworks.pdf
Angular VS React The Battle of Best Front End Frameworks.pdf
 
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
 
Angular vs React 2019 [UPDATED] - tecHindustan
Angular vs React 2019 [UPDATED] - tecHindustanAngular vs React 2019 [UPDATED] - tecHindustan
Angular vs React 2019 [UPDATED] - tecHindustan
 
Top 10 java script frameworks for 2020
Top 10 java script frameworks for 2020Top 10 java script frameworks for 2020
Top 10 java script frameworks for 2020
 
Angular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptxAngular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptx
 
Hiring Angular Developers: Key Skills to Consider.pdf
Hiring Angular Developers: Key Skills to Consider.pdfHiring Angular Developers: Key Skills to Consider.pdf
Hiring Angular Developers: Key Skills to Consider.pdf
 
Big Improvement_ New AngularJS Tools Changing How We Develop.pptx
Big Improvement_ New AngularJS Tools Changing How We Develop.pptxBig Improvement_ New AngularJS Tools Changing How We Develop.pptx
Big Improvement_ New AngularJS Tools Changing How We Develop.pptx
 
AngularJS Vs ReactJS_ What’s The Difference_.pdf
AngularJS Vs ReactJS_  What’s The Difference_.pdfAngularJS Vs ReactJS_  What’s The Difference_.pdf
AngularJS Vs ReactJS_ What’s The Difference_.pdf
 
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
 
Frameworks for Web Development
Frameworks for Web DevelopmentFrameworks for Web Development
Frameworks for Web Development
 
Angular vs react comparison in 2022 which is better and why
Angular vs react comparison in 2022 which is better and whyAngular vs react comparison in 2022 which is better and why
Angular vs react comparison in 2022 which is better and why
 
quantum_leap_angularjs_tools_redefining_development_in_2023.pdf
quantum_leap_angularjs_tools_redefining_development_in_2023.pdfquantum_leap_angularjs_tools_redefining_development_in_2023.pdf
quantum_leap_angularjs_tools_redefining_development_in_2023.pdf
 
Big Improvement_ New AngularJS Tools Changing How We Develop.pdf
Big Improvement_ New AngularJS Tools Changing How We Develop.pdfBig Improvement_ New AngularJS Tools Changing How We Develop.pdf
Big Improvement_ New AngularJS Tools Changing How We Develop.pdf
 
Technologies A MERN Stack Developer Should Learn in 2022.pptx
Technologies A MERN Stack Developer Should Learn in 2022.pptxTechnologies A MERN Stack Developer Should Learn in 2022.pptx
Technologies A MERN Stack Developer Should Learn in 2022.pptx
 
Spring Boot APIs and Angular PWAs: Get Hip with JHipster - PWX 2019
Spring Boot APIs and Angular PWAs: Get Hip with JHipster - PWX 2019Spring Boot APIs and Angular PWAs: Get Hip with JHipster - PWX 2019
Spring Boot APIs and Angular PWAs: Get Hip with JHipster - PWX 2019
 
React vs Angular - Unleashing the Ultimate Framework Showdown - AppsDevPro
React vs Angular - Unleashing the Ultimate Framework Showdown - AppsDevProReact vs Angular - Unleashing the Ultimate Framework Showdown - AppsDevPro
React vs Angular - Unleashing the Ultimate Framework Showdown - AppsDevPro
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Front-end for Java developers Devoxx France 2018