jer*_*use 43 python rest web-services node.js
我正在为移动应用程序创建REST API后端.我很难在python中的Twisted矩阵和Nodejs中的Express Framework之间做出决定.
我经历了几个参考:
像街区的其他孩子一样,我也有同样的要求:
我理解事实:
如果我必须选择一个技术堆栈而不是另一个,它应该是什么?一方面,Nodejs提供本机异步和非阻塞I/O功能.但是,twistedmatrix 在它的小猫中有一些非常大的成功故事.在python和其他语言中也可以使用其他框架.其他建议也受到欢迎.
我的具体问题是:我计划在python中使用Twisted Matrix来构建RESTful API.因为我之前有python和django的经验,而且代码非常整洁.我是否应该使用Node或其他技术堆栈?
请不要涉及扩展讨论.
ps1:了解移动应用程序,将其转换为基于地理位置的大规模消息传递.REST API必须处理空间计算.
ps2:我准备好接受信仰的飞跃.
Yug*_*dle 39
考虑到你在问题中所说的一切,你愿意接受信仰的飞跃.我想我有答案:
我自己是一个python-django开发人员,python因为你正在处理的问题,我不会首先考虑.
在将成为非常大系统一部分的地理应用程序中,在最终实现应用程序的第一阶段时,您将遇到并发和优化问题.
我认为你应该node.js毫不怀疑[它可能需要时间来实现它,但将是最好的解决方案],这就是为什么:
nginx来提供服务,它将再次为您节省开销.它工作得非常好mongo db,再次作为一个很好的缓存后端.
您可以实现nginx与10 lineWeb服务器相当的性能node.js.
概括地说,
Python同步工作由设计,并且tornado和Twisted允许它去async棘手的线程-为什么不选择它本身自带的解决方案,那你的目标非常问题的技术?
node.js考虑到开发人员的工作效率,我不会更喜欢网站开发.但我会说我们应该使用node.js它真正解决问题的地方,即作为解决方案然后是技术(正如你在问题中引用的那样).
这是一个问题,为什么nosqldb当你有一个很棒的关系数据库时使用postgres?你知道你可以做的答案 - postgres你可以用nosqldbmongo 做的事情,而反之亦然.
所以,你的问题区域是原生的,node.js所以似乎没有必要尝试重新发明轮子python.
注意事项:
node.js因为它是一种新技术,你将面临初步的摩擦.javascript 最初可能更难为python开发人员维护.举个例子 :
php其所有网页,但它使用固有的并发erlang聊天.erlangpython仿真,考虑更合乎逻辑.ebo*_*man 20
您的问题很大程度上取决于非纯粹技术性的子问题,因为从纯粹的技术角度来看,您提出的两个解决方案之间不太可能存在任何真正的性能差异.您需要提出的问题大致如下:
1)我最熟悉哪种语言?
2)我更喜欢哪种语言写作?
3)如果我要让更多的人参与这个项目,他们将如何回答前两个问题?
4)哪种语言有更好/更全面的库来处理项目中出现的常见任务?
5)在大多数托管环境中更容易找到/更容易设置哪种语言/环境,我在早期阶段考虑为我的项目.
甚至不要问自己"如果我的项目成为下一个Facebook,哪个技术堆栈最好?".如果你有幸到达那一点,你将不会使用你开始使用的相同技术堆栈.不要试图过早优化.
| 归档时间: |
|
| 查看次数: |
22316 次 |
| 最近记录: |