哪个Web框架最适合私有云Web应用程序?

时间:2009-10-31 07:06:05

标签: web-applications frameworks cloud

我们的团队是Web应用程序开发的新手。我们一直在使用Java开发基于Windows / Linux的应用程序。该团队还拥有丰富的Perl经验。

新任务是开发内部私有云Web应用程序。看看所有的Web应用程序开发框架是相当混乱的:Ruby on Rail,Drupals,Zend Framework等。所有这些都是开源框架,并且声称它们都是快速Web应用程序开发的最佳选择。这些框架的优点和缺点是什么?

对于实时团队协作内容管理Web应用程序,哪个框架最好?

由于团队具有广泛的OO应用程序开发经验,因此需要具有强大的Web小部件支持的OO框架。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

在一天结束时,没有人能够真正告诉你一个框架 比另一个更好,但我对你的建议是熟悉基础知识 然后再看看你已经经历过的评论。

Drupal(以及Joomla和Wordpress)都是基于PHP的内容管理 应用。这些是完整的解决方案设置,而不是框架。 您可能会发现其中一个已经适合您的需求, 并且只需很少的编程就可以满足您的需求。 例如,这个应用程序厨房site是使用WordPress构建的,暗示着 只需通过代码调整即可完成。

尽管如此,您可能需要从头开始构建应用程序。 我相信这是您开始理解基本知识的最佳方式 在您的情况下,作为Java开发人员,Web开发概念将开始 使用简单的基于Servlet / JSP的应用程序。 您将不得不学习如何使用servlet容器 TomcatJetty,您将应对相对简单的学习曲线。 跳过旧教程中可能遇到的所有旧JDBC / SQL技术, 并简单地尝试理解MVC(模型 - 视图 - 控制)的概念 在构建UI时,我建议您使用术语JSF 跳过它也。这些天的常见做法是构建UI 在纯HTML / AJAX / javascript中。

谈到javascript, JQuery是各种框架中最受欢迎的,但您可以考虑 Prototype因为它与Ruby on Rails和CakePHP很好地集成 (稍后会找到他们) 对于您的第一个应用,请尝试构建一个简单的请求 - 响应Web应用 (再次,避免在这个阶段使用数据库),一路上有一些AJAX。

一旦完成(2-3天),您将准备好更好地自我决定 什么框架最适合您的需求。 从这个意义上说,Java框架是恕我直言,太过臃肿和陈旧, 但如果你得到一个不同的想法,那么Spring就是事实 在那个地区。除非你计划建立大规模的遗留企业 应用程序,完全避免使用J2EE / EE5,因为它们被认为已被弃用, 至少在我周围。 即使这是不可接受的解决方案,也是一个非常好的想法 一天学习Google AppEngine for Java,它基于Eclipse插件 并且基于Jetty,在那个级别,学习它应该是毫不费力的。 它是一个具有一些附加价值的servlet conatiner。 您将了解ORM概念(实际上就是您的工作方式) 与任何其他现代Web框架上的数据库)。 作为奖励,你也会加入云计算的潮流。

从现在开始,选择您的终极框架将变得更加容易。 此时,您可能更愿意使用Java进一步提高专业知识, 或者挂钩另一个成熟的网络堆栈。 如果您仍然坚持继续使用Java,请查看GWT(Google Web Kit 用于构建Google Wave)。因为它会强烈地提醒你过去的美好时光 熟悉的Swing组件和布局。 作为一种成本/有效的解决方案,我认为这是更好的选择 用于您的实时团队协作内容管理Web应用程序。

然而,如果告诉熟悉的Java世界是你想要的, 有些人会坚持要你决定直接前往 PHP或Web框架巨头目前使用的Python框架, Facebook,WordPress(PHP),Google和FriendFeed(Python)都是其中的一部分。 Ruby on Rails也可以是一个选项(Twitter),但它的辉煌岁月已经结束, 许多框架迅速采用了其核心概念和思想。 对于PHP,我推荐CakePHP(Mozilla附加组件网站),这将很容易 从Java堆栈转换。 Zend是一个沉重的家伙,如果你的时间很短,不是你的解决方案, codeigniter / symphony可能太轻了,不适合你的需求, 但值得一看。

对于Python,请考虑Facebook新的顶级框架 (由FriendFeed开发),一个易于学习的优秀框架 名为Tornado。它回答了其他框架没有的问题, 这可能恰好是你所需要的。你可以在5分钟内得到它 他们的homepageTurbo-Gearweb.py也很好 已建立的设置。

希望我能帮到你,祝你好运。

答案 1 :(得分:1)

这是一个相当陈旧的问题,但我认为我会分享我的想法,因为问题仍然相关,应该进一步讨论。

如今,当环境发生变化并且云已成为运行Web应用程序的标准环境时,这会影响如何使用框架。你列出的所有内容都不适合云“因为它们源于单一服务器时代。”

无论框架是什么,最重要的是如何设计Web应用程序。例如,您可能不希望在应用程序中运行任何Quartz / Cron任务,因为当您向上扩展时,所有这些作业也会成倍增加。当它应该只进行一次时,那导致多次做同样的工作。

在为云设计Web应用程序时,必须将云环境视为分布式系统,这意味着只有自主子系统才能真正响应需求。可扩展性是您应该进入云端的最重要的原因。如果你不需要,那就不用付钱了。

所以要回答关于哪个框架的问题,我要说首先你必须知道你想要实现的目标。如果您有将需求推向云端,则需要专注于设计,然后选择适合设计的框架。如果看起来你不需要任何重量级的东西,那么所有框架都应该完成这项工作。

答案 2 :(得分:0)

作为Python粉丝,我必须推荐一个Python Web框架:web2py。它易于使用,可与许多数据库和GAE配合使用。看看他们网站上的幻灯片。