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 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, , 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)

"Change detected"

GameBoard- Service

© 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

"Change detected"

>

Central state store

© 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 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