阅读更多

11顶
7踩

编程语言
使用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
11
7
评论 共 25 条 请登录后发表评论
25 楼 勇敢的核桃 2012-05-18 09:01
选型很重要。。因为it民工跳槽率很高啊。。找个通用谁都会的框架最开发最好了
24 楼 Arden 2012-05-18 01:22
NodeJs
23 楼 rainsilence 2012-05-17 21:26
无聊的文章。不讲如何构建框架,却教别人怎么选框架。他无语了
22 楼 w156445045 2012-05-17 20:45
Spring越来越火爆了!
21 楼 ufopw 2012-05-17 18:31
spring mvc+mybatis+extjs 
20 楼 xiongsir 2012-05-17 17:45
   可怜的程序猿们 天天都在纠结这些东西, 一辈子没出息! 只能给人打工的料!
19 楼 srdrm 2012-05-17 16:20
缺少 gwt 家族
18 楼 wenshen22 2012-05-17 14:45
17 楼 if(i!=我){} 2012-05-17 13:38
zhaobin87 写道
asklxf 写道
如何选择一个优秀的Web开发框架?

第一步:远离Java

第二步:再回到问题讨论

right 现在在逃离java web

每当学习一门新语言时,书或者老师都会洗脑,说如今流行的开发方式如何如何不好,新语言如何如何好,但事实上,他们只是“看起来”有点“酷”,小打小闹行,大应用你还得回来。
16 楼 billgui 2012-05-17 13:06
选技术要讲前提,比方你做的是什么类型的应用,企业内网web应用还是互联网上的网站。

用户数量的差异,对实时性的要求等等,各方面的需求不同,选择的结果也不同。不能简单地说,那一种框架、技术就是最好的。

特定场景下,没有最好的,只有最合适的。
15 楼 netmail2012 2012-05-17 13:04
软件工程师Ricardo Zuasti 是谁啊,没听过啊
14 楼 rox 2012-05-17 12:40
yellen 写道
rox 写道
yellen 写道
http://vertx.io/

有意思

VMWare新开发的框架,InfoQ上有一篇介绍文章:vert.x——JVM上的Node.js替代者  http://www.infoq.com/cn/news/2012/05/vertx

谢谢,我也看到了。
13 楼 yellen 2012-05-17 10:52
rox 写道
yellen 写道
http://vertx.io/

有意思

VMWare新开发的框架,InfoQ上有一篇介绍文章:vert.x——JVM上的Node.js替代者  http://www.infoq.com/cn/news/2012/05/vertx
12 楼 zhaobin87 2012-05-17 10:46
asklxf 写道
如何选择一个优秀的Web开发框架?

第一步:远离Java

第二步:再回到问题讨论

right 现在在逃离java web
11 楼 jakieyoung 2012-05-17 10:13
rox 写道
andyhan 写道
Spring Roo ?

本来以为,选择方案是完全为了基于Java开发,所以,备选Roo而不是用Grails,看到Ruby on Rails,就纳闷了。

别忘了还有JRuby
10 楼 xiaoyuqi00 2012-05-17 10:01
hlylove 写道
MVC我还是选Spring MVC 3,tiles没用过

spring roo生成的就是tiles,但貌似很久没更新了
9 楼 webeasymail 2012-05-17 09:47
Grails 没有在上面,稍微有点惊讶
8 楼 asklxf 2012-05-17 09:39
如何选择一个优秀的Web开发框架?

第一步:远离Java

