SlideShare une entreprise Scribd logo
1  sur  44
© OPITZ CONSULTING 2017
© OPITZ CONSULTING 2017
Stephan Rauh
Dr. Marius Hofmeister
OPITZ CONSULTING Deutschland GmbH
Angular 5 vs. React
When to Choose Which?
© OPITZ CONSULTING 2017
Mission
Mit unserer Leidenschaft für neue Technologien
und unserem Anspruch an herausragende
Beratung sind wir bei unseren Kunden der Motor
der digitalen Transformation.
Wir entwickeln überraschend mehr
Möglichkeiten!» Seite 2
© OPITZ CONSULTING 2017 Seite 3
Setting the Stage
https://upload.wikimedia.org/wikipedia/commons/5/52/Summer_Solstice_Sunrise_over_Stonehenge_2005.jpg
Angular vs. React - When to Choose Which?
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 4
What People Say About Angular
update
hell
great
tooling
But it's
TypeScript!
opinionated
Angular is
slow
great
productivity
mediocre
productivity
complicated
dependency
injection is
broken
Angular is
fast
two-way
binding
considered
bad
dependency
hell
too
enterprisy
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 5
What People Say About React.js
fast
great
tooling
It's simple
JavaScript!
flexible
small
footprint great
productivity
mediocre
productivity
easy to
learn
I can use
any library I
want
integrates
everywhere
unidirectional
data flow
difficult to
set up
limited
editor
support
requires
TDD
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 6
Image source: https://pixabay.com/de/hier-entlang-verwirren-718660/,
https://angular.io/presskit, https://en.wikipedia.org/wiki/File:React-icon.svg
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 7
What's Going On?
 Different target audiences
 Web developers vs. enterprise developers
 Different use cases
 Interactive web pages
 Web shops
 Back-office processing
 Internet vs intranet
Image source: https://pixabay.com/de/online-speicher-gesch%C3%A4ft-kaufen-1905889/
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 8
History 101: AngularJS 1.x
 Combined ideas from Backbone, Knockout, Web Components spec
 Made MVVM popular in the browser
 Declarative programming style
 Got rid of DOM manipulations
 Added dependency injection to JavaScript
 Brought custom components
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 9
History 101: Migration to Angular 2+
 AngularJS had a couple of issues
 Painful migration to Angular 2+
 Many breaking changes of ng2
 In the beta versions!
 Frustrated developers left
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 10
Angular 5?
 Angular 2+ comes with strong improvements
 Angular 3 has been skipped because there's already version 3 of the router
 Angular 4 contains two minor breaking changes
 Angular 5 (23.10.) contains changes concerning performance and usability
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 11
History 101: React.js
 Features
 Virtual DOM
 Unidirectional data flow and transactional state (Redux)
 JSX
 Powerful toolchain
"React was transformational because it singlehandedly made MVC seem like
obsolete tech & unleashed unidirectional flow on the masses.“ – Eric Elliot
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 12
Contemporary History
 React has been re-written from Scratch (Fiber)
 Suitability for animation, layout, and gestures
 Main feature incremental rendering
 Less resources required
 Fully downward compatible
 New contender: Vue.js
 “less opinionated”
http://isfiberreadyyet.com/
© OPITZ CONSULTING 2017 Seite 13
2
Angular vs. React - When to Choose Which?
Image source: https://pixabay.com/de/%C3%A4pfel-kiwi-orangen-obst-vitamine-428075/
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 14
What About Your Needs?
React.js:
 "Just a library"
 Concentrates on the "V" of MVC
 Freedom concerning "M" and "C"
 React is all about components and
composition
 Ideal for complex user interactions
Angular:
 Full-blown framework
 Covers all of the MVVM paradigm
(or MVC, or MVW)
 Angular is all about structuring your
application
 Allows for large-scale business
applications
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 15
Framework vs. Library
React.js:
 Uses 3rd party libraries
 Can be combined straightforwardly
with libraries
 No two-way binding
 deliberate decision
Angular:
 Forms and validation
 Modules
 Shadow DOM / local CSS
 Built-in support for AJAX, HTTP,
and Observables
 Routing
 (Optional) two-way binding
© OPITZ CONSULTING 2017 Seite 16Angular vs. React - When to Choose Which?
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 17
Market Share
 No unbiased figures
available
 Educated guess
 React.js and Angular
