【问题标题】:node.js vs. meteor.js what's the difference? [closed]node.js 与meteor.js 有什么区别? [关闭]
【发布时间】:2012-07-12 18:26:44
【问题描述】:

所以我一直在听/读到很多关于meteor.js 的信息。这些教程使它作为一个框架看起来非常运动,但在 Web 编程方面我仍然是一个新手。

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

但是流星呢?它的真正优势是什么,有什么区别?有没有人从 node.js 用户开始并“转换”或者它仍然是一个奇怪的新框架?

【问题讨论】:

    标签: node.js meteor


    【解决方案1】:

    Meteor 是一个建立在 node.js 之上的框架。它使用 node.js 进行部署,但有几个不同之处。

    关键是它使用自己的打包系统而不是节点的基于模块的系统。它使使用 Node.js 制作 Web 应用程序变得容易。 Node 可以用于多种用途,并且它本身在提供动态 Web 内容方面非常糟糕。 Meteor 的库让这一切变得简单。

    【讨论】:

    【解决方案2】:

    一个松散的类比是,“Meteor 之于 Node 就像 Rails 之于 Ruby。”这是一个在服务器上使用 Node 的大型、固执己见的框架。 Node 本身只是一个底层框架,提供发送和接收 HTTP 请求以及执行其他 I/O 的功能。

    Meteor 雄心勃勃:默认情况下,它所服务的每个页面实际上都是一个与服务器保持同步的Handlebars 模板。试试Leaderboard example:您创建了一个模板,上面只写着“列出姓名和分数”,每次任何客户更改姓名或分数时,页面都会更新新数据——不仅针对该客户,还针对所有查看者页面。

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

    如果您喜欢玩新技术,不妨试试 Meteor。如果您想要一个基于 Node 的更传统、更稳定的 Web 框架,请查看Express

    【讨论】:

    • 自去年以来,Meteor 是否改进了它的“严重错误”?
    • @danorton 是的,我肯定会这么说。对于某些应用程序,Meteor 现在非常可行,而且开发起来绝对令人愉快。
    • 另外请注意,这个答案最终不会完全准确,因为 Meteor 正在积极开发中,并且已经获得了可观的财务贡献,从而加快了开发时间,有望使其脱离“预览”阶段。
    【解决方案3】:

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

    Meteor 使用了一个很好的 Node.js 插件堆栈(Handlebars.js、Spark.js、Bootstrap css 等,但使用它自己的打包机制而不是 npm)和 MongoDB 一起用于您不使用的存储层'不必考虑。但有时你最终也会与之抗争......例如,如果你想自定义 Bootstrap 主题,它会扰乱 Bootstrap 的 responsive.css 文件的加载顺序,因此它不再响应(但这可能会在 Bootstrap 时自行修复3.0 即将发布)。

    因此,就像所有“全栈框架”一样,只要您的应用符合预期,一切都会很好。一旦你超越了这个范围并突破了边界,你最终可能会与框架抗争......

    【讨论】:

    猜你喜欢
    • 2013-03-05
    • 2019-10-28
    • 2014-06-11
    • 2011-11-30
    • 2018-01-02
    • 2013-03-10
    • 2010-12-23
    • 2011-03-08
    • 2011-06-02
    相关资源
    最近更新 更多