`
kuyuyingzi
  • 浏览: 53902 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java Web开发框架对比

 
阅读更多

Web框架有点像酸酵母,你要么喜欢它,要么讨厌它!什么?你从来没听过什么是酸酵母?没关系,那么你很有可能会讨厌它!使自己沉浸在一个新型语言中或者一个项目里,快速拥有高效生产力是十分重要的。学习一个Web框架也同样如此。

这一部分将会比较和对比每个Web框架的类别排序(总分为5分),并从下面几个方面给出我们的评价:

  1. 快速原型
  2. 框架复杂性
  3. 易于使用性
  4. 文档与社区

这一次我们将使用到一个新的单位——“烧杯”(Beaker),我们将用它来衡量每个框架的温度。

在接下来的第二部分中,你将会看到我们卧底调查的一些更深层次的主题——忍者风格(Ninja Style)。

1、快速应用原型

无论你是否是第一次使用到这个框架,或者已经这个框架使用领域内的专家,我们都要说:迅速地挖掘属于自己的创意、尝试新鲜的事物都对开发者来说是很有必要的。本章会通过各个框架从头构建应用的速度来对其进行评价。

Spring MVC

如果你在寻找一个框架能帮助你快速、整洁地生产出应用,那么Spring真的不适合你。只要一开始着手,你就会发现它不仅是规模庞大而且难以把握。对于一个快速模板,你可以随时下载Petclinic工具包并除去你认为不必要的东西,但这需要时间。你必须弄清楚到底什么才是重要的东西。

SpringRoo是一个支持Spring框架的子项目;Spring Security是一个安全访问控制框架,能够为基于Spring的企业应用系统提供声明式的安全访问控制);还有SpringWebFlow,它是一个基于配置的Spring框架,侧重于提高Java代码的生产力、可用性、避免运行超时和进程锁死,通过附加组件可拥有扩展性。如今,它的功能正在逐渐扩展,潜力巨大。

得分:2.5/5 — 需要提前掌握大量有关Spring的知识。普通的JSP页面和控制器(Controller)不提供现成组件。

Grails

Grails非常棒!每次我们需要实现中小型CRUD(增加、查询、更新、删除)类型的程序,都会考虑使用Grails。Grails配置起来非常快速,并且它提供的框架(代码生成)节省了大量的时间。约定优于配置原则(Convention over configuration )可以帮助您抛除几乎所有配置带来的麻烦。

Grails默认支持重新加载,但仍然有一定的局限性(比如它只能重新加载Groovy类)。如果项目中只有一部分使用的是Java,你可能仍然会想到去使用JRebel的。

得分:5/5 — 最高分在这里。过渡支架(Scaffolding)、约定编程、热代码重新加载(hot-code reloading),还有其它什么是你想要的?

Vaadin

Vaadin目录是一个组件仓库,它包含了所有用户已经实现、可供他人使用的组件。如果你需要选择待使用的组件,只需要去下载JAR包并添加到你的项目中,然后在你的代码里直接使用JAR包里提供的优秀模板即可。在写这篇文章之时,Vaadin有365个组件提供您使用,每天一个!你再也找不到比这更快速的原型开发工具了!

另外,Vaadin的设计提供一种拖放机制,可以方便地添加需要的组件并为用户生成代码,除此之外还可以为你提供想要的精确布局,甚至连键盘都不需要使用了!

得分:4.5/5 — 过渡支架(Scaffolding )和Vaadin目录都让人过目不忘。

GWT

虽然有很多可使用的未封装装饰器,但在真实情况下你可能会在GWT框架下使用Javascript和浏览器DOM完成开发。如果你喜欢设计,也可以使用GWT内置的设计模式,这是一个简单的拖放和代码自动生成界面。

虽然这不是GWT,但我们的目标是让开发人员能够高效地开发Web应用程序而不再专攻JavaScript、XML、HttpRequest以及各种浏览器的古怪行为。

得分:4.5/5 — GWT易于创建和维护Web应用程序组件,内置的编译器生成的代码可以有效地进行编译并兼容不同的浏览器。

Wicket

凭借其清晰的MVC模式、清楚的HTML样式以及富有魔力的组件,你可以使用Wicket简单、快速地重用组件创建新的应用程序。Wicket采用了组件继承方式进行扩展,这种方式学习曲线略显陡峭不是最佳选择。

每个组件中的标记文件进行了清晰地分工,控制器决定要显示的内容,视图决定如何显示。这不仅缩短了开发时间,也给你的网页设计师在修改HTML代码时增加了信心。无需担心程序崩溃和程序丢失,很棒吧!

得分:3.5/5 — 使用HTML和组件结构,无需配置文件;组件内容与显示分离;采用组件继承。

Play

Play框架非常简单、易于上手,这个框架的起源可以归结为,Java开发人员很羡慕RubyonRail开发者有一个超级快速的原型开发框架。Play框架有一两个类似于ROR框架下的Rails组件的二进制组件它用于支架(代码生成)。这使得Play成为了一个不那么常规的Java Web框架。Play框架的入门文档是一个很棒的基础教程,为开发者提供了一个非常低的门槛。使得他们可以成为比较高效的开发者。

得分:5/5 — Play框架有一个非常不错的文档,它的代码生成的框架也是很给力的。

Struts

很多开发者认为Struts是一项传统的技术,所以不怎么指望在这里可以通过模生成板很绚的代码。在建立原型前,首先你需进行大量的配置。项目实例仍旧是一个很好的起点,柳暗花明的地方是:Struts有一个Convention插件,强制规定了一些编程约定,并且提供注解来配置URL和其他的东西。这些都加快了原型的开发。

得分:2/5 — 大量的样板代码,没有内置代码生成,无需强大的外部工具。

JSF

JSF不是极好的快速开发原型,代码生成不是内置功能,并且原型开发应用需要开发完整应用程序那么多的配置。这真的不是JSF的错,因为它基于JavaEE规范。JSF确实有一些实用的Maven原型,然而那只适用于基本的应用程序。原型也可以与在线以及Java EE应用部署的服务器一起使用。JSF提升生产力最为人津津乐道的是那些能够在产生出大量样板代码和配置的IDE向导。

得分:3/5 – JSF的快速原型依赖相关的工具。Maven和Netbeans提供了原型和向导方便开发。

原文链接:http://www.importnew.com/7957.html

分享到:
评论

相关推荐

    Web开发+java+ssh框架

    三、Hibernate不能用来直接和Entity Bean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而 不是Entity Bean的替代者出现的,让我再列一...

    Java Web层框架比较.docx

    介绍几种流行的Java Web开发技术框架

    两种Java Web通用开发框架的比较研究.pdf

    两种Java Web通用开发框架的比较研究.pdf

    java开源框架简介

    java开源框架简介,对比市场需求,引导学生对于JAVA开发的兴趣

    java个人学习从java核心基础到javaweb再到框架所有学习笔记比较详细

    本人从java0基础到javaweb再到web框架学习的所有笔记,详细记录了个人学习所有的知识点 包含java核心基础 jsp servlet 等javaweb技术 包含了ssh,ssm框架所有的知识点和整合等很详细希望能帮助到正在努力学习的你

    《30天学通Java Web项目案例开发》PDF

    《30天学通Java Web项目案例开发》结合具体的项目案例向读者介绍了Java EE开发的整个流程,《30天学通Java Web项目案例开发》共介绍了10个项目案例,涵盖了目前几个比较流行的开源框架,如Struts、Spring、Hibernate...

    java web 开发详解

    Java 的 Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向抽象实现请求和响应的...

    java三大框架

    比如, Enterprise Java-Beans (EJB) container或者 Servlet engine 而这些框架一般在中小工程中我们都不会使用,会让我们把大量的时间浪费在开发框架上。 而现在比较流行开源框架,主要是struts,hibernate,spring等...

    ServletEx2 1.0 Java WEB 应用开发框架 完整版 (release, source, document, example 2010-01-13)

    在长期的B/S结构应用开发,Java平台上的应用开发基础上,对应用开发渐渐形成了一个自己的技术框架, 基本上每过两个项目,都会对框架进行一次比较大的升级。 最近一年来,这个框架基本不再作大的变动了,于是我将之...

    课程设计-基于Java web的ssh框架的在线考试系统(源码+数据库).zip

    基于Java web的ssh框架的在线考试系统,系统功能比较完善,使用MySQL数据库,使用时将源码导入到eclipse,在MySQL中导入SQL文件,数据库默认密码为root,可以在ots\src\applicationContex.xml文件中进行配置。

    Java Web程序设计教程

    1.2使用java开发web应用 3 1.2.1面向对象的编程语言 3 1.2.2丰富的框架技术 4 1.2.3xml、css的应用 4 1.2.4使用javascript与ajax提升用户体验 7 1.3多种集成开发环境 9 1.3.1集成开发环境简介 9 1.3.2web应用...

    JAVA WEB框架,java网站一个模块只用写一个文件

    JAVA WEB框架,java网站一个模块只用写一个文件 以前的servlet在现在的开发中已经不怎么常见,因为操作起来比较原始和麻烦。有些人就是不安于现状去改造它。 做得好的有Struts,Hybernate,Spring那么这些框架都是很...

    JAVA开源量化交易程序开发框架源代码

    (Kotlin语言对Java语言和类库兼容性良好,且对于空指针更为安全) web管理服务被移除。(安全增强,技术堆栈精简) 启动服务器可通过参数决定是否同时启动管理GUI,GUI由JavaFX实现。(易用性增强) web交易页面被...

    Java EE常用框架.xmind

    在Shiro中默认是使用ini文件去对比的,但我们开发往往是去数据库比较,因此我们需要自定义realm 自定义也很简单:继承AuthorizingRealm类就好了 自定义的realm支持散列算法 授权方式 编程式:通过写if...

    《亮剑Java Web项目开发案例导航》光盘镜像

    共介绍了10个项目案例,具体地向读者介绍了Java EE开发的整个流程,涵盖了目前几个比较流行的开源框架,如Struts、JSF、Spring、Hibernate,同时还有用于分布式企业级开发的EJB技术。在项目的开发过程中,笔者还多次...

    人力资源-面试-java

    主要是将这些年面试积累的20个比较常见的Java面试内容进行了整理,分别从20个方面进行了列举:Java基础、Java语法、Java集合框架、Java泛型、Java异常处理、Java多线程、Java网络编程、Java数据库编程、Java反射机制...

    java面试笔试题库java学习笔记开发教程互联网公司面试资料大全合集.zip

    java面试笔试题库java学习比较开发教程互联网公司面试资料大全合集: 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张图解...

    开发者突击:Java Web主流框架整合开发:J2EE+Struts+Hibernate+Spring 源代码

    全部删除lib后的源代码,比较小。如果没有删除,太大的不好传。

    课程设计-基于Java web ssm框架的住户管理系统(源码+数据库).zip

    (2)针对系统中的关键技术进行了阐述,从性能、易用性、框架优势三个方面对Spring、SpringMvc、Mybatis进行了分析,对比其他框架,明确优缺点和最终选用的理由。(3)根据需求分析内容对系统进行了总体设计、数据库设计...

Global site tag (gtag.js) - Google Analytics