dominate the
browser market
Image source: https://pixabay.com/de/sieger-siegertreppe-1013979/
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 18
License
React:
 Since version 16.0.0 (09/2017):
MIT License
 Before: Adapted from 3-Clause BSD,
 With patent grant voided if licensor
engages in any patent litigation with
Facebook or its subsidiaries.
Angular:
 MIT License
© OPITZ CONSULTING 2017
But it's TypeScript!
Image source: https://www.pexels.com/photo/adult-black-and-white-body-dark-271418/
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 20
TypeScript Myths
 Strong types reduce my productivity
 TDD detects more errors than strong types
 Finding type definitions for everything is painful
 Before long, everybody uses any or starts ignoring error messages
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 21
TypeScript Mythbusting
 Strong types reduce my productivity
 True. But only for small programs.
 Some teams report tremendous productivity boost
 TDD detects more errors than strong types
 Strong types allow you to omit trivial tests
 Finding type definitions for everything is painful
 True. But things have improved a lot.
 Before long, everybody uses any or starts ignoring error messages
 The Angular compiler has become very strict
 Enterprise teams have learned not to ignore error messages
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 22
Another TypeScript Myth
 React uses JavaScript.
 There's also TSX!
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 23
TypeScript Highlights
 Angular classes look clean and tidy
 Autocompletion
 Errors detected by compiler
 Optional null-safety
 Type inference
 Powerful refactorings
 Hides prototypes from you
 Easy-to-grasp semantics
TypeScript JavaScript (ES5)
class function
decorator function
private scope function
closure function
interface n/a
constructor function
method function
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 24
Core Concepts
React:
 Language: JSX or TSX
 HTML and code are deliberately put
in the same file
 Unconventional programming
paradigm
Angular:
 Language: TypeScript + HTML +
LESS (or CSS)
 HTML, CSS and code may or may
not be in the same file
 Supports both traditional and
reactive programming paradigms
 Complex lifecycle (doesn’t match
with jQuery)
© OPITZ CONSULTING 2017 Seite 25
Hot Technical Topics
 Virtual DOM vs. change detection
 Unidirectional data flow
 Components
 Local CSS (shadow DOM) (Angular)
 JSX vs. TypeScript
 Lifecycle (Angular)
 Dependency injection (Angular)
Angular vs. React - When to Choose Which?
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 26
Components
React:
 All about components
 Each component has
 Mutable state
 Immutable properties
Angular:
 All about structuring your application
 Behavior is implemented in
components
 State is managed in services
 Modules allow for lazy loading
 Plus clean architecture
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 27
Components
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 28
Components
<app-
root>
<board><history> <settings>
<field><piece>
<statistics>
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 29
Example Component - React
 (The TSX source code
doesn't compile, but it
shows the general
idea)
class ChessPiece extends React.Component {
public state : IPieceState;
defaultProps = { piece: "pawn", color: "black" };
constructor() {
this.state = {
pos: {
x: 5,
y: 6
}
};
}
public render() {
return (
<img src="{this.props.piece} {this.props.color}.png"/>
);
}
}
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 30
Example Component - React
 (The TSX source code
doesn't compile, but it
shows the general
idea)
class ChessPiece extends React.Component {
defaultProps = { piece: "pawn" };
constructor() {
this.state = { x:5, y:6 }
}
public render() {
return (
<img src="{this.props.piece}.png"/>
);
}
}
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 31
Example Component - Angular
@Component({
selector: 'app-chess-piece',
template: '<img src="{state.piece}.png"/>',
styleUrls: ['./chess-piece.component.css']
})
export class ChessPieceComponent
implements OnInit {
private state: IPieceState;
constructor(private engine: Engine) { }
ngOnInit() { }
}
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 32
Components – Data Flow (both React and Angular)
<app-
root>
<board><history> <settings>
<field><piece>
<statistics>
Legend:
"Pawn at E6
has moved"
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 33
Components – Data Flow (Angular only)
<app-
root>
<board><history> <settings>
<field><piece>
<statistics>
GameBoard-
Service
Legend:
"Change
detected"
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 34
Components – Redux (simplified picture)
Optional with Angular and React
<app-
root>
<board><history> <settings>
<field><piece>
<statistics
>
Central state
store
Legend:
"Change
detected"
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 35
Rendering
React:
 Virtual DOM
 Components initially are rendered
virtually, reified later and only when
necessary
 Separation between immutable
properties and mutable state
Angular:
 Efficient change detection strategy
 Each and every change is triggered
