2009-10-31 85 views
1

我们的团队是web应用程序开发的新手。我们一直在使用Java开发基于Windows/Linux的应用程序。该团队还拥有丰富的Perl经验。哪个Web框架最适合私有云Web应用程序?

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

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

由于团队具有丰富的OO应用程序开发经验,因此需要具有强大Web widget支持的OO框架。任何建议?

回答

0

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

1

在一天结束的时候,没有人实际上可以告诉你一个框架 比另一种更好,但我对你的忠告是:熟悉基本 ,然后拿上评论再看看你已经通过了。

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

但是,很可能您必须从头开始构建应用程序。 我相信,对于您来说,了解基本的 Web开发概念的最佳方式是,作为java开发人员,您将通过一个简单的基于Servlet/JSP的应用程序启动 。 您将不得不学习如何使用servlet容器,如 TomcatJetty,并且您将应付相对容易的学习曲线。 跳过旧教程中可能遇到的所有旧的JDBC/SQL技术,并且只是简单地尝试理解MVC(模型 - 视图 - 控制)概念 在构建UI时,您可能会遇到术语JSF,I建议去 也跳过它。这些日子的常见做法是在纯HTML/AJAX/javascript中构建UI 。

谈到了JavaScript, JQuery是各种框架中最流行的,但你可以考虑 Prototype,而不是因为它很好地与Ruby on Rails和CakePHP的 集成(会得到他们以后) 对于你的第一个应用程序,尝试构建一个简单的请求响应web应用程序 (同样,避免在此阶段使用数据库),以及一些AJAX。

一旦你完成(2-3天),你将准备好更好地决定自己 什么样的框架最适合你的需求。 从这个意义上讲,Java框架是恕我直言太臃肿和陈旧, 但如果你会得到不同的想法,然后Spring是一种在这一领域事实上的 的。除非您打算构建大型传统企业 应用程序,否则完全避免使用J2EE/EE5,因为它们被视为已弃用,至少在我的周围是 。 即使这是不可接受的解决方案,一个非常好的主意将是每天拿 来学习谷歌AppEngine for Java,它基于Eclipse插件 和基于Jetty,并在该级别,学习它应该是毫不费力。 这是一个servlet conatiner,有一些附加价值。 您将了解ORM的概念(实际上,您将在任何其他现代Web框架上使用数据库工作的方式) 。 作为奖励,您还可以跳上云计算的潮流。

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

但是,如果说再见熟悉的Java世界是你想要的, 有些人会坚持认为你应该决定权提前跳到 PHP或者Python框架当前使用的网络巨头, Facebook,WordPress(PHP),Google和FriendFeed(Python)都是其中的一部分。尽管许多框架很快采用了它的核心概念和想法,但它的荣耀日子已经结束, Ruby on Rails也可以成为一种选择(Twitter)。 对于PHP,我推荐CakePHP(Mozilla附加组件网站),它将是一个简单的从Java堆栈 转换。 Zend是沉重的家伙,不是你的解决方案,如果你在很短的时间, 笨/交响乐也许是你的requierments, 太轻,但值得检讨。

对于Python,可以考虑从Facebook 新的顶级框架(通过FriendFeed的开发),发展易学命名Tornado很好的框架 的家。它回答了一些问题,没有其他的框架, 可能碰巧正是你所需要的。您可以在 的homepage上5分钟内得到它。 Turbo-Gearweb.py也很好 建立的设置。

希望我帮助,祝你好运。

1

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

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

无论框架是什么,最重要的是你如何设计Web应用程序。例如,您可能不希望在应用程序中运行任何Quartz/Cron任务,因为当您扩展时,所有这些作业都会繁殖。如果只做一次,那么多次完成相同的工作。

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

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