Layout: Titelfolie Einsatz: Für den Titel einer Präsentation Inhalt: Haupttitel, Untertitel, Referent Tipps: /
Angular 5 vs. React When to Choose Which?
Stephan Rauh Dr. Marius Hofmeister OPITZ CONSULTING Deutschland GmbH
© OPITZ CONSULTING 2017 Hinweis MKTG: © OPITZ CONSULTING 2017 Die Jahreszahl muss hier und auf der Toplevel Masterfolie OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 ggf. pro Jahr angepasst werden!
Layout: Teiltrenner Einsatz: Für die Abtrennung von Kapiteln Inhalt: Überschrift des Teils/Kapitels Tipps: Optional sind hier Detail-Inhaltsangaben mögl.
Setting the Stage
https://upload.wikimedia.org/wikipedia/commons/5/52/Summer_Solstice_Sunrise_over_Stonehenge_2005.jpg
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 2
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016
Seite 2 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
too What People Say About Angular enterprisy great two-way tooling update binding hell considered opinionated bad complicated great Angular is But it's productivity slow TypeScript! dependency injection is broken mediocre Angular is dependency productivity fast hell
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 3
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
limited What People Say About React.js editor support great tooling fast unidirectional data flow flexible
small easy to footprint learn great It's simple productivity requires JavaScript! I can use TDD any library I want mediocre integrates difficult to productivity everywhere set up
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 4
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 5
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 6
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 7
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 8
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 9
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
History 101: React.js
Features Virtual DOM Unidirectional data flow 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 10
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Contemporary History http://isfiberreadyyet.com/ 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”
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 11
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Teiltrenner Einsatz: Für die Abtrennung von Kapiteln Inhalt: Überschrift des Teils/Kapitels Tipps: Optional sind hier Detail-Inhaltsangaben mögl. 2
Image source: https://pixabay.com/de/%C3%A4pfel-kiwi-orangen-obst-vitamine-428075/
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 12
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016
Seite 12 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
What About Your Needs? React.js: Angular:
"Just a library" Full-blown framework
Concentrates on the "V" of MVC Covers all of the MVVM paradigm (or MVC, or MVW) React is all about components and composition Angular is all about structuring your application Ideal for complex user interactions Allows for large-scale business applications
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 13
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Framework vs. Library Angular: React.js:
Forms and validation Uses 3rd party libraries
Modules Can be combined straightforwardly Shadow DOM / local CSS with libraries
Built-in support for AJAX, HTTP, No two-way binding and Observables deliberate decision
Routing
(Optional) two-way binding
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 14
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Teiltrenner Einsatz: Für die Abtrennung von Kapiteln Inhalt: Überschrift des Teils/Kapitels Tipps: Optional sind hier Detail-Inhaltsangaben mögl.
Image source: https://upload.wikimedia.org/wikipedia/en/0/02/Telehealth_-_Blood_Pressure_Monitor.jpg
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 15
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016
Seite 15 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 16
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
License React: Angular:
Since version 16.0.0 (09/2017): MIT License MIT License
Before: Adapted from 3-Clause BSD,
With patent grant voided if licensor engages in any patent litigation with Facebook or its subsidiaries.
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 17
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
But it's TypeScript!
Image source: https://www.pexels.com/photo/adult-black-and-white-body-dark-271418/ © OPITZ CONSULTING 2017
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 19
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 20
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Another TypeScript Myth
React uses JavaScript. There's also TSX!
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 21
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
TypeScript Highlights
Angular classes look clean and tidy TypeScript JavaScript (ES5)
Autocompletion class function decorator function Errors detected by compiler private scope function Optional null-safety closure function Type inference interface n/a Powerful refactorings constructor function
Hides prototypes from you method function Easy-to-grasp semantics
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 22
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Core Concepts React: Angular:
Language: JSX or TSX Language: TypeScript + HTML + LESS (or CSS) HTML and code are deliberately put in the same file HTML, CSS and code may or may not be in the same file Unconventional programming paradigm Supports both traditional and reactive programming paradigms Complex lifecycle (doesn’t match with jQuery)
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 23
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Teiltrenner Einsatz: Für die Abtrennung von Kapiteln Inhalt: Überschrift des Teils/Kapitels Tipps: Optional sind hier Detail-Inhaltsangaben mögl.
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)
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 24
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016
Seite 24 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Components React: Angular:
All about components All about structuring your application
Each component has Behavior is implemented in Mutable state components Immutable properties State is managed in services
Modules allow for lazy loading Plus clean architecture
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 25
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Components
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 26
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Components
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 27
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & Sourcecode & 1 Inhalt Einsatz: Speziell für Sourcecode Inhalt: Überschrift, Sourcecode, 1 Inhalt Tipps: Links ist Sourcecode in der gew. Schrift (Consolas) darstellbar, rechts 1 Inhalt
Example Component - React
class ChessPiece extends React.Component { (The source code public state : IPieceState; doesn't compile, but it defaultProps = { piece: "pawn", color: "black" }; shows the general
constructor() { idea) this.state = { pos: { x: 5, y: 6 } }; }
public render() { return ( ); } }
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 28
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & Sourcecode & 1 Inhalt Einsatz: Speziell für Sourcecode Inhalt: Überschrift, Sourcecode, 1 Inhalt Tipps: Links ist Sourcecode in der gew. Schrift (Consolas) darstellbar, rechts 1 Inhalt
Example Component - React
class ChessPiece extends React.Component { (The source code
defaultProps = { piece: "pawn" }; doesn't compile, but it shows the general constructor() { idea) this.state = { x:5, y:6 } }
public render() { return ( ); } }
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 29
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & Sourcecode & 1 Inhalt Einsatz: Speziell für Sourcecode Inhalt: Überschrift, Sourcecode, 1 Inhalt Tipps: Links ist Sourcecode in der gew. Schrift (Consolas) darstellbar, rechts 1 Inhalt
Example Component - Angular @Component({ selector: 'app-chess-piece', template: '', 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 30
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Components – Data Flow (both React and Angular)
Legend: "Pawn at E6 has moved"
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 31
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Components – Data Flow (Angular only)
GameBoard-
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 32
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich Components – Redux (simplified picture) Optional with Angular and React
Central state
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 33
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Rendering React: Angular:
Virtual DOM Efficient change detection strategy
Components initially are rendered Each and every change is triggered virtually, reified later and only when by a change of a component's state necessary Shared state should be moved to Separation between immutable services properties and mutable state
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 34
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 35
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Dependency Injection (Angular Only)
Central building block of Angular
Allows both Decoupling and Exchanging services for testing purposes
Example usecases FakeHttpService instead of the standard http service (since Angular 4 you can also use interceptors) Testing and mocking
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 36
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 37
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 1 Inhalt Einsatz: Standardfolie Inhalt: Überschrift, variabler Inhalt Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
Going Native
NativeScript (Angular)
Ionic (Angular)
Image source: https://pixabay.com/get/eb31b70f2af7063ed1584d05fb0938c9bd22ffd41cb1144595f9c770a7/sign-2460237_1280.png
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 38
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Teiltrenner Einsatz: Für die Abtrennung von Kapiteln Inhalt: Überschrift des Teils/Kapitels Tipps: Optional sind hier Detail-Inhaltsangaben mögl.
When to Use Which?
Image source: https://pixabay.com/de/richtung-weg-entscheidung-ziel-2320124/
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 39
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016
Seite 39 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
When to Use React.js?
Web applications with complex user interactions
Multiple events triggering multiple view updates
You're worried about application state
You love functional programming
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 40
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Titel & 2 Inhalte Einsatz: Standardfolie Inhalt: Überschrift, 2 variable Inhalte Tipps: Bitte Überschrift 1zeilig; div. Inhaltstypen sind möglich
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 Angular vs. React - When to Choose Which? Seite 41
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016 Layout: Q&A Einsatz: Für eine Fragen & Antworten Seite Inhalt: Eigentlich kein echter Inhalt Tipps: /
Any questions?
It‘s your turn!
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 42
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016
Seite 42 Layout: Kontakt 2fach Einsatz: Abspann mit Statement, 2Fotos, 2xKontaktinfos Inhalt: Logo, Claim, Kontaktinfos Tipps: /
überraschend mehr Möglichkeiten!
Let‘s make the web a place to be!
Stephan Rauh Dr. Marius Hofmeister
Leiter CC „moderne Clients und agile Senior Consultant Architekturen“ [email protected] [email protected]
@beyondjava http://www.beyondjava.net
WWW.OPITZ-CONSULTING.COM @OC_WIRE OPITZCONSULTING opitzconsulting
© OPITZ CONSULTING 2017 Angular vs. React - When to Choose Which? Seite 43
OC Powerpoint Design 2017 V 0.92 / LTA / TGA / 02.11.2016