by a change of a component's state
 Shared state should be moved to
services
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 36
Local CSS (Shadow DOM)
 Angular encapsulates components in the shadow DOM
  CSS rules defined in a component only apply for this component
 There's also a global CSS file
 By default, React does not use the shadow DOM
 Here‘s a project for that: https://github.com/Wildhoney/ReactShadow
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 37
Dependency Injection (Angular Only)
 Central building block of Angular
 Allows both
 Decoupling and
 Exchanging services for testing purposes
 Example usecases
 Testing and mocking
 FakeHttpService instead of the standard http service
 Alternative renderer (i.e. targeting IOs natively)
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 38
Tests (Angular Only)
 Tests are first class citizens of Angular
 Angular has been built with automated tests in mind
 The Angular CLI automatically generates test stubs for each entity
 Note that the strict type checks of TypeScript make many tests superfluous
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 39
Going Native
 React Native
 NativeScript (Angular)
 Ionic (Angular)
Image source: https://pixabay.com/get/eb31b70f2af7063ed1584d05fb0938c9bd22ffd41cb1144595f9c770a7/sign-2460237_1280.png
© OPITZ CONSULTING 2017 Seite 40
When to Use Which?
Angular vs. React - When to Choose Which?
Image source: https://pixabay.com/de/richtung-weg-entscheidung-ziel-2320124/
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 41
When to Use React.js?
 Web applications with complex user interactions
 Multiple events triggering multiple view updates
 You're worried about application state
 Teams familiar with JavaScript and/or action based frameworks
 React can be added to existing apps
 Code size matters more than developer productivity
 Learning curve is reported to be high
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 42
When to Use Angular?
 Enterprise applications (large-scale)
 Easy for teams familiar with Java and component-based frameworks
 Angular is a framework to build your application with
 Unit and e2e tests are first class citizens of Angular applications
 You agree with the technical choices of the Angular team
 You're ready to spend some time learning
© OPITZ CONSULTING 2017 Seite 43Angular vs. React - When to Choose Which?
Any questions?
 It‘s your turn!
© OPITZ CONSULTING 2017
 überraschend mehr Möglichkeiten!
@OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM
Seite 44
Let‘s make the web a place to be!
Stephan Rauh
Leiter CC „moderne Clients und agile
Architekturen“
Stephan.Rauh@opitz-consulting.com
@beyondjava
http://www.beyondjava.net
Dr. Marius Hofmeister
Senior Consultant
marius.hofmeister@opitz-consulting.com
Angular vs. React - When to Choose Which?

Contenu connexe

Tendances

Tendances (20)

Its time to React.js
Its time to React.jsIts time to React.js
Its time to React.js
 
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
 
Vue.js
Vue.jsVue.js
Vue.js
 
React Native
React NativeReact Native
React Native
 
Angular
AngularAngular
Angular
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
WEB DEVELOPMENT USING REACT JS
 WEB DEVELOPMENT USING REACT JS WEB DEVELOPMENT USING REACT JS
WEB DEVELOPMENT USING REACT JS
 
Reactjs
Reactjs Reactjs
Reactjs
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Unit 1 - TypeScript & Introduction to Angular CLI.pptxUnit 1 - TypeScript & Introduction to Angular CLI.pptx
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
 
Acrhitecture deisign pattern_MVC_MVP_MVVM
Acrhitecture deisign pattern_MVC_MVP_MVVMAcrhitecture deisign pattern_MVC_MVP_MVVM
Acrhitecture deisign pattern_MVC_MVP_MVVM
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
 
difference between React and Next js
difference between React and Next jsdifference between React and Next js
difference between React and Next js
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Node js
Node jsNode js
Node js
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Node js (runtime environment + js library) platform
Node js (runtime environment + js library) platformNode js (runtime environment + js library) platform
Node js (runtime environment + js library) platform
 
Get Started with ReactJS 18 Development Services_ New Features and Updates.pptx
Get Started with ReactJS 18 Development Services_ New Features and Updates.pptxGet Started with ReactJS 18 Development Services_ New Features and Updates.pptx
Get Started with ReactJS 18 Development Services_ New Features and Updates.pptx
 

En vedette

En vedette (6)

Introduction to Angularjs
Introduction to AngularjsIntroduction to Angularjs
Introduction to Angularjs
 
Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]
 
