用于Web应用程序的Java,PHP或Python?

Mar*_*jer 5 frameworks web-applications server-side

我将编写一个用于管理和标记照片的Web应用程序,我想就选择合适的平台/框架提出建议.

从用户的角度来看,应用程序将非常简单,但是,我需要在后端进行更复杂的操作:

  • 在单独/后台线程中重新调整和处理大量图像(不阻止服务器/ HTTP响应),可能会被另一个HTTP请求中断此线程
  • 访问Amazon S3存储,通过网络发送大文件(也在后台线程中)
  • 访问PostgreSQL并使用复杂且可能较慢的SQL查询

此外,我更喜欢一些轻量级解决方案(越轻越好),速度不是那么重要,但我受内存的限制 - 我将在Linux虚拟服务器上运行应用程序,只有512 MB RAM.

我对Java最熟悉,但我也可以用PHP和Python编写代码.

您建议我使用哪个平台/框架?

dot*_*hen 2

这三个都可以。然而,PHP 是专门为编写 Web 应用程序而设计的,因此与 Python 或 Java 相比,您会发现更多适合为 PHP 编写的用例的资源和教程。另外,请确保您运行的服务器支持您选择的技术,即用于 Java 的 servlet 容器或用于 PHP 的适当 Apache 模块。

请注意,PHP 不支持线程,并且所有在线“PHP 线程”教程都是糟糕的 hack。我通常使用 PHP 作为 UI 的后端,并使用 PHP 或 Python 从 cron 作业开始执行后台任务。获取 cron 作业的调度任务信息(无论是用 PHP 还是 Python 编写)的一个好解决方案是使用 php 将它们写入数据库:

mysql_query("INSERT INTO PhotosToProcess ('time', 'tmp_name', 'resolution') VALUES (NOW(), 'someName', '640')");
Run Code Online (Sandbox Code Playgroud)

尽管 Python 支持线程,但我不喜欢从用于输出 UI (HTML) 的进程中生成新线程。