node.js与meteor.js有什么区别?

所以我一直在听/读meteor.js。 这些教程使得它看起来非常具有运动性,但在networking编程方面,我还是一个新手。

我一直在努力在上个月和一半,真正学习node.js,并弄清楚它是如何组合在一起的。 我喜欢启动和运行的速度和容易程度,以及与之相伴随的社区(以Node的框架为例)。

但meteor呢? 它的真正优势是什么,有什么不同? 有没有人开始作为node.js用户和“转换”,还是更多的是一个好奇的新框架?

一个简单的比喻是,“meteor就像Ruby一样,Rails就是Node”。 这是一个使用服务器上的Node的大型,自以为是的框架。 Node本身只是一个低级框架,提供了发送和接收HTTP请求以及执行其他I / O的function。

meteor从根本上是雄心勃勃的:默认情况下,它所服务的每个页面实际上是一个与服务器保持同步的Handlebars模板。 尝试排行榜的例子 :你创build一个简单的说:“列出名称和分数”的模板,每当客户端更改名称或分数,页面更新与新的数据,不仅为该客户端,但每个人查看页。

另一个区别是:虽然节点本身是稳定和广泛的生产使用,meteor处于“预览”状态。 有一些严重的错误,某些不适合Meteor的以数据为中心的概念模型(比如animation)是很难做到的。

如果你喜欢玩新技术,给meteor旋转。 如果你想要一个更加传统,稳定的基于Node的web框架,请看Express 。

meteor是在node.js上build立的一个框架。 它使用node.js来部署,但有几个不同之处。

关键是它使用自己的包装系统,而不是节点的基于模块的系统。 使用Node创buildWeb应用程序变得很容易。 节点可以用于各种各样的事情,并在自己的服务dynamic网页内容是可怕的。 meteor的图书馆使这一切变得简单。

meteor的实力在于它的实时更新function,它适用于您现在看到的一些社交应用程序,您可以在其中看到每个人的最新dynamic。 这些更新的核心是在您的浏览器上(这会导致在您的模板上触发多个呈现事件)在本地小型Mongo(它们的客户端MongoDB子集)数据库更新下面复制MongoDB集合的子集。 后面关于多个渲染更新也是弱点。 如果你想要你的UI来控制UI的刷新时间(例如,加载HTML的经典jQuery AJAX页面,并且你控制了所有的AJAX调用和UI更新),那么你将会对抗这种机制。

Meteor使用一堆不错的Node.js插件(Handlebars.js,Spark.js,Bootstrap css等,但是使用它自己的打包机制而不是npm)在w / MongoDB下面,不需要存储层想一想。 但是有时候最终还是会与之对抗……比如,如果你想自定义Bootstrap主题,那么就会使Bootstrap的responsive.css文件的加载顺序混乱,所以它不再是响应式的(但是当Bootstrap 3.0即将发布)。

就像所有的“完整的框架”一样,只要你的应用符合预期,事情就会很好。 一旦超越了这个范围并推动了边界的边界,你最终可能会打架