Angular Extreme Performance
Angular  Extreme PerformanceAngular  Extreme Performance
Angular Extreme Performance
 
Building Universal Applications with Angular 2
Building Universal Applications with Angular 2Building Universal Applications with Angular 2
Building Universal Applications with Angular 2
 
Getting Started with Angular 2
Getting Started with Angular 2Getting Started with Angular 2
Getting Started with Angular 2
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 

Similaire à Angular vs. React

Similaire à Angular vs. React (20)

Evolution of API-driven architectures
Evolution of API-driven architecturesEvolution of API-driven architectures
Evolution of API-driven architectures
 
Evolution of API-driven Architectures
Evolution of API-driven ArchitecturesEvolution of API-driven Architectures
Evolution of API-driven Architectures
 
React VS Angular- Which is Best for You in 2023?
 React VS Angular- Which is Best for You in 2023? React VS Angular- Which is Best for You in 2023?
React VS Angular- Which is Best for You in 2023?
 
Angular vs React vs Vue – The Right Framework For You.pdf
Angular vs React vs Vue – The Right Framework For You.pdfAngular vs React vs Vue – The Right Framework For You.pdf
Angular vs React vs Vue – The Right Framework For You.pdf
 
Latest frontend development technology trends of 2018
Latest frontend development technology trends of 2018Latest frontend development technology trends of 2018
Latest frontend development technology trends of 2018
 
Is React The Best Thing Since Sliced Bread?
Is React The Best Thing Since Sliced Bread?Is React The Best Thing Since Sliced Bread?
Is React The Best Thing Since Sliced Bread?
 
React vs. angular a comprehensive guideline for choosing right front-end fr...
React vs. angular   a comprehensive guideline for choosing right front-end fr...React vs. angular   a comprehensive guideline for choosing right front-end fr...
React vs. angular a comprehensive guideline for choosing right front-end fr...
 
Advantages of React over Angular
Advantages of React over AngularAdvantages of React over Angular
Advantages of React over Angular
 
Angular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptxAngular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptx
 
Angular vs React 2019 [UPDATED] - tecHindustan
Angular vs React 2019 [UPDATED] - tecHindustanAngular vs React 2019 [UPDATED] - tecHindustan
Angular vs React 2019 [UPDATED] - tecHindustan
 
Next JS vs React.pptx
Next JS vs React.pptxNext JS vs React.pptx
Next JS vs React.pptx
 
Comparing AngularJS and ReactJS_ Finding the Best Framework for your Next Pro...
Comparing AngularJS and ReactJS_ Finding the Best Framework for your Next Pro...Comparing AngularJS and ReactJS_ Finding the Best Framework for your Next Pro...
Comparing AngularJS and ReactJS_ Finding the Best Framework for your Next Pro...
 
Reactjs vs angularjs vs vuejs a guide to select the best front end technolog...
Reactjs vs angularjs vs vuejs  a guide to select the best front end technolog...Reactjs vs angularjs vs vuejs  a guide to select the best front end technolog...
Reactjs vs angularjs vs vuejs a guide to select the best front end technolog...
 
Comparison Between React Vs Angular.pdf
Comparison Between React Vs Angular.pdfComparison Between React Vs Angular.pdf
Comparison Between React Vs Angular.pdf
 
React vs angular which front end framework should you choose and why
React vs angular which front end framework should you choose and whyReact vs angular which front end framework should you choose and why
React vs angular which front end framework should you choose and why
 
Javascript Framework: React JS VS Vue.js | Bosc Tech Labs
Javascript Framework: React JS VS Vue.js | Bosc Tech LabsJavascript Framework: React JS VS Vue.js | Bosc Tech Labs
Javascript Framework: React JS VS Vue.js | Bosc Tech Labs
 
Which technology has a better future_ AngularJS or ReactJS_.pdf
Which technology has a better future_ AngularJS or ReactJS_.pdfWhich technology has a better future_ AngularJS or ReactJS_.pdf
Which technology has a better future_ AngularJS or ReactJS_.pdf
 
Comparison Between React & Angular JS Frameworks
Comparison Between React & Angular JS FrameworksComparison Between React & Angular JS Frameworks
Comparison Between React & Angular JS Frameworks
 
React js, node js &amp; angular js which one is the best for web development
React js, node js &amp; angular js  which one is the best for web development React js, node js &amp; angular js  which one is the best for web development
React js, node js &amp; angular js which one is the best for web development
 
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web ApplicationReact Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
 

