introduce angular2 & render & firebase flow

44
Angular2 & firebase The next generation web app Caesar Chi

Upload: caesar-chi

Post on 13-Jan-2017

793 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Introduce Angular2 & render & firebase flow

Angular2 & firebaseThe next generation web app

Caesar Chi

Page 2: Introduce Angular2 & render & firebase flow

Caesar Chi戚務漢

Page 3: Introduce Angular2 & render & firebase flow
Page 4: Introduce Angular2 & render & firebase flow

Angular1.x -> Angular2

Page 5: Introduce Angular2 & render & firebase flow

Angular2 is 5x faster than Angular 1

- Misko

Page 6: Introduce Angular2 & render & firebase flow
Page 7: Introduce Angular2 & render & firebase flow
Page 8: Introduce Angular2 & render & firebase flow

Why not React ?

Page 9: Introduce Angular2 & render & firebase flow
Page 10: Introduce Angular2 & render & firebase flow

Because we are in

Page 11: Introduce Angular2 & render & firebase flow

技術取捨

● React 是一種類 library 方向

● 完整架構需要搭配 Flux 概念套件

● Store / Component / View 該如何配置問題

● 寫法及配置有許多不同用法

● Best practice ???

Page 12: Introduce Angular2 & render & firebase flow

技術取捨

● 需要讓團隊容易瞭解的架構

● 需要找到最佳方式解決

● 一個從 view / route / controller (類 MVC 概念)解決方案

● 有一定寫法準則讓團隊習慣

Page 13: Introduce Angular2 & render & firebase flow

無分優劣,需以團隊本質評估

Page 14: Introduce Angular2 & render & firebase flow

https://angular.io/

Page 15: Introduce Angular2 & render & firebase flow

Web Standards● Web Components

○ HTML Imports○ <template>○ Shadow DOM

● ES6+○ Imports○ Classes○ Observables○ More

● TypeScript (TS)

Page 17: Introduce Angular2 & render & firebase flow

Angular Cli

Page 18: Introduce Angular2 & render & firebase flow

Angular CLI● ng new project● ng generate● ng serve● Test, Lint, Format

https://github.com/angular/angular-cli

Page 19: Introduce Angular2 & render & firebase flow

Angular MobileOne developer, many platforms

Angular Mobile Tool Kit

Page 22: Introduce Angular2 & render & firebase flow

Angular Universal - rendering flowClient & Server side render

Page 23: Introduce Angular2 & render & firebase flow

Angular Universal - rendering flowClient & Server side render

Page 24: Introduce Angular2 & render & firebase flow

● Controller● Service● Route● Data● ...

Client rendering

Angular Universal - rendering flow

Page 25: Introduce Angular2 & render & firebase flow

● Controller● Service● Route● Data● ...

Server rendering

Angular Universal - rendering flow

Page 26: Introduce Angular2 & render & firebase flow

● Controller● Service● Data● ...

Server / Client rendering

● Route

DOM / VIEW

Angular Universal - rendering flow

Page 27: Introduce Angular2 & render & firebase flow

Angular Universal● Performance issue● Angular.js support backend render● SEO problem● Preview issue

Page 28: Introduce Angular2 & render & firebase flow

Angular Universal● Performance issue● Angular.js support backend render● SEO problem● Preview issue

Page 29: Introduce Angular2 & render & firebase flow

Angular Firebase 2

Page 30: Introduce Angular2 & render & firebase flow

What is Firebase

Page 32: Introduce Angular2 & render & firebase flow
Page 33: Introduce Angular2 & render & firebase flow

Firebase

● No backend server● Auto scale● PaaS (platform as a service) ● Real time data flow● JavaScript and Other language support

Page 34: Introduce Angular2 & render & firebase flow

● Controller● Service● Route● Data● ...

Client rendering

Page 35: Introduce Angular2 & render & firebase flow

● Controller● Service● Route● Data● ...

Client rendering

Page 37: Introduce Angular2 & render & firebase flow
Page 39: Introduce Angular2 & render & firebase flow

Firebase + Prerender.ioSEO

Page 40: Introduce Angular2 & render & firebase flow
Page 41: Introduce Angular2 & render & firebase flow

Firebase + Prerender.ioSEO Solution

Page 42: Introduce Angular2 & render & firebase flow

結論

● Angular.js2 目前還持續發展中

● Angular.js2 嘗試於解決『全面性問題』

● Universal App 是一個目標,但不會是『唯一解』

● Angular.js2 vs React 這根本無法比較,面向的問題點不同

● Firebase 這類的服務可以幫助開發者降低門檻

● Firebase Data watch 模式對於 http2 會有很大的幫助

● Firebase SEO 問題正在持續嘗試解決中

Page 44: Introduce Angular2 & render & firebase flow