Node vs python用于创建RESTful webservices

我为移动应用程序创建REST API后端。我有困难决定在Twisted matrix在python和Express Framework在Nodejs。

我经历了几个参考:

> Python REST framework recommendations
> Tech stack for Web+mobile apps
> Best language/framework for REST APIs

像每个其他的孩子在块上,我也有同样的要求:

>易于维护。
>可扩展到大流量。
>应该支持MongoDB / NoSQLs
>应该是安全的和easily authenticated
> Web服务的其他标准要求。

我明白事实:

>“它的解决方案,而不是技术。
>任何技术的良好解决方案都将获得成功。
>大多数技术堆栈都有一些大的成功案例。

仍然如果我不得不选择一个技术栈,另一个,应该是什么?一方面,Nodejs提供本机异步和非阻塞I / O功能。但是twistedmatrix有一些严重large success stories in its kitty.还有其他框架也可能在python和其他语言。欢迎其他建议。

我的具体问题是:我打算在Python中使用Twisted Matrix构建RESTful API。因为我以前的经验在python和django,和代码是非常整齐。有没有任何杀手的原因,我应该去与Node或其他技术堆栈?

请不要牵涉更多的讨论。

ps1:为了给出移动应用的一些想法,它进入基于地理位置的大规模消息。 REST API将必须处理空间计算。

ps2:我准备好迎接信心的飞跃。

考虑你在你的问题中所说的一切,你愿意采取信心的飞跃。我想我有答案:

>我自己是一个python-django开发人员,我不会喜欢python在第一个地方,因为你正在处理的问题。
>在将成为一个非常大的系统的一部分的地理应用程序中,在您最终实现应用程序的第一阶段的那一刻,您将有并发和优化问题。
>我认为你应该去考虑node.js,没有怀疑[可能需要时间来实现它,但将是最好的解决方案],这里是为什么:

>它固有地由于JavaScript的设计解决了你将面临的大多数性能问题。
>你不需要像nginx这样的代理服务器来服务它,它会再次节省你的开销。
>它工作真的很好与mongo db,再次充当一个伟大的缓存后端。
>您可以在node.js中使用10行Web服务器实现与nginx相当的性能。

简而言之,
Python通过设计同步工作,龙卷风和Twisted允许它与棘手的线程异步 – 为什么不选择一个技术本身带有解决你的目标的问题?

它的真实,我不会喜欢node.js前期为网站发展考虑到开发人员的生产力。但我会说,我们应该使用node.js,它真正解决了一个问题,即作为一个解决方案,然后一个技术(如你的问题中引用)。

它的一个问题,为什么使用一个nosqldb当你有一个伟大的关系数据库像postgres?你知道答案你可以 – 不做的东西,postgres,你可以做nosqldb像mongo,反之亦然。

所以,你的问题区域是本地的node.js所以似乎没有点试图重新发明与python的车轮。

注意事项:

>你将面临与node.js的初始摩擦,因为它是一种新技术给你。
> javascript可能更难以维护一个python开发人员。
>信念的飞跃是必须的,因为你的目标是长期目标,而不是短期的好处,节省时间在经过考验的技术。

举个例子 :

> Facebook使用PHP的所有网页,但它使用本质上并发的erlang的聊天。
>考虑erlang会更合乎逻辑,然后考虑python模拟。

http://stackoverflow.com/questions/12513236/node-vs-python-for-creating-restful-webservices

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Node vs python用于创建RESTful webservices