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• 前端開發• 測試• 文件• 社群活動• 團隊合作
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 規範
11
需求• 主機需求• 部署方式– 壓縮 CSS, JavaScript– 自動變更檔名– 上傳 AWS
12
安裝及開發Installation and Development
13
安裝及開發• 環境安裝–Windows– OSX– Linux
15
學習曲線• 網路上學習資源是否多• 國內是否有神人推廣
17
核心功能• Routing• Middleware• Controller, View, Model• Template Engine• Authentication• Cache• Mail• i18N• ORM• Data Validation
19
ORM
• 務必 Dump Query 看 ORM 組出的 SQL 語法
• 不要太相信 ORM Performance
21
前端開發• Webpack, Coffeescript, Browserify,
Babel• React, Angular, Backbone• Sass, Less, PostCSS• BrowserSync
26
文件
• 是否淺顯易懂• 如何快速寫出 Hello World
27
社群活動Open Source Community
28
社群活動• 國內外推廣活動• Github commit history• Github Star 數量• 作者是否常常消失 ( 不處理 Issue)
29
團隊合作好的 Framework 讓前後端合作無間