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