为一个有趣的项目推荐一些开源Web框架

时间:2009-07-25 02:40:40

标签: oop frameworks

我维持内部商业软件为生。这里包括的技术包括Java,Struts,Spring MVC,jsp,wicket以及其他一些技术。我认为现在是时候开始学习新东西了。

我希望自己展现一个侧面项目编写代码,其实很有趣(在宇宙中的一些平面),而且我也没有浪费这几年我的生活做一些事情,我可以从不爱或玩得开心。

我正在考虑拥有一个奇幻运动风格的网站 - 在功能和所有这些方面显然要小得多。我希望我能得到一些最新或最干净的框架的建议,这些框架将允许我完成这样一个项目。我的目标是遵循一个真正的开发过程,而不是每天只是将一大堆垃圾变成一个已经很糟糕的应用程序。此外,我将努力遵循最佳实践并创建良好,干净,易于理解的代码,我不会因为必须修改而不寒而栗。在工作中很难做到这一点,因为我所使用的软件已经由来自各大洲的50个人开发,他们在开始编码之前从未花时间设计任何东西。

我需要一个简单的数据库来存储每个事件的用户及其选择。同样在我的工作中,登录安全性完全由另一个组处理。人们通常是从头开始编写自己的登录系统,还是有开源实用程序?我对这些感兴趣,因为我的网站需要有一个用户登录系统,并且是安全的。

上次当我想出这个想法的动机时,我的计算机上安装了红宝石和导轨,但这种情况因硬盘崩溃而无法解决。我想我之前只是直接跳到了这个想法的轨道,我会从堆栈溢出中得到一些其他的意见,看看人们是否喜欢我不知道的其他东西。

另外,如果有人有任何关于如何考虑OO设计的好资源,我也可以了解一下。我正在寻找任何可以帮助我从一开始就考虑设计以及如何将我的想法变成图表的东西。我希望它不要过多地关注模式和其他原则,而不仅仅是如何开始并实际将我的想法放在我可以用来构建我的项目的专业文档中。我尝试在我写的纸牌游戏之前练习这个,并且它过于复杂太快了,结果最终没那么好。

2 个答案:

答案 0 :(得分:2)

我对Django更熟悉,虽然和你一样,我真正使用的唯一框架是Java / Struts / Spring / JSP等.Django中自动生成的管理界面来自于这些,它也有自己的身份验证系统。

除非你特别倾向于使用Python,否则我认为你应该试一试。

答案 1 :(得分:1)

Ruby on Rails,Django上的Python,PHP(不确定 - 可能是Zend?还是CakePHP?),如果我理解你想要学习一门新语言,可能是最受欢迎的框架。如果我误解了你,你宁愿坚持使用Java,那么GWT似乎很酷 - 这是避免“明确”编写Javascript的唯一真正方法(如果你想学习和使用一些Javascript,我个人爱上了Dojo,但jQuery实际上更受欢迎:那些是你应该考虑的两个很好的流行框架,当然还有其他的,比如我到目前为止提到的所有语言。)

选择Python和Django的一个优点是它们与Google App Engine一起工作得很好(并且还有Dojo,感谢酷dojango项目!) - GAE现在也支持JVM,但它是支持Python的时间更长,而且它的Python方面目前更加稳固和完整。因此,如果这是您选择的技术堆栈,您可以在高度可扩展的基础架构上免费开发和部署,至少在您的应用程序每月获得超过几百万的页面浏览量之前 - 您真正最大限度地减少了系统管理麻烦,你要做的就是编写和编写一个简单的配置文件。