首页 文章

node.js与meteor.js有什么区别? [关闭]

提问于
浏览
88

所以我一直在听/读很多关于meteor.js . 这些教程使它看起来非常具有运动性,但在网络编程方面,我仍然是一个新手 .

在过去的一个半月里,我一直在努力学习node.js并弄清楚它们是如何结合在一起的 . 我喜欢启动和运行的快速和简单,以及随之而来的社区(这可以通过Node获得的令人兴奋的框架数量来说明) .

但是流星怎么样?它的真正优点是什么,有什么区别?有没有人开始作为node.js用户和'转换'或者它还是一个好奇的新框架?

3 回答

  • 9

    一个简单的类比是,“Meteor是Node,因为Rails是Ruby . ”这是一个在服务器上使用Node的大型固定框架 . 节点本身只是一个低级框架,提供发送和接收HTTP请求以及执行其他I / O的功能 .

    Meteor非常雄心勃勃:默认情况下,它所服务的每个页面实际上都是一个与服务器保持同步的模板 . 试试Leaderboard example:您创建一个简单地说"List the names and scores,"的模板,每当任何客户更改名称或分数时,页面都会使用新数据进行更新 - 不仅适用于该客户端,还适用于查看该页面的所有人 .

    另一个区别是:虽然Node本身很稳定并且广泛用于 生产环境 ,但Meteor处于“预览”状态 . 存在严重的错误,并且某些不符合Meteor的以数据为中心的概念模型(例如动画)的事情很难做到 .

    如果你喜欢玩新技术,那就给Meteor一个旋转 . 如果您想要一个基于Node的更传统,更稳定的Web框架,请查看Express .

  • 159

    Meteor是一个构建在node.js之上的框架 . 它使用node.js进行部署,但有一些差异 .

    关键是它使用自己的包装系统而不是基于节点的模块的系统 . 它使用Node轻松创建Web应用程序 . Node可以用于各种各样的事情,并且在提供动态Web内容方面本身很糟糕 . Meteor的库使这一切变得简单 .

  • 12

    Meteor的优势在于它的实时更新功能,适用于您现在看到的一些社交应用程序,在这些应用程序中,您可以看到每个人对您正在处理的内容的更新 . 这些更新围绕着复制底层MongoDB集合的子集,作为Web浏览器上的本地mini-mongo(它们的客户端MongoDB子集)数据库更新(这会导致在模板上触发多个渲染事件) . 关于多个渲染更新的后一部分也是弱点 . 如果您希望UI在UI刷新时进行控制(例如,您加载HTML并控制所有AJAX调用和UI更新的经典jQuery AJAX页面),您将会对抗这种机制 .

    Meteor使用一堆很好的Node.js插件(Handlebars.js,Spark.js,Bootstrap css等,但使用它自己的打包机制而不是npm)沿着w / MongoDB下面的存储层,你不需要想一想 . 但有时候你最终还是要打它...例如,如果你想自定义Bootstrap主题,它会混淆Bootstrap的responsive.css文件的加载顺序,因此它不再响应(但这可能会在Bootstrap时自行修复) 3.0即将发布) .

    就像所有“完整堆栈框架”一样,只要您的应用程序符合预期,事情就会很好 . 一旦超出该范围并推动边缘边界,您可能最终会与框架作斗争......

相关问题