如何選擇一個優秀的Web開發框架?
使用 Web 開發框架,可以幫助開發者提高 Web 開發工作的質量和效率,大大減少開發工作量。但是目前互聯網中充斥著各種各樣的 Web 開發框架,這些框架都可以為開發者的項目提供各種功能擴展,如何選擇成為了棘手的問題。
軟件工程師 Ricardo Zuasti 所在的公司目前正在評估未來幾年內將使用的 Web 開發框架,他認為這次評估是非常重要的。他還給出了上一次評估的結果,“通過評估,我們最終使用 Struts 2 驅動的 Java 應用程序服務器作為 MVC,Tiles 作為模板引擎,jQuery 作為 Javascript 特效,DWR 用于 AJAX 調用,MyBatis 作為 ORM”。
對于此次 Web 開發框架的選擇,Ricardo 給出了他們公司的選擇依據。此次他們只評估基于 Ruby、Python 和 Java 的框架,而且由于公司有很多 Java 平臺上的經驗和知識積累,所以基于 Java 的框架會多一些。Ricardo 指出,這并不表示基于 .NET、PHP 和其他技術的框架不行,相反,它們也非常棒,選擇這三種框架只是從公司業務上考慮。
Ricardo 從大量框架中篩選出了候選方案,篩選原則:
所有框架必須是免費使用的,并且最好是開源的。此外,使用這些框架進行開發時,無需使用專有 IDE、應用服務器或數據庫。
候選方案如下:
- Play Framework 2.0
- Ruby on Rails
- Django
- Google Web Toolkit
- Spring Roo
- Spring Framework
- Struts 2
- JBoss Seam
評估標準:
將根據以下標準對這些框架進行評估:
- 學習曲線
- 針對簡單任務的開發效率
- 針對復雜、特殊任務的開發效率
- 依賴管理
- 代碼性能/安全優化調整的能力
- 平臺升級/冗余能力
- 在企業市場中的認同度
- 開發、使用 SOAP 和 REST 服務的復雜性
在評估的每個環節中,會為每個框架標記上差、中、好的成績。根據上面的標準,Ricardo 會為每個框架執行下面的具體任務:
- 在開發工作站上安裝框架
- 使用免費的 IDE、應用服務器和數據庫來配置一個開發環境
- 開發“Hello World”或框架教程中描述的類似示例
- 修改示例,在自定義結構上執行特定的數據庫查詢,并顯示結果
- 添加一個依賴項到第三方庫中,并在我們的應用程序中使用它執行一個計算
- 開發一個“Hello world”REST 服務
- 執行我們的應用程序中的服務
Ricardo 稱,目前準備從 Play Framework 2.0 框架開始評估,將在后續文章中帶來評估結果。
需要注意的是,本文列出的這些評估項可作為個人開發者選擇框架時的參考,而企業開發者在實際的選擇中,還需要考慮到公司的主要開發環境、業務需要、協作等因素。筆者也會跟蹤 Ricardo 的評估過程,并在后面的文章中公布最終評估結果。
英文原文:Choosing a Web Development Framework: Options and Criteria