Plus de OPITZ CONSULTING Deutschland

Plus de OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

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?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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...
 
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
 
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
 
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
 

Angular vs. React

  • 1. © OPITZ CONSULTING 2017 © OPITZ CONSULTING 2017 Stephan Rauh Dr. Marius Hofmeister OPITZ CONSULTING Deutschland GmbH Angular 5 vs. React When to Choose Which?
  • 2. © OPITZ CONSULTING 2017 Mission Mit unserer Leidenschaft für neue Technologien und unserem Anspruch an herausragende Beratung sind wir bei unseren Kunden der Motor der digitalen Transformation. Wir entwickeln überraschend mehr Möglichkeiten!» Seite 2
  • 3. © OPITZ CONSULTING 2017 Seite 3 Setting the Stage https://upload.wikimedia.org/wikipedia/commons/5/52/Summer_Solstice_Sunrise_over_Stonehenge_2005.jpg Angular vs. React - When to Choose Which?
  • 4. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 4 What People Say About Angular update hell great tooling But it's TypeScript! opinionated Angular is slow great productivity mediocre productivity complicated dependency injection is broken Angular is fast two-way binding considered bad dependency hell too enterprisy
  • 5. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 5 What People Say About React.js fast great tooling It's simple JavaScript! flexible small footprint great productivity mediocre productivity easy to learn I can use any library I want integrates everywhere unidirectional data flow difficult to set up limited editor support requires TDD
  • 6. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 6 Image source: https://pixabay.com/de/hier-entlang-verwirren-718660/, https://angular.io/presskit, https://en.wikipedia.org/wiki/File:React-icon.svg
  • 7. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 7 What's Going On?  Different target audiences  Web developers vs. enterprise developers  Different use cases  Interactive web pages  Web shops  Back-office processing  Internet vs intranet Image source: https://pixabay.com/de/online-speicher-gesch%C3%A4ft-kaufen-1905889/
  • 8. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 8 History 101: AngularJS 1.x  Combined ideas from Backbone, Knockout, Web Components spec  Made MVVM popular in the browser  Declarative programming style  Got rid of DOM manipulations  Added dependency injection to JavaScript  Brought custom components
  • 9. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 9 History 101: Migration to Angular 2+  AngularJS had a couple of issues  Painful migration to Angular 2+  Many breaking changes of ng2  In the beta versions!  Frustrated developers left
  • 10. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 10 Angular 5?  Angular 2+ comes with strong improvements  Angular 3 has been skipped because there's already version 3 of the router  Angular 4 contains two minor breaking changes  Angular 5 (23.10.) contains changes concerning performance and usability
  • 11. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 11 History 101: React.js  Features  Virtual DOM  Unidirectional data flow and transactional state (Redux)  JSX  Powerful toolchain "React was transformational because it singlehandedly made MVC seem like obsolete tech & unleashed unidirectional flow on the masses.“ – Eric Elliot
  • 12. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 12 Contemporary History  React has been re-written from Scratch (Fiber)  Suitability for animation, layout, and gestures  Main feature incremental rendering  Less resources required  Fully downward compatible  New contender: Vue.js  “less opinionated” http://isfiberreadyyet.com/
  • 13. © OPITZ CONSULTING 2017 Seite 13 2 Angular vs. React - When to Choose Which? Image source: https://pixabay.com/de/%C3%A4pfel-kiwi-orangen-obst-vitamine-428075/
  • 14. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 14 What About Your Needs? React.js:  "Just a library"  Concentrates on the "V" of MVC  Freedom concerning "M" and "C"  React is all about components and composition  Ideal for complex user interactions Angular:  Full-blown framework  Covers all of the MVVM paradigm (or MVC, or MVW)  Angular is all about structuring your application  Allows for large-scale business applications
  • 15. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 15 Framework vs. Library React.js:  Uses 3rd party libraries  Can be combined straightforwardly with libraries  No two-way binding  deliberate decision Angular:  Forms and validation  Modules  Shadow DOM / local CSS  Built-in support for AJAX, HTTP, and Observables  Routing  (Optional) two-way binding
  • 16. © OPITZ CONSULTING 2017 Seite 16Angular vs. React - When to Choose Which?
  • 17. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 17 Market Share  No unbiased figures available  Educated guess  React.js and Angular dominate the browser market Image source: https://pixabay.com/de/sieger-siegertreppe-1013979/
  • 18. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 18 License React:  Since version 16.0.0 (09/2017): MIT License  Before: Adapted from 3-Clause BSD,  With patent grant voided if licensor engages in any patent litigation with Facebook or its subsidiaries. Angular:  MIT License
  • 19. © OPITZ CONSULTING 2017 But it's TypeScript! Image source: https://www.pexels.com/photo/adult-black-and-white-body-dark-271418/
  • 20. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 20 TypeScript Myths  Strong types reduce my productivity  TDD detects more errors than strong types  Finding type definitions for everything is painful  Before long, everybody uses any or starts ignoring error messages
  • 21. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 21 TypeScript Mythbusting  Strong types reduce my productivity  True. But only for small programs.  Some teams report tremendous productivity boost  TDD detects more errors than strong types  Strong types allow you to omit trivial tests  Finding type definitions for everything is painful  True. But things have improved a lot.  Before long, everybody uses any or starts ignoring error messages  The Angular compiler has become very strict  Enterprise teams have learned not to ignore error messages
  • 22. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 22 Another TypeScript Myth  React uses JavaScript.  There's also TSX!
  • 23. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 23 TypeScript Highlights  Angular classes look clean and tidy  Autocompletion  Errors detected by compiler  Optional null-safety  Type inference  Powerful refactorings  Hides prototypes from you  Easy-to-grasp semantics TypeScript JavaScript (ES5) class function decorator function private scope function closure function interface n/a constructor function method function
  • 24. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 24 Core Concepts React:  Language: JSX or TSX  HTML and code are deliberately put in the same file  Unconventional programming paradigm Angular:  Language: TypeScript + HTML + LESS (or CSS)  HTML, CSS and code may or may not be in the same file  Supports both traditional and reactive programming paradigms  Complex lifecycle (doesn’t match with jQuery)
  • 25. © OPITZ CONSULTING 2017 Seite 25 Hot Technical Topics  Virtual DOM vs. change detection  Unidirectional data flow  Components  Local CSS (shadow DOM) (Angular)  JSX vs. TypeScript  Lifecycle (Angular)  Dependency injection (Angular) Angular vs. React - When to Choose Which?
  • 26. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 26 Components React:  All about components  Each component has  Mutable state  Immutable properties Angular:  All about structuring your application  Behavior is implemented in components  State is managed in services  Modules allow for lazy loading  Plus clean architecture
  • 27. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 27 Components
  • 28. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 28 Components <app- root> <board><history> <settings> <field><piece> <statistics>
  • 29. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 29 Example Component - React  (The TSX source code doesn't compile, but it shows the general idea) class ChessPiece extends React.Component { public state : IPieceState; defaultProps = { piece: "pawn", color: "black" }; constructor() { this.state = { pos: { x: 5, y: 6 } }; } public render() { return ( <img src="{this.props.piece} {this.props.color}.png"/> ); } }
  • 30. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 30 Example Component - React  (The TSX source code doesn't compile, but it shows the general idea) class ChessPiece extends React.Component { defaultProps = { piece: "pawn" }; constructor() { this.state = { x:5, y:6 } } public render() { return ( <img src="{this.props.piece}.png"/> ); } }
  • 31. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 31 Example Component - Angular @Component({ selector: 'app-chess-piece', template: '<img src="{state.piece}.png"/>', styleUrls: ['./chess-piece.component.css'] }) export class ChessPieceComponent implements OnInit { private state: IPieceState; constructor(private engine: Engine) { } ngOnInit() { } }
  • 32. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 32 Components – Data Flow (both React and Angular) <app- root> <board><history> <settings> <field><piece> <statistics> Legend: "Pawn at E6 has moved"
  • 33. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 33 Components – Data Flow (Angular only) <app- root> <board><history> <settings> <field><piece> <statistics> GameBoard- Service Legend: "Change detected"
  • 34. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 34 Components – Redux (simplified picture) Optional with Angular and React <app- root> <board><history> <settings> <field><piece> <statistics > Central state store Legend: "Change detected"
  • 35. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 35 Rendering React:  Virtual DOM  Components initially are rendered virtually, reified later and only when necessary  Separation between immutable properties and mutable state Angular:  Efficient change detection strategy  Each and every change is triggered by a change of a component's state  Shared state should be moved to services
  • 36. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 36 Local CSS (Shadow DOM)  Angular encapsulates components in the shadow DOM   CSS rules defined in a component only apply for this component  There's also a global CSS file  By default, React does not use the shadow DOM  Here‘s a project for that: https://github.com/Wildhoney/ReactShadow
  • 37. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 37 Dependency Injection (Angular Only)  Central building block of Angular  Allows both  Decoupling and  Exchanging services for testing purposes  Example usecases  Testing and mocking  FakeHttpService instead of the standard http service  Alternative renderer (i.e. targeting IOs natively)
  • 38. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 38 Tests (Angular Only)  Tests are first class citizens of Angular  Angular has been built with automated tests in mind  The Angular CLI automatically generates test stubs for each entity  Note that the strict type checks of TypeScript make many tests superfluous
  • 39. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 39 Going Native  React Native  NativeScript (Angular)  Ionic (Angular) Image source: https://pixabay.com/get/eb31b70f2af7063ed1584d05fb0938c9bd22ffd41cb1144595f9c770a7/sign-2460237_1280.png
  • 40. © OPITZ CONSULTING 2017 Seite 40 When to Use Which? Angular vs. React - When to Choose Which? Image source: https://pixabay.com/de/richtung-weg-entscheidung-ziel-2320124/
  • 41. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 41 When to Use React.js?  Web applications with complex user interactions  Multiple events triggering multiple view updates  You're worried about application state  Teams familiar with JavaScript and/or action based frameworks  React can be added to existing apps  Code size matters more than developer productivity  Learning curve is reported to be high
  • 42. © OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 42 When to Use Angular?  Enterprise applications (large-scale)  Easy for teams familiar with Java and component-based frameworks  Angular is a framework to build your application with  Unit and e2e tests are first class citizens of Angular applications  You agree with the technical choices of the Angular team  You're ready to spend some time learning
  • 43. © OPITZ CONSULTING 2017 Seite 43Angular vs. React - When to Choose Which? Any questions?  It‘s your turn!
  • 44. © OPITZ CONSULTING 2017  überraschend mehr Möglichkeiten! @OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM Seite 44 Let‘s make the web a place to be! Stephan Rauh Leiter CC „moderne Clients und agile Architekturen“ Stephan.Rauh@opitz-consulting.com @beyondjava http://www.beyondjava.net Dr. Marius Hofmeister Senior Consultant marius.hofmeister@opitz-consulting.com Angular vs. React - When to Choose Which?

Notes de l'éditeur

  1.  Stephan
  2. Stephan
  3.  Stephan
  4.  Stephan
  5.  Stephan
  6.  Stephan
  7.  Stephan
  8. Marius   Backbone.JS-Bibliothek mit REST-Schnittstelle, geringe Größe (MVC) Knockout.JS-Bibliothek (MVVM) Web Components waren neu -> Viele Browser unterstützen sie nicht -> Angular hat sie früh verwendet Shadow DOM: Bei älteren Browsern emuliert   AngularJS: MVVM -> Einsparung von Code Deklarativer Programmierstil:  ng-model  2-way data binding   Keine DOM-Manipulation mittels JQuery notwendig Vielleicht wichtigste Neuerung: Komponentenbasiertheit eingeführt!
  9. Marius Angular Team hat mit zahlreichen Ideen experimentiert Angular 2 von Grund auf neu geschrieben Innerhalb Alpha- und Beta-Phase von NG2: Viele Breaking Changes -> sogar mit Release Kandidaten! Seitdem Angular2 final released wurde, gab es weniger Breaking Changes  
  10. Marius Version 1 auf 2: Kein Upgrade, eher Rewrite Verbesserungen von Angular 2: In TS geschrieben, und TS empfohlen Vollständig komponentenbasiert (Keine Controller, Scopes) Komponente = Direktive mit Template Bessere Performance (Kernfunktionalität in Module gewandert) Explizite DI (Konstruktor) Mächtiges Tooling (Angular CLI-> Generierung von Komponenten, Tests, IDEs) Optional Verwendung von Redux: Ngrx/store Library für State Management Unidirektionaler Datenfluss (von React) Gut für Testbarkeit Version 2 auf 3: Angular Router hatte bereits Version 3   Version 3 auf 4: Router-Erweiterung Ausgliederung Animationen in eigenes Projekt NGIF wurde erweitert um ELSE Deklarativ dynamisch Komponenten zur Laufzeit erzeugen Upgrade auf neue Typescript-Version Neue View-Engine für kürzere Ladezeiten   Version 4 auf 5: März 2017 Angular 4 Angular 5 für Oktober 2017 angekündigt (23.10.) Bugfixes, Performance-Verbesserungen mit Fokus auf Compiler   Nutzung des Semantic Versioning für verständliche, planbare Releases Major: alle 6 Monate Minor: jeden Monat Patch: jede Woche
  11. Marius Virtueller DOM: Dom-Diffing: Nur benötigte Komponenten werden neu geladen Kein 2-Way-Binding inkludiert: Flux Architektur empfohlen Unidirektionaler Datenfluss: Vereinfachung Aufbau und Wechselwirkungen zwischen Komponenten (Callback-Funktionen) Vielleicht wichtigste Neuerung! JSX: JavaScript syntax extension: Integration von HTML in JS Toolchain (npm, webpack -> Module bundler, babel -> ES-Transpiler)
  12. Marius Version 16 Zweck: Flüssiges Darstellen von Animationen, Layout Fiber als neues “Fundament” -> Veränderungen betreffen nur Kernbereiche von React selbst (für Scheduling) Public API unverändert Inkrementelles (selteneres) Rendering -> weniger Ressourcen notwendig Verständlichere Stacktraces   Vue.js Weniger “rechthaberisch” Einfacher zu lernen als Angular MVVM  
  13. Marius Vergleich zwischen Angular und React ist Äpfel mit Birnen zu vergleichen Kaum zu vergleichen Aber, jedes Projekt muss sich entscheiden, daher tun wir das trotzdem Die Kiwis sind Vue.js 
  14. Marius React Wurde verkauft von Facebook als “V” von MVC Tatsächlich wurde MVC abgelöst durch Unidirektionalen Datenfluss und Flux Angular als Komponentenbasiertes MVC-Framework -> Jede Komponenten enthält individuelles MVC-Set Offizielle Aussage von Google: Template = View, Component= Controller, ViewModel
  15. --> Marius > Shadow DOM bietet Kapselung von DOM-Teilen und CSS in einer Web Component
  16. --> Marius React UND Angular sind lebendig und machen Spaß Werden von großen Unternehmen gehostet Werden von großen Teams weiterentwickelt Besitzen große, hilfsbereite Community Bugs werden schnell gefixed Große Toolprovider unterstützten React und Angular in IDE  
  17. --> Marius jQuery hat wesentlich größeren Marktanteil -> wenig Aktualität und greift auf anderes Konzept zurück Millionen anderer JS-Frameworks -> Vortrag ist keine Marktübersicht
  18. --> Marius BSD-Lizenz mit zusätzlicher Patentlizenz, welche den Widerruf der Lizenz bei Klagen oder bei Patentstreitigkeiten mit Facebook vorbehält
  19. --> Stephan
  20. --> Stephan some bloggers claim "TypeScript code shows always errors because of incompatibilities with existing JavaScript code" if that's true, it's normal to see red squiggly lines in your code you stop noticing the errors doesn't match my experience Typings / Definitely Typed etc. do a good job
  21. --> Stephan
  22. Stephan We show TSX code in a minute
  23. --> Stephan classes: use both prototypes and functions in JavaScript private scope: IIFE pattern (immediately invoked function expression)
  24. Marius JSX (JavaScript), JavaScript Syntax eXtension für Kompilierung nach JS (type checking etc.) TSX, Typescript Library für React-Code   LESS als Stylesheet-Sprache, um das Schreiben von CSS effizienter zu machen
  25. --> Marius
  26. Marius OFFEN: All about components Each component has mutable state immutable properties
  27. --> Stephan
  28. --> Stephan
  29. --> Stephan
  30. --> Stephan
  31. --> Stephan
  32. --> Stephan
  33. --> Stephan
  34. --> Stephan
  35. Marius Virtueller DOM Manipulation des realen DOM ist teuer, daher wird dieser simuliert -> Re-Rendering der Unterschiede
  36. Marius Shadow DOM als Teil der Web-Components (Nutzung von Google-Polyfills, wenn Browser nicht unterstützt) Lösung, um CSS-Urwald zu umgehen
  37. Marius FakeHttpService: seit Angular 5 geht es einfacher ( Interceptor). Trotzdem ein schönes Beispiel für DI.
  38. --> Marius
  39. --> Marius
  40. --> Stephan
  41. --> Stephan
  42. Stephan Angular is good for teams with Enterprise background it's hard for experience JavaScript teams