Django,Ruby on Rails,Google App Engine等有什么区别?

Fra*_*ank 7 django google-app-engine web-applications ruby-on-rails

我有一个关于开发交互式动态网站的新手问题.有人可以简明扼要地解释:

  • Django的
  • Ruby on Rails
  • Google App Engine
  • CGI脚本/应用程序
  • 其他是什么或似乎相似(PHP?,Java Servlets?,TurboGears?等)

比起Django等,我更喜欢Google App Engine?如果我想开一家像亚马逊这样的书店,我会选择哪个网站?如果我想重新实现SO?那个新闻网站怎么样?

对不起,我把所有这些不同的技术和框架放在一起,但对于我来说,他们似乎都在做同样的事情......

duf*_*ymo 17

这是我对你(非常广泛)问题的尝试:

  1. Django - 一个Python框架,可以更轻松地开发基于Web的多客户端CRUD应用程序.
  2. Ruby on Rails - 一个Ruby框架,可以更轻松地开发基于Web的多客户端CRUD应用程序.
  3. Google App Engine - Google托管使用BigTable作为其存储机制的Python或Java应用程序.
  4. CGI脚本/应用程序 - 旧学校Web应用程序,其中CGI脚本针对Web服务器的每个请求启动.

Grails是一个类似Ruby的框架,可以更轻松地开发基于Web的多客户端CRUD应用程序.它基于Java,Groovy,Spring和Hibernate.

Java servlet是使用Java EE servlet/JSP引擎部署的HTTP侦听器类.这些引擎几乎总是内置了HTTP服务器,因此您可以选择是否在Apache或IIS等Web服务器上部署它们.他们是像Grails这样的框架的一部分,但除了servlet之外,还需要添加许多其他东西来创建动态的,数据驱动的Web应用程序.这就是为什么你不能在没有击中另一个Java Web框架(例如,Struts,Spring,Wicket,JSF等)的情况下摆动猫的原因 - 除了servlet之外,它还有很多东西.

这些都是相似的,因为它们是解决同一基本问题的不同尝试.您可以根据自己对基础语言的熟悉程度选择一个.

我不会将Google App Engine放在同一类别中.感觉更像谷歌的"云中主机"选项,而不是Rails或Django的替代品.您可以在Google App Engine上部署使用Django的Python应用程序,因此在这个意义上它不是替代方案.

  • +1.只会补充一点,如果您不熟悉任何语言,Python或Ruby(我喜欢Python)比java更具表现力和更简洁.Django(使用Python)和Ruby(使用Rails)的框架也比Java中的某些框架更复杂. (2认同)