
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 🌆


Rendering 🌆

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