javascript - Sails.js 与 Meteor - 两者的优势是什么?

标签 javascript node.js model-view-controller meteor sails.js

我已经阅读了很多关于 Nodejs 及其框架的内容,最近完成了我的第一个完整的 javascript 前端(使用 Angularjs)。

我决定我的下一个宠物项目将是使用以下两个框架之一的 Nodejs 冒险:

我已经阅读了这两种方法,但仍然不能完全理解它们的区别,以及为什么我应该选择使用其中一种。所以请戴上你最好的推销员帽子,挑选一个框架,然后卖给我。

我的宠物项目需要的一些功能是:

  • 实时比分
  • 类似 Reddit 的线程,实时
  • 类似维基百科的页面编辑
  • 用户/Angular 色

最佳答案

我不能代表 Meteor,但我可以帮助提供一点关于 Sails 的背景知识,因为它是我创建的。

tldr; Sails 并不是解决所有网络问题的 Elixir ——但我相信 Node.js 是。 Sails 的目标是为开发基于 node.js 的完整、可扩展、启动和企业友好型应用程序提供一个实用的框架。我开始 Balderdash带着问题“我们可以将 Node.js 用于所有事情吗?”。 sails 就是答案。


来 self 们的new docs :

Sails is, of course, a web framework. But take a step back. What does that mean? Sometimes, when we refer to the "web", we mean the "front-end web." We think of concepts like web standards, or HTML 5, or CSS 3; and frameworks like Backbone, or Angular, or jQuery. Sails is not "that kind" of a web framework. Sails works great with Angular and Backbone, but you would never use Sails instead of those libraries.

On the other hand, sometimes when we talk about "web frameworks", we mean the "back-end web." This evokes concepts like REST, or HTTP, or WebSockets; and is built on technologies like Java, or Ruby, or Node.js. A "back-end web" framework helps you do things like build APIs, interact with databases, serve HTML files, and handle hundreds of thousands of simultaneous users. Sails is "that kind" of web framework.

几年前,我 promise 在所有事情上都使用 Node.js-it was love at first sight .我在 Express 上构建了 Sails和 Socket.io因为它们曾经(现在仍然是)针对各自用例的最完善的 Node 模块。 Sails 中的请求处理代码与 Express 兼容,并具有隐式支持 Socket.io 的额外优势。

Sails 旨在与您在 Angular、Backbone、iOS/ObjC、Android/Java 中构建前端的任何策略兼容,甚至只是提供一个原始 API 以供其他网络使用服务或您的开发者社区。如果你最终改变了你的方法(例如从 Backbone 切换到 Angular)或完全构建一个新的前端(例如构建一个 Windows Phone 原生应用程序),你的 Sails 应用程序仍然可以工作。您可能已经知道,有些人将这种方法称为面向服务的架构或 SOA(Joe McCann 对此主题有很好的介绍。)

同样,Sails 还保留了其他熟悉的用于构建 Web 服务器的约定——标准 MVC 结构、创建干净 API 的能力,以及开放、可配置、可扩展甚至可交换的核心模块。这意味着 Sails 可以根据用户的需求进行定制,尽可能低级。

在 2013 年,该框架的受欢迎程度出现了巨大的增长,我们的咨询业务也在增长。其余的核心维护人员和我扩大了我们的关注点,使后端开发尽可能快速和直接。由于我们的核心团队和整个(不断扩大的)Sails 社区的努力,Sails 的相关方面,如钩子(Hook)(插件)、测试和文档在过去一年都取得了长足的进步。我们仍在研究许多路线图项目,但我相信 Sails 是目前在 Node 上进行稳定、可维护的 MVC 开发的最佳选择。我和团队的其他成员都致力于它的持续维护和功能开发,由于我们将它用于我们所有的客户项目,它不会去任何地方。

我坚定不移地致力于让 Sails 成为目前最好的 Web 框架,但绝不会以牺牲 Node.js 为代价。我和核心团队一直致力于增强 Node 生态系统,这意味着拥抱 NPM,利用现有的 Node 技术和最佳实践等。不仅因为它更有意义,而且因为我们是 Node.js 开发人员。我们所有努力的动机是让 Node 更易于访问,而不是取代它。因此,如果在某个奇怪的平行宇宙中,让我在将 Sails 转换为其他语言或完全放弃 Sails 但仍然能够使用 Node 之间做出浮士德式的选择,我会选择后者。


其他资源:

FAQ | Sails 101 | Original screencast | Contribution Guide | Stackoverflow

Google Group | Roadmap | IRC: #sailsjs on Freenode | Build Status

关于javascript - Sails.js 与 Meteor - 两者的优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22202286/

相关文章:

javascript - 在knockoutjs中向选择添加2路值

javascript - 问 Promise 解析/拒绝逻辑 - 为什么 Promise 不返回为被拒绝?

javascript - 我一直在尝试创建一个 react 应用程序,但我不断收到此错误 : "npm ERR! cb() never called!"

javascript - 如何使用 express 服务目录?

sql-server - VBScript/ASP 经典

javascript - Three.js 和 MVC

javascript - 如何知道是否在另一个页面上单击了按钮?

javascript - 在 watson assistant 上使用第三方 api

php - 理解依赖注入(inject)有问题

javascript - canvasrenderingcontext2d的drawImage()不显示img