第二步:再回到问题讨论
7 楼 makemyownlife 2012-05-17 09:03
这个还挺有意思的  
6 楼 tiannet 2012-05-17 08:45
我们企业开发选择的是:Spring+MyBatis+Tiles+jQuery+ExtJS

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【Web后端架构】2022年10个最佳Web开发后端框架

    这些都是2022年在Java、Ruby、Python、JavaScript、PHP、Scala和Golang中进行web开发的最佳后端开发框架在本文中,我将与您分享创建web应用程序的10个最好的后端框架。Web开发通常分为两类:前端开发和后端开发。...

  • 5 个开源的 Rust Web 开发框架,你选择哪个?

    在它的主要优点中,它列出了一个像React和Elm那样的基于组件的框架,由于对多线程的支持和JavaScript的互操作性,它具有出色的性能。...对于一个web框架来说,它是相当小巧的,并且只提供基本的开箱即用的功能。...

  • 【Python Web】30个Python Web开发框架介绍

    收藏:30个Python Web开发框架介绍1. Bobo2. Bottle3. CherryPy4. Cyclone5. Flask6. Itty-Bitty7. Klein8. Morepath9. ObjectWeb10. Pecan11. Pyramid12. Tornado13. web.py14. Wheezy Web15. Falcon16. web2py17. ...

  • Go进阶:Go语言最热门的开源Web开发框架总结

    在Web开发方面,Go也有着自己的一些框架,本篇文章将详细总结一下Go语言的Web开发框架的特点以及各自的优缺点。以及按照其在github上的stars数依次往下排列,下面是其中几个常用的Go语言Web框架:

  • React 还是 Vue: 你应该选择哪一个Web前端框架?

    学还是要学的,用的多了,也就有更多的认识了,开发中遇到选择的时候也就简单起来了。 本文作者也做了总结:  如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue ... 如果你想要一个同时适用于Web端和原生Ap

  • 常用移动web开发框架

    纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile 、Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族,Sencha Touch来自于ExtJS。jQuery Mobile 和Sencha Touch...

  • 为什么开发Java Web都要用框架?

    为什么开发Java Web都要用框架?

  • 7个优秀的国内外移动端web框架

    它非常轻量、精美,只需要引入我们的CDN文件就可以使用,并且能兼容到 iOS 6.0+ 和 Android 4.0+,非常适合开发跨平台Web App。 轻量的UI库 SUI Mobile 非常轻量,核心库压缩Gzip后的JS、CSS网络...

  • 2021年选择 Web 前端开发框架的方式

    Web 前端开发是时下最热门的领域之一,为了提升开发效率和用户体验从而创造更具竞争力的产品,选择适合自己项目或团队的开发框架成为技术决策者首先需要解决的问题。 但是近年来随着技术和开发理念的发展和进步,...

  • 10个Web移动开发JavaScript框架

    这些轻量级框架使用HTML5和CSS3标准来帮助您快速开发跨平台的Web移动应用和网站。...jQuery Mobile不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。虽然jQuery M...

  • 2022 年十大 Python Web 开发框架

    由于其开源特性,Django 具有成本效益,但在其他有助于开发人员...是另一个出色的 Python Web 开发框架,也是 Python 开发人员的首选之一。是一个优秀的 Python Web 框架,旨在克服其他 Python 系列框架的所有不足。

  • CUBA - 一个卓越的 Java 快速开发框架

    一个企业级快速开发框架CUBA 架构介绍CUBA 框架的能力开箱即用的功能和界面可扩展性其他CUBA 界面预览CUBA Studio付费部分用 CUBA 的好处在哪里节省人力开发积极支持一直在进化中文资源关于作者欢迎使用Markdown编辑...

  • 中小型企业Web开发框架

    基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和...

  • Go语言优秀Web框架

    Buffalo: 一个Go语言下快速Web开发框架 * https://github.com/gobuffalo/buffalo * https://gobuffalo.io Echo: 一个高性能,极简的Web框架 * https://github.com/labstack/echo * https://echo.labstack

  • web前端开发常用的10个高端CSS UI开源框架

    web前端开发常用的10个高端CSS UI开源框架

  • 如何用Python 写一个Web 框架?

    这不是重造轮子么?有那么多优秀的Web框架用,为啥要自己写一个?写Web框架,并不一定是要去做开发,目的不同,过程也会因此大有差异。对于一个编程学习者来说,自己动手写一个...

  • React 还是 Vue: 你应该选择哪一个Web前端框架?NG就暂时NG了吧

    学还是要学的,用的多了,也就有更多的认识了,开发中遇到选择的时候也就简单起来了。 本文作者也做了总结:  如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue ... 如果你想要一个同时适用于Web端和

  • python后端框架有哪些_后端框架有哪些?五款优秀的web开源后端框架推荐

    作为一个web开发人员,下面五款优秀的开源框架一定要了解一下。PHP篇作为全球最好的web开发编程语言,PHP的框架非常多。下面重点介绍2款:Laravelhttps://laravel.comLaravel最大的优势就是:简洁和优雅。能迅速的让...

  • 前端人员必备的9款web前端开发框架

     那么今天我就给大家介绍几个在web界比较优秀的web前端框架。 一、Foundation框架  Foundation框架总体来看要比Bootstrap略显高大上一点,但他们俩的设计理念都是非常清楚的,Bootstrap有引导的意思,它尝试处理你...

  • 关于__Federico Milano 的电力系统分析工具箱.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

Global site tag (gtag.js) - Google Analytics