flo*_*nau 13 python scala comet tornado lift
我正在寻找一个基于谷歌地图的网络应用程序.我最初的想法是,在第一阶段,重点应放在前端,后端应该易于编写和原型,并应尽可能地帮助前端的发展.
没有"经典"页面,只有meebo.com风格的界面.javascript + jquery.(意思是,如果没有静态页面,则很少).
我的眼睛已经抓住了彗星风格的服务器推送范例,我真的很有兴趣用这个做一些概念证明.
您是否有任何建议或优缺点或使用经验:
Python + Tornado vs Scala + Lift?
Web应用程序的其他方面还有哪些优点或缺点可供选择?
注意:这适用于最多2位开发人员,而不是大型分布式和变更团队.
谢谢
jon*_*esy 14
我认为Python和Tornado是一个伟大的团队,原因如下
这意味着它带有您使用它进行Web开发所需的一切.
这也意味着,如果您发现需要其他后端服务以帮助扩展您的应用程序,龙卷风很可能在该领域得到很好的利用.我实际上已经在Tornado中编写了比前端更多的后端服务(但是同事与它有着完全相反的体验 - 他更加面向前端并且发现它与使用它一样好).有点偏离主题,但我们也在龙卷风之外使用他们的模板模块取得了巨大的成功.代码非常模块化,并且几乎没有相互依赖性,因此重用其组件是轻而易举的.
你需要花一天的时间来弄明白.它的代码很干净,令人难以置信的评论很好,而且它还有不错的文档.我能够在大约一个星期内用Tornado 0.2(大约2009年)制作一个以前从未见过的制作服务.龙卷风源代码非常反魔法.
我不知道它是否是存在的绝对最快速的东西,但在我使用它的项目中,就并发用户数量和数据传输而言,它承担了一些非常重的负载(例如,高容量图像上传),它在稳定性方面是完全坚固的,并且b)足够快,我不必考虑水平缩放或获得更大的硬件.
我经常使用Python进行使用Tornado进行Web开发(以及其他一些事情,包括偶尔使用Django).但是,我也将它用于与Web服务本身完全无关的事情,例如sysadmin /自动化任务,报告和数据修改(例如,我在Python中编写hadoop作业),以及其他标准库模块(os, sys,shutil,itertools,collections等)使构建起来非常快.我几乎可以在任何环境中使用Python,无论输出是通过流,还是浏览器,胖GUI或控制台.
它周围还有一个非常聪明的社区,非常友好.我无法将它与scala社区进行比较,但与许多其他社区相比,Python很容易成为我最喜欢的,并且与我为什么如此依赖它而有很多关系.我是一个多语言,但如果我有一个问题,我最想向Python社区成员提出这个问题:)
Scala是一种基本上更清晰的语言,使您可以根据需要使用面向对象和功能范例.
Python有更多的语法糖,并且拥抱"只有一种方法可以做到这一点"的理念.
Scala通常与Eclipse/Idea等IDE一起使用 - 虽然也支持vim/emacs,并且使用SBT构建.如果您不习惯这些工具,可能需要一些努力才能在第一时间进行设置.
Python通常与更轻量级的编辑器一起使用.默认情况下,重新运行更新的Python脚本更容易.
Lift真正针对Web应用程序,实现类似桌面的响应和行为.如果您只是想创建一个主页,那么肯定还有其他框架,这些框架并不能让您像Lift一样学习.