題記:你有解決問題的能力,卻沒有解決問題的方法
前端是用戶體驗的基礎,是用戶最先體驗的服務。由於最近在開發購物分享網站食美特,經歷了很多前端的麻煩。學習和參考了很多前端解決方案,這篇文章先說說我對阿里巴巴系的前端解決方案的體會。
一、淘寶的前端解決方案:kissy 。淘寶的kissy(http://docs.kissyui.com/)是由阿里集團前端工程師們發起創建的一個開源 JS 類庫。它具備模塊化、高擴展性、組件齊全、適合國情等特性。定義了通用的js類庫,通用的約定,通用的html規范,通用的css規范,通用的js規划,以及基於bootstrap(http://twitter.github.com/bootstrap/)基礎樣式等等。
kissy的魅力在於定義了絕大多數電商常用的功能,又有一套比較規划的文檔,淘寶和天貓都在用,性能不在話下。kissy的負責人非常友好,基本上發郵件給他,都會回復。很敬佩他的職業精神。但是 kissy組件太沉重,而且對於新手,開發組件也比較難,不像jquery,有那么多組件可以使用。
二、支付寶的前端解決方案:Arale:Arale做了基於 SeaJS(http://seajs.org/docs/) 的前端解決方案Arale (http://aralejs.org/)以及子集alice(http://aliceui.org/)。SeaJS的魅力在於基於CMD規划的module laoder,小巧玲瓏。其2.0版本只有3K左右,可以開發基於 Hybrid 模式的 App 上。Seajs可以使用shim插件,直接使用jquery類庫及jquery的插件。
感興趣的同學,可以到kissy和Seajs主頁閱讀相關文檔。
通過總結這些解決方案,一個通用的前端解決方案有以下功能
- 通用的約定俗成
- 通用的html編碼規范
- 通用的css編碼規范
- 通用的js類庫
- 默認的css基礎樣式 和常見的基礎樣式。例如table form icon nav button 等等
- 前端構建工具。由於前端越來越復雜,一個強健的構建工具必不可少。
對於一個公司來說,采用基於seajs的模塊管理,整合jquery等常用的類庫,可以定義自己團隊的前端解決方案。
規范很重要,這是代碼管理的基礎,但是規划只是規划,需要開發團隊去遵守。團隊可以在總結kissy的規范http://docs.kissyui.com/docs/html/tutorials/style-guide/common-conventions.html 和 設計模式庫 http://docs.kissyui.com/1.3/dpl/ 以及alice http://aliceui.org/的基礎上,構建屬於自己的規范和通用組件。
前端的構建工具,推薦采用grunt (http://gruntjs.com/)具體使用,請google
好吧,其實,我也想搞個前端解決方案。可以使用在我的團隊上,也可以使用在我的網站上。