6

我对 Python 非常满意。我对 Java “还行”,在 Android 方面有很好的经验(但我们都知道,Android 中的大部分内容在许多博客中都有很好的介绍,以至于学习曲线并不是那么陡峭。)因此,回到网络-应用程序。这就是我所期待的:-

  1. 很多要求。(可扩展性。)
  2. 并发。
  3. 反应灵敏。
  4. 良好的错误报告。
  5. 更陡峭的学习曲线。
  6. 与 PostgresDb 和 Redis 很好地结合。
  7. 提供一些方法来构建更清洁的 apis(Something django-piston.)
  8. 最后但同样重要的是,我有 2 个月的时间来完成它。(不是原型,而是最终版本。)

编辑:

Node.js 似乎非常适合构建快速原型,但它的问题太大而无法扩展。

PHP 是一门我从来没有觉得自己适合编写代码的语言。在我学会了 Android 编码之前,我对 JAVA 也不是很舒服。因此,偏爱 Scala。另外,我了解到 fb 聊天是基于 Erlang 构建的。而且我相信在 fb 中的许多错误中,少数正确的事情之一是他们的堆栈和特定语言/框架的偏好以完成其功能。

我是 Scala 的菜鸟,但我觉得编程语言并不难。我浏览了很多关于 Play vs Lift、Scala 中的 Web 开发、Scala 的优缺点以及许多此类内容的博客文章。我转向 Scala 的唯一原因是我对 Python 的并发性以及它的不可扩展性非常恼火。(我是 twisted 的忠实粉丝,并将它用于无数其他事情,但我只是不认为 Django /Rails 用于处理并发、稳定、响应式的 Web 应用程序。)

我的问题是,我错了吗?考虑到一切,跳到 Scala 是否值得?我真的希望得到一些好的答案,因为我不想花费很长时间来完成我的网络应用程序的骨架版本,然后意识到它是不可扩展的。另外,什么是首选堆栈?工业用什么?(我知道很多问题,但是从 Django/Rails 跳到其他任何东西都是一件可怕的事情。)

任何帮助,将不胜感激。

4

3 回答 3

13

我最近几天才开始学习游戏,我喜欢它。具有 Java 的所有优点(对我来说,这是与机器学习相关的)以及简单易用的 MVC 框架的所有可爱之处。

Play 对网络套接字有很好的支持,并且有一个可爱的聊天应用程序示例,您可以使用它来查看它是否符合您的要求。

https://github.com/playframework/Play20/tree/master/samples/scala/websocket-chat

于 2012-07-06T08:58:39.707 回答
3

从 sweemeng 中学习前面提到的 gevent 方法:去吧。它甚至可以使用 gunicorn 进行 Django 集成。这里有一些文章可以帮助您入门并获得想法:

好的介绍:

示例代码:

部署和库:

于 2012-07-06T07:46:51.267 回答
1

不确定 django 集成,但 gevent 能够使用 websocket,并且长轮询是 gevent 上众所周知的模式。您可以将其作为开发此类应用程序的起点。

你也可以使用龙卷风,但我不熟悉。

最重要的是,这是我朋友的一个项目,它将 django 与 tornado 及其 socket.io 插件集成在一起 https://github.com/felixleong/tornadio-with-django

于 2012-07-06T07:01:44.310 回答