年后老大果斷采用了國外一款強大的全棧式框架Meteor;
因為國外,英語是硬傷,而其不可掌控因素過多,國內對此框架的應用略少。
不過,既然老大都下定決心用了;我們這些當下屬的只好硬着頭皮學習;
學習過程略微艱難,各種stackoverflow, github,甚至不惜找到相關博客上的人溝通交流。。。
Meteor使用的優缺點:
1、Meteor提供多接口,多種依賴選擇;
如果你熟悉backbone,那么你完全可以用backbone一些功能和Meteor結合;
如果你熟悉angular,Meteor也提供了ngMeteor等強大的支持包;
2、MVC分離;
Meteor一直依賴以handlebar為基礎擴展一系列東西,讓view擴展性更強,基本的業務邏輯可在頁面中呈現(如angular等其他框架也有實現);
可以
對於事件,Meteor基於jquery擴展出來一套事件操作:
Meteor.templateName.events({
‘eventtype selector’: function(ev, tmpl){
}
});
可以分離出那些元素操作那些事 做了神馬; 這里可以看做Control層
通過Meteor.methods({
add: function(){}
});
形式可以剝離出公用的方法
3、項目管理功能:
client: 放置前台的代碼;
public:放置圖片資源
server:放置后台代碼
4、強大的自動化功能:
Meteor可以把css合並為一個文件; css暫時沒有壓縮;
當打包部署上線的時候 (Meteor bundle)可以將client代碼壓縮
5、MongDB的封裝處理
6、由於iron-router package 只兼容IE9等標准瀏覽器;
如果想考慮到兼容性更高的話 可以使用backbone Router解決
mrt add backbone 加載包僅加載backbone中的router 和 history
但是server端的router backbone暫時實現不了
7、第三方接口問題:Meteor目前尚未很好的方法做這塊 正在研究中...
Meteor的缺點:
依賴包過多,假如在移動端跑不太現實.
如數據處理依賴:underscore;
如模版處理依賴: handlebar;
如事件處理:依賴jquery等等;
調試功能較弱;javascript語言的特性,導致邏輯不夠嚴謹的情況下會出現一些意想不到的錯誤;
網絡調試困難, 本地效果還不錯.但是到網絡上各種網絡因素,數據推送的形式,導致調試很困難.
學習成本高:英語,天生的導致團隊學習成本過高,不可控因素略多;
數據需要分成顆粒,發布,訂閱;盡可能的控制數據發布量;要不然會吃內存的.
這段時間使用不可否認,這是一款強大的框架,作為一款javascript全棧式各方面處理蠻到位;
還有一款流行的MEAN(MongoDB + Express + Angular + Node)框架據傳也很強大;
如有錯誤之處,請指出.
對Meteor感興趣的同學可以留言交流.
