SlideShare a Scribd company logo
如何選擇 Web Framework
Bo-Yi Wu
2016.01.22
1
About me
• Blog: https://blog.wu-boy.com/
• Github: https://github.com/appleboy
• 台灣 Laravel 推廣
• 台灣 CodeIgniter 推廣
2
選擇 Framework 原因
• 使用情境
• 軟體架構
• 主機部署
• 安裝及開發
• 學習曲線
• 核心功能
• 資料庫 ORM
• 前端開發
• 測試
• 文件
• 社群活動
• 團隊合作
3
4
使用情境
Usage Context
5
您不需要 Framework
• 只是為了讓 URL 更漂亮?
• 只是需要部分功能 (像是 ORM, Validation)
• 為了 Framework 而活 (被 Framework 洗
腦)
6
您需要 Framework
• 您需要的 CRUD 架構 (API)
• 您需要 UI Template 架構 (前端 UI, UX)
• 您需要 Authentication, Session, Cache,
Middleware, ORM, 第三方服務整合
• 您需要短時間打造一個 CMS 或 Blog 平台
7
軟體架構
Software Architecture
8
軟體架構
• 符合 MVC 結構
– Routing
– Middleware
– Controller
– Model
– View
• 制定 Coding Style 規範
9
主機部署
Hosting and Deploy
10
需求
• 主機需求
• 部署方式
– 壓縮 CSS, JavaScript
– 自動變更檔名
– 上傳 AWS
11
安裝及開發
Installation and Development
12
安裝及開發
• 環境安裝
– Windows
– OSX
– Linux
13
學習曲線
Learning Curve
14
學習曲線
• 網路上學習資源是否多
• 國內是否有神人推廣
15
核心功能
Core Library
16
核心功能
• Routing
• Middleware
• Controller, View, Model
• Template Engine
• Authentication
• Cache
• Mail
• i18N
• ORM
• Data Validation
17
資料庫 ORM
Database ORM
18
ORM
• 務必 Dump Query 看 ORM 組出的 SQL 語
法
• 不要太相信 ORM Performance
19
前端開發
Frontend Development
20
前端開發
• Webpack, Coffeescript, Browserify,
Babel
• React, Angular, Backbone
• Sass, Less, PostCSS
• BrowserSync
21
測試
Testing
22
測試
• 前端測試
• 後端測試
23
沒寫測試
別跟我說程式架構有多好
尤其是後端商業邏輯
24
文件
Documentation
25
文件
• 是否淺顯易懂
• 如何快速寫出 Hello World
26
社群活動
Open Source Community
27
社群活動
• 國內外推廣活動
• Github commit history
• Github Star 數量
• 作者是否常常消失 (不處理 Issue)
28
團隊合作
好的 Framework 讓前後端合作無間
29
Q & A
END
30

More Related Content

PDF
課程簡介
PDF
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
PPTX
Why to choose laravel framework
PDF
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
PDF
選一個框架當好朋友,讓您成為開心攻城獅
PPTX
LaravelConf Taiwan 2017 單頁面應用與前後端分離開發
PDF
[Modern Web Conf 2015] 給 PHP 開發者的 Composer 錦囊
PDF
開發環境建置
課程簡介
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
Why to choose laravel framework
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
選一個框架當好朋友,讓您成為開心攻城獅
LaravelConf Taiwan 2017 單頁面應用與前後端分離開發
[Modern Web Conf 2015] 給 PHP 開發者的 Composer 錦囊
開發環境建置

What's hot (20)

PDF
給你一個使用 Laravel 的理由
PDF
工作坊簡介
PDF
開發環境建置
PDF
成為全能 php 攻城獅
PDF
驗證與訊息
PDF
專案啟動與環境設定
PDF
wagon - 免安裝可攜的 Laravel 開發環境
PDF
使用者認證
PDF
專案啟動與設定
PDF
應用程式佈署
PDF
開發工具與環境建置
PDF
View 與 Blade 樣板引擎
PDF
COSCUP 2016 Laravel 部署工作坊 - 部署指南
PDF
工作坊簡介
PDF
使用 Controller
PDF
Package 安裝與使用
PDF
啟動 Laravel 與環境設定
PDF
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
PDF
Model 設定與 Seeding
PDF
工作坊總結
給你一個使用 Laravel 的理由
工作坊簡介
開發環境建置
成為全能 php 攻城獅
驗證與訊息
專案啟動與環境設定
wagon - 免安裝可攜的 Laravel 開發環境
使用者認證
專案啟動與設定
應用程式佈署
開發工具與環境建置
View 與 Blade 樣板引擎
COSCUP 2016 Laravel 部署工作坊 - 部署指南
工作坊簡介
使用 Controller
Package 安裝與使用
啟動 Laravel 與環境設定
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
Model 設定與 Seeding
工作坊總結
Ad

More from Bo-Yi Wu (20)

PDF
Drone CI/CD 自動化測試及部署
PDF
用 Go 語言打造多台機器 Scale 架構
PDF
Job Queue in Golang
PDF
Golang Project Layout and Practice
PDF
Introduction to GitHub Actions
PDF
Drone 1.0 Feature
PDF
Drone CI/CD Platform
PDF
GraphQL IN Golang
PPTX
Go 語言基礎簡介
PPTX
drone continuous Integration
PPTX
Gorush: A push notification server written in Go
PPTX
用 Drone 打造 輕量級容器持續交付平台
PPTX
用 Go 語言 打造微服務架構
PPTX
Introduction to Gitea with Drone
PDF
運用 Docker 整合 Laravel 提升團隊開發效率
PDF
用 Go 語言實戰 Push Notification 服務
PPTX
用 Go 語言打造 DevOps Bot
PPTX
A painless self-hosted Git service: Gitea
PPTX
Write microservice in golang
PPTX
用 Docker 改善團隊合作模式
Drone CI/CD 自動化測試及部署
用 Go 語言打造多台機器 Scale 架構
Job Queue in Golang
Golang Project Layout and Practice
Introduction to GitHub Actions
Drone 1.0 Feature
Drone CI/CD Platform
GraphQL IN Golang
Go 語言基礎簡介
drone continuous Integration
Gorush: A push notification server written in Go
用 Drone 打造 輕量級容器持續交付平台
用 Go 語言 打造微服務架構
Introduction to Gitea with Drone
運用 Docker 整合 Laravel 提升團隊開發效率
用 Go 語言實戰 Push Notification 服務
用 Go 語言打造 DevOps Bot
A painless self-hosted Git service: Gitea
Write microservice in golang
用 Docker 改善團隊合作模式
Ad

How to choose web framework