Python 与 Ruby on Rails:关于规模的比较

3
我计划开发一个小型的Web应用程序,它将作为单个可安装文件分发。我计划使用Python/Django或Ruby On Rails来开发这个应用程序(因为我是Java/C++程序员,所以这两种语言对我来说都是新的)。
我的主要关注点是最终可安装文件(比如setup.exe)的大小和简洁性。我希望它的大小小而且能够打包所有必需的组件。
Python/Django和Ruby On Rails哪一个适合我呢?

3
你为什么专注于将它作为单个可安装文件分发?正如MattMcKnight在下面所说的,这并不是Web应用程序的一个强项——因为你必须至少设置一个Web服务器才能运行它们,可以假设你的用户群体具有比普通人更多的安装经验... - genehack
7个回答

4

我个人更喜欢Python/django。如果你安装了必要的组件,它的体积很小。


3

随着当前价格的磁盘空间,大小不应该成为问题。尝试两种语言,找出哪种对你来说更容易学习和维护。尽管人们相信当你掌握一种语言时,你就掌握了所有语言,但这只有在你写“hello world”级别的代码时才是真的。


大小的问题实际上不是关于硬盘上的占用空间,而是可执行文件的大小,这可能会影响下载速度。 - Purrell
对于 Web 应用程序来说,服务器代码的大小并不重要。下载的只是 HTML 页面和 JavaScript。在这里,两个框架(可以)使用相同的 JS 库,因此它们的大小基本相同。 - Aaron Digulla

1

Ruby on Rails 的一个选项是使用 JRuby 部署,这将允许您将所有内容打包到单个 .war 文件中。这将要求部署 Web 应用程序的人拥有 Java Web 应用程序服务器(Jetty 可能是最小且最易于捆绑的)。

对于 Rails,通常需要安装 Ruby 和任何所需的 Ruby gem。Ruby 安装将是特定于机器的-不同于 Windows/Linux。其他所有内容都应该很容易地编写脚本。如果您选择 Apache Passenger(mod_ruby)解决方案,则还需要安装它。

实际上,我没有遇到过许多具有简单、紧凑安装的服务器应用程序。


这也是Django的一个选项。django-jython项目提供了一个管理命令,可以将整个项目压缩成WAR文件。 - Alex Gaynor

1

我刚刚使用heroku部署了一个用Rails编写的博客,这是一次非常愉快、轻松的经历。如果你对简单性感兴趣,那么这可能是我经历过的最简单的部署。


1

我认为你不能同时得到它们两个。很抱歉要说,但你必须选择哪一个对你更重要。

  • Django应用程序因为已经提供了许多东西而体积较小,但部署并不容易。
  • 另一方面,RoR应用程序的部署更容易(无论是Ruby MRI还是JRuby),但由于需要安装其他gem和Ruby On Rails插件,应用程序的大小自然会更大。

0

如果您熟悉Java并且担心部署Django和Rails应用程序,我建议您尝试使用JRuby。这将从Java的角度为您带来几个好处:

  1. 您可以从Ruby/Rails应用程序中调用Java类和组件
  2. 您可以使用熟悉的IDE,例如Netbeans
  3. 您可以将整个Rails应用程序打包并部署为单个WAR文件,其中包含所有依赖项

JRuby平台确实有一个真正的优势,即能够使用Java本地应用程序打包系统。而标准的Ruby和Python在这方面似乎并没有统一规范。 - tadman

0

有了Cheeseshop,任何Python应用程序都可以通过一个命令进行安装。我是Django的忠实粉丝,但它需要你连接到外部Web服务器,因为内置服务器仅用于开发。如果你想要一些可以轻松启动的东西,你可能会寻找具有更强大的内置Web服务器的东西。Twisted可能符合你的需求,尽管在这方面还需要更多的学习曲线。我不确定其他Python或Ruby应用程序在这方面表现如何。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接