使用Meteor开发的一些感触
年后老大果断采用了国外一款强大的全栈式框架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感兴趣的同学可以留言交流.