What will we do today? ๐Ÿ—“โ€‹

  • Angular โ€‹๐Ÿ˜ฒ
  • A lot of code ๐Ÿ’ป
  • Vue โ€‹๐Ÿ˜
  • All examples implementedย ๐Ÿ˜‚
  • Ask questions ๐Ÿค”
  • React โ€‹๐Ÿ˜

What it a Angular? ๐Ÿ‘€

What it a Vue? ๐Ÿ‘€

What it a Vue? ๐Ÿ‘€

Boilerplates - @angular/cli ๐Ÿ› ๏ธ

Boilerplatesย - @angular/cli ๐Ÿ› ๏ธ

Boilerplatesย - @angular/cli ๐Ÿ› ๏ธ

Boilerplatesย - @vue/cli ๐Ÿ› ๏ธ

Boilerplatesย - @vue/cli ๐Ÿ› ๏ธ

How does component look like? ๐Ÿง

How does component look like? ๐Ÿง

Rendering ๐ŸŒ†

Change Detection

Rendering ๐ŸŒ†

Change Detection

Rendering ๐ŸŒ†

VirtualDOM aka VNodes

Rendering ๐ŸŒ†

VirtualDOM aka VNodes

Render function

JSX

Rendering ๐ŸŒ†

Render function

All Vue templates compiles into render function

Formsย 

Formsย 

Formsย 

Template Driven Forms Features

  • Easier to use
  • Suitable for simple scenarios
  • Uses Two-way data binding (using [(NgModel)] syntax)
  • Minimal component code
  • Automatic track of the form and its data(handled by Angular)
  • Unit testing is a challenge

Reactive Forms Features

  • Easier Unit testing
  • More flexible, so Handles any complex scenarios.
  • Reactive transformations can be made possible such as Adding elements dynamically
  • No data binding is done (Immutable data model preferred by most developers)
  • More component code and less HTML markup


Formsย 

Formsย 

Routingย 

Routingย 

Additional services

HttpClient for requests

???

Additional servicesย 

๐Ÿคทโ€โ™‚๏ธ

State management

Via one-way data binding

State management

Via 2-way data binding

State management

Redux way

State management

And will emit change

Where child will use props to get input data

State management

A child needs to do

State management

Testing

Testing

Vue Test Utils

What you have to know to start?

Required โ˜๏ธ

Angular:

  • Understanding core Angular concepts
  • Data binding
  • Basic angular routing concept
  • Basic rxJs
  • ...

languages:

  • ES6
  • TypeScript
  • ...

Additionally, but also requiredย  ๐Ÿคฏ

  • ngZone
  • Change detection
  • advanced rxJs
  • ngRx
  • Lazy road route
  • Ahead of Time compilation
  • ...

What you have to know to start?

Required โ˜๏ธ

Vue:

  • Understanding core Vue concepts
  • Data binding
  • ...

languages:

  • ES6 or ES5

Additionally, but also requiredย  ๐Ÿคฏ

  • Vuex
  • eventsย 
  • advanced rxJs
  • ngRx
  • Lazy road route
  • Ahead of Time compilation
  • ...

What you have to know to start?

Bonus +

Conclusion

A framework is just a tool

You should be framework agnostic

๐Ÿ˜Ž

Thanks

Angular vs Vue vs React

By Dmytro Golysh

Angular vs Vue vs React

For JSMP 2018

  • 612