去年我一直在用Django开发一个Web服务器应用程序。堆栈是Django + Apache + MySql。这个堆栈非常适合我们的需求。最近需要一些实时功能,并有机会在服务器应用程序中更改/重写很多东西。令我惊讶的是,Django不是最好的选择。
我一直在阅读很多内容(推送,websockets,gunicorn ......很多东西.. http://curella.org/blog/django-push-using-server-sent-events-and-websocket/)但是我还没有管理,决定我是否选择Django或者我是否应该用一堆新的软件,更适合这项工作。与Django一起走似乎有点不自然。任何有经验的开发人员都能指出我正确的方向吗?
所以,基本的问题是:我有什么替代当前的软件堆栈来构建实时Web应用程序?
由于
PS:不是以英语为母语的人。 :)
编辑:替代方案需要允许安全连接。
编辑2:我们开发的Web应用程序是游戏。
答案 0 :(得分:2)
您需要权衡您的决定与目标。
然后在您最熟悉的语言框架中编写代码,只有 ,当您有产品并考虑切换工具时才有限制。
试用新的语言框架 - 但生产产品可能需要更长的时间,您可能会发现新工具并不比旧工具好。
尝试启动两个项目,并在每个项目中构建相同的东西,只需使用其他工具。这将花费更长的时间,但您应该能够非常快速地查看您喜欢/最适合您的任务的工具。
我不太确定django的意思是'不自然'。 Django可以进行服务器/客户端通信 - 只需使用一些AJAX与django服务器对话,然后调用另一个pythonic库来处理请求。 django的Python替代品包括精彩的flask和web.py,但除非您对它们进行编程(如django),否则它们都不会进行客户端/服务器通信。如果你没有进入python,你可以试试ruby on rails。对于客户端,您需要了解JavaScript的内容,所以去了解(coffescript和jQuery可以缓解JS的痛苦,但首先要学习JavaScript。)
当然你可以咬紧牙关,然后选择node.js作为服务器基础,显然它非常好(我还没试过) - 用JS编写。
编辑: 根据您的意见,请仔细查看
还注意到这个问题是潜在的duplicate。
答案 1 :(得分:2)
查看http://www.tornadoweb.org/ + http://www.mongodb.org/ + https://github.com/bitly/asyncmongo + http://socket.io/ 我认为使用它来创建实时应用程序是个好主意。
答案 2 :(得分:1)