我正在为我开始的一个爱好项目评估 Web 应用程序框架,并且开始疯狂地尝试在大量可供选择的框架中做出决定。框架语言并不能帮助我过滤掉框架,因为我在 Java、Python、Ruby 和 C# 方面的经验各不相同,并且不介意这些语言中的任何框架。
我正在寻求帮助,将选择范围缩小到几个,然后我可以更详细地调查。
我正在为我开始的一个爱好项目评估 Web 应用程序框架,并且开始疯狂地尝试在大量可供选择的框架中做出决定。框架语言并不能帮助我过滤掉框架,因为我在 Java、Python、Ruby 和 C# 方面的经验各不相同,并且不介意这些语言中的任何框架。
我正在寻求帮助,将选择范围缩小到几个,然后我可以更详细地调查。
您可能想退后一步,真正考虑一下您最喜欢使用哪种语言进行编码,无论您在每种语言中的专业水平如何。这肯定会缩小你的选择范围。我认为如果不先选择语言就很难选择框架。例如,如果您最终在 ASP.NET MVC 中完成您的项目,并且发现自己一开始就不太喜欢 C#/.NET,该怎么办。
还要问自己为什么需要一个框架,或者一个框架如何帮助你完成你的爱好项目。(除非爱好项目只是为了学习一个框架。)
我的建议只是选择一个。
我正在使用 Rails,对整体的简单性和性能感到非常满意——无论是代码还是作为程序员的我。
最近我开始研究 Smalltalk 网络框架Aida/Web。它有自己的优点和缺点,但开发速度更快(无需重新启动,可以编辑正在运行的代码),在 RAM 上比在 Rails 上要容易得多,并且在 95% 的时间里你不需要数据库,只需使用图像来持久化。
当然,通常的嫌疑人是 django 和 rails。从任何定义来看,它们都不是“小”。
我推荐webpy,它简单、小巧且不碍事。我认为 reddit 在它上面运行了一段时间,因为它是 Aaron Swartz 的智囊。
rails 是一个不错的选择 - 它对于简单的事情很简单,同时允许更复杂的事情成为可能(总是一个好兆头)。最初有一点学习曲线,但所有框架都是如此。
如果你更喜欢 Java,你也可以看看 Groovy + Grails,这是一个非常相似的框架,带有 Java 的倾向(groovy 有点像 java 和 ruby 的交叉,你可以混合和匹配 Java 和 Groovy 类同一个项目)。
很大程度上取决于您希望自己的爱好项目是什么。
我会说选择一个 Ruby 或 Python 的。
(我的大部分工作都是使用 java 完成的,但不认为这最适合业余爱好项目)
我在http://www.asp.net/mvc/做我的个人项目。我第一次这样做时,我只是通过对代码大惊小怪来打出一个工作站点。现在我正在重写它以尝试“更好地编码”并学习新的设计原则。
我也在工作中使用过codeigniter,虽然我喜欢它,但它是php,你没有提到它是一种语言选择。
如果这只是个人爱好,我建议使用 .Net MVC、Rails 或 Zend(可能有一些不错的 Java 框架,但我不熟悉它们)。
我猜,既然这是一个爱好项目,你不会想花很多时间在网上寻找有关如何使用框架做事的示例或寻找有关如何设置它的教程。您可能希望能够立即使用一堆很酷的功能,而不会破坏或处理一堆错误。话虽如此,我认为 .Net MVC 和/或 Rails 将让您以最少的头痛获得最大的乐趣。有了许多其他开源框架,您将不得不从一开始就跳过很多您不想处理的圈子,并且需要大量时间文档来完成初始设置问题很难找到。
爪哇:春天
Spring 是最流行的企业 Java 应用程序开发框架
试试AIDA/Web,一个 Smalltalk Web 框架,它以简单着称,更不用说 Smalltalk 的优雅了!
为了简单起见,不需要像 MySql 这样的附加数据库,因为 Smalltalk 图像本身就是一个功能强大的对象数据库。稍后当您的需求出现时,您可以决定采用关系型,甚至更好,保持纯 OO 并选择 Gemstone/S 对象数据库。
我猜想在LAMP 堆栈上运行的东西是最容易设置的。在这种情况下,我想CodeIgniter和Zend Framework会有一些不错的选择。然后是Symphony和CakePHP,但我听到了对后者的混合评论(关于停滞不前的社区和/或棘手的配置)。
不幸的是,我没有时间彻底测试这四个中的任何一个,因为我一直忙于编写自己的框架,我不会无耻地(或以其他方式)插入。
让我在这里提出一些真正超出该区域的建议:从裸机 C/C++ 甚至 Delphi 构建一个 ISAPI dll(或 Apache 等价物,如果这是您的偏好)。为什么?如果您有时间这样做,您将学到大量关于 Web 应用程序底层架构的知识,并且将为大家在这里推荐的所有框架打开一个全新的视角。
早在 2000 年,我就在 Delphi 做过这个,这是一次非常棒的学习经历。当然,这是基于您不需要快速构建任何东西并且该项目的主要目的是了解 Web 开发的概念。但是,如果这是您的目标,您将很难找到更好的方法。
ASP.NET / ASP.NET MVC
如果您正在使用 Java 并且迫切需要一些东西来让您摆脱 ohfock-it's-2am-and-I-am-still-coding-this-sql-shite,那么请看 Grails http://grails。组织.
它和 Ruby on Rails 一样,除了它:
我建议 PHP 作为许多小型爱好 Web 应用程序的良好启动框架: