How to choose web framework

30
如如如如 Web Framework Bo-Yi Wu 2016.01.22 1

Transcript of How to choose web framework

1

如何選擇 Web FrameworkBo-Yi Wu

2016.01.22

2

About me

• Blog: https://blog.wu-boy.com/• Github: https://github.com/appleboy• 台灣 Laravel 推廣• 台灣 CodeIgniter 推廣

3

選擇 Framework 原因• 使用情境• 軟體架構• 主機部署• 安裝及開發• 學習曲線• 核心功能

• 資料庫 ORM• 前端開發• 測試• 文件• 社群活動• 團隊合作

4

5

使用情境Usage Context

6

您不需要 Framework

• 只是為了讓 URL 更漂亮 ?• 只是需要部分功能 ( 像是 ORM,

Validation)• 為了 Framework 而活 ( 被 Framework

洗腦 )

7

您需要 Framework• 您需要的 CRUD 架構 (API)• 您需要 UI Template 架構 ( 前端 UI,

UX)• 您需要 Authentication, Session,

Cache, Middleware, ORM, 第三方服務整合

• 您需要短時間打造一個 CMS 或 Blog 平台

8

軟體架構Software Architecture

9

軟體架構• 符合 MVC 結構– Routing– Middleware– Controller– Model– View

• 制定 Coding Style 規範

10

主機部署Hosting and Deploy

11

需求• 主機需求• 部署方式– 壓縮 CSS, JavaScript– 自動變更檔名– 上傳 AWS

12

安裝及開發Installation and Development

13

安裝及開發• 環境安裝–Windows– OSX– Linux

14

學習曲線Learning Curve

15

學習曲線• 網路上學習資源是否多• 國內是否有神人推廣

16

核心功能Core Library

17

核心功能• Routing• Middleware• Controller, View, Model• Template Engine• Authentication• Cache• Mail• i18N• ORM• Data Validation

18

資料庫 ORMDatabase ORM

19

ORM

• 務必 Dump Query 看 ORM 組出的 SQL 語法

• 不要太相信 ORM Performance

20

前端開發Frontend Development

21

前端開發• Webpack, Coffeescript, Browserify,

Babel• React, Angular, Backbone• Sass, Less, PostCSS• BrowserSync

22

測試Testing

23

測試

• 前端測試• 後端測試

24

沒寫測試別跟我說程式架構有多好尤其是後端商業邏輯

25

文件Documentation

26

文件

• 是否淺顯易懂• 如何快速寫出 Hello World

27

社群活動Open Source Community

28

社群活動• 國內外推廣活動• Github commit history• Github Star 數量• 作者是否常常消失 ( 不處理 Issue)

29

團隊合作好的 Framework 讓前後端合作無間

30

Q & AEND