使用Web开发框架,可以帮助开发者提高Web开发工作的质量和效率,大大减少开发工作量。但是目前互联网中充斥着各种各样的Web开发框架,这些框架都可以为开发者的项目提供各种功能扩展,如何选择成为了棘手的问题。
软件工程师Ricardo Zuasti所在的公司目前正在评估未来几年内将使用的Web开发框架,他认为这次评估是非常重要的。他还给出了上一次评估的结果,“通过评估,我们最终使用Struts 2驱动的Java应用程序服务器作为MVC,Tiles作为模板引擎,jQuery作为Javascript特效,DWR用于AJAX调用,MyBatis作为ORM”。
对于此次Web开发框架的选择,Ricardo给出了他们公司的选择依据。
此次他们只评估基于Ruby、Python和Java的框架,而且由于公司有很多Java平台上的经验和知识积累,所以基于Java的框架会多一些。Ricardo指出,这并不表示基于.NET、PHP和其他技术的框架不行,相反,它们也非常棒,选择这三种框架只是从公司业务上考虑。
Ricardo从大量框架中筛选出了候选方案,筛选原则:
引用
所有框架必须是免费使用的,并且最好是开源的。此外,使用这些框架进行开发时,无需使用专有IDE、应用服务器或数据库。
候选方案如下:
- Play Framework 2.0
- Ruby on Rails
- Django
- Google Web Toolkit
- Spring Roo
- Spring Framework
- Struts 2
- JBoss Seam
评估标准:
将根据以下标准对这些框架进行评估:
- 学习曲线
- 针对简单任务的开发效率
- 针对复杂、特殊任务的开发效率
- 依赖管理
- 代码性能/安全优化调整的能力
- 平台升级/冗余能力
- 在企业市场中的认同度
- 开发、使用SOAP和REST服务的复杂性
在评估的每个环节中,会为每个框架标记上差、中、好的成绩。
根据上面的标准,Ricardo会为每个框架执行下面的具体任务:
- 在开发工作站上安装框架
- 使用免费的IDE、应用服务器和数据库来配置一个开发环境
- 开发“Hello World”或框架教程中描述的类似示例
- 修改示例,在自定义结构上执行特定的数据库查询,并显示结果
- 添加一个依赖项到第三方库中,并在我们的应用程序中使用它执行一个计算
- 开发一个“Hello world”REST服务
- 执行我们的应用程序中的服务
Ricardo称,
目前准备从Play Framework 2.0框架开始评估,将在后续文章中带来评估结果。
需要注意的是,本文列出的这些评估项可作为个人开发者选择框架时的参考,而企业开发者在实际的选择中,还需要考虑到公司的主要开发环境、业务需要、协作等因素。笔者也会跟踪Ricardo的评估过程,并在后面的文章中公布最终评估结果。
英文原文:
Choosing a Web Development Framework: Options and Criteria
感谢
wangguo 投递这篇资讯
已有 0 人发表留言,猛击->> 这里<<-参与讨论
ITeye推荐