2017-02-12 92 views
3

我想创建一个web应用程序,它实际上是实时仪表板)。考虑维护项目的时间和复杂性,我正在寻求建议我应该为项目选择什么样的堆栈,以便长期维护它,维护API你会推荐Python或NodeJS来创建实时Web服务吗?

下面是我的一些要求:在仪表盘最近发生的事件

  • 实时更新。

  • 正确的服务API。

  • 专注于问题,而不是处理配置和调整。

问题:我感到困惑我的选择,很难采取决定,将帮助我在长期运行。

这里有一些事情我已经研究后想通了:

  • Python和拥有的NodeJS对WebSockets的框架(SocketIO,Greenlets,扭曲等)。但是,在JavaScript中对异步处理的支持更好。

  • 回调地狱可能会吸吮。事实上,你不能指望所有调用的函数的返回值都是异步的(有Promise)。但是,必须遵循体面的编程实践。

  • Python为您提供了对代码的更多控制,并且更易于维护。

  • 对于我来说Javascript已经出乎意料,在几次更新之后就破坏了事情。社区正在快速发展,但对于企业级应用程序来说这可能太快了。尽管如此,还有像PayPal这样的大企业的例子,Google对此表示赞赏。使用Javascript正在成为新的酷派,所以我更有可能为我的项目找到维护者,或者在未来找到更多的新兵。

  • 与Django/Flask相比,在使用Express的JavaScript中更容易创建API。

  • 节点项目通常有很多模块(正在看Github上的一些项目),比如BodyParser,Meteor,Webpack。我不认识他们,但感觉好像太多了。

  • 在Python中比较难以拉屎,社区更加成熟稳定。与之相反的是,Node对于简单的任务有很多模块,其中大部分是由不合标准的程序员创建的,因为它们更容易制作。 (没有冒犯你,你不是其中之一:P)

  • 有像Firebase这样的解决方案,但是我想避免使用它,因为长期来说这会严重依赖专有工具。欢迎提出建议。

我为什么问?

你在日常生活中可能比我更有经验。

PS:我在JavaScript和Python方面都有相当的经验(在Python中更高效)。但请不要将语言视为障碍。我想要一个解决方案,即使我的团队中有更多的成员,他们也应该对代码库感到满意。

编辑:堆栈交换不允许基于意见的问题。这不应该是一个。我打算从许多可用的人中选择一个特定的解决方案,得到一个合理的论点。在给予评论而非意见之前,您需要您在域名上的专业知识。请不要搁置这一点。

+3

他们都可以做this.Different程序员喜欢不同prgramming language.So你为什么不选择一个你最擅长什么? – McGrady

+0

谢谢@McGrady。 –

+0

把问题搁置之前请考虑。我不打算征求意见,但是事实,专业知识和参考是偏好一个堆栈而不是另一个。相反,你可以减少褒奖的答案,而不是整个问题。 –

回答

0

我认为这与其他任何事情一样是个人偏好。我个人的首选将定义为NodeJS。原因是:

  • 像Socket.io这样的框架非常棒,通过npm很容易实现。
  • 节点移动速度很快,但我从来没有遇到过打扰我的麻烦。
  • 就像你说的在JS中创建API更容易。
  • NPM太棒了! docs超级有帮助。

在一天结束时,这是你的电话。这就是说,我会随时随地与nodeJS一起去。

0

我会推荐看看rethinkdb

这对您的情况非常有用。选择更喜欢哪种语言。我建议选择Node.js - 您将有更多人为您的项目做出贡献。

Rethinkdb resources

相关问题