是否已经值得为Derby.js或Meteor提供一个用于生产认证的应用程序?

Ole*_*ann 10 javascript mongodb node.js derbyjs meteor

我开始阅读有关Derby.jsMeteor的文章,对我正在研究的项目进行一些研究.它使用了大量实时功能,因此它们看起来都很方便.但我有一些主要的担忧,我想知道在这个时候使用它们是否合理.

  1. 他们还准备好生产吗?还是存在重大安全问题?
  2. 他们现在支持会话和身份验证吗?
  3. 我是否正确的假设是,依靠可以完成大量工作的框架,您可以更轻松地处理简单的事情,但是如果它变得更复杂则会更加困难?
  4. 我是否正确的假设,当我使用Express + Socket.io(或express.io)并且我只需要投入更多时间/工作时,我可以实现完全相同的效果(从用户体验的角度来看)?

目前我更倾向于Express + Socket.io,并认为Derby和Meteor有点大肆宣传.你怎么看?

为了更好地了解我的计划:

  • 需要用户身份验证
  • 需要复杂的路由
  • SEO是一个问题
  • 使用Elasticsearch进行全文搜索
  • DB可能是MongoDB
  • 对象之间的复杂关系
  • 实时更新(Socket.io)
  • 安全是一个问题
  • 性能和可伸缩性是个问题.

谢谢!

Dav*_*don 20

我可以为流星回答你的问题:

  1. YES.我们中有许多人正在为创收公司生产流星.

  2. YES.自2012年10月以来,Meteor拥有一个账户系统.

  3. 系统为您做的越多,操纵底层机制就越困难.我发现流星达到了合理的平衡.

  4. 这个假设是正确的.您还可以实现自己的Web浏览器来可视化HTTP,但是我发现使用chrome更容易.

其他需求

  • 用户身份验证:是,请参阅上文.

  • 复杂路由:是的,请参阅iron-routerflow-router.

  • SEO:是(?),请看spiderablessr以及这篇文章.

  • Elasticsearch:是的,(独立于您的框架选择).Meteor没有ES后端,但您当然可以通过node.js模块或直接通过HTTP与ES数据存储区通信.

  • MongoDB:是的,这是流星的默认(也是官方)数据库.

  • 复杂关系:是的,(独立于您的框架选择).

  • 实时更新:是的,这就是流星的工作原理.

  • 安全是一个问题:是的,艾米丽史塔克让你满意!也看到这个帖子发现metetor博客.

  • 性能和可扩展性:使用oplog-tailing并使用kadira监控您的应用程序.


Vla*_*aev 15

有流星的答案,德比也应该有:

  1. 是的,从0.6版本Derby足够稳定,并且有一些网站在生产中使用它,例如:Lever.

  2. 是的,有一些auth模块,例如:使用护照的derby-login

  3. 是的,但更模块化的框架(由更换部件组成)并且遵循惯例(npm,Express等)越多,您的感觉就越少.

  4. 是的,不是.例如,如果你认真对待实时,最好有一些冲突解决机制(OT或CRDT或其他),并且实现一个并不简单.顺便说一句,Meteor没有,它使用LWW策略.

其他需求

  • 用户身份验证:是的,有一些模块.

  • 复杂路由:是的,同构的类似Express的路由器.

  • SEO:是的,内置同构(客户端和服务器)模板引擎.用于服务器上的第一个请求呈现的Html,用于在客户端上呈现的后续URL更改.

  • Elasticsearch:是的,当然.这不是框架问题.

  • MongoDB:是的,它有适配器,这是目前最好的选择.

  • 复杂关系:是的,不是框架问题.

  • 实时更新:是的,OT.

  • 安全是一个问题:是的.从服务器的角度来看,Derby就是Express.要保护所有这些实时通信,请使用一些访问控制模块,例如:share-access

  • 性能和可扩展性:是的,我没有测试,但理论上Derby在扩展时应该比Meteor更高性能.有一种确认.

那么Meteor,我在Derby之前使用它.它有很好的文档,教程,支持和营销.在五分钟内引导一个小应用程序是很好的.理解这样的概念是很好的:客户端上的db,同构代码,实时等等.但它非常单一且不灵活.实现实时的方式非常简单,但缺乏冲突解决方案并且存在性能问题.它不能以任何合理的方式用于离线.大多数德比开发者来自Meteor.

尝试两者并做出选择.祝好运!