`
robbin
  • 浏览: 4812946 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:136406
社区版块
存档分类
最新评论

点评Java full-stack框架

    博客分类:
  • Java
阅读更多
2005年ruby on rails横空出世般的流行刺激了Java开源框架整合的大趋势,ruby on rails这个号称“full-stack”的框架能做的我们都能做,它就是整合的更好,省略了配置文件,提供了快速代码生成器,暂且不论ruby on rails本身,但是诸多Java开发人员把目光从只做好一件事情上面挪到了“提供最方便的full-stack框架”上面,因此我们可以看到整个Java开源社区雨后春笋般的出现了一批又一批的full-stack框架,Java社区的开源软件哲学已经修改为:“要做最方便好用的full-stack框架”,那么就让我们来一一细数这些full-stack框架吧:

一、RIFE
最老牌的Java full-stack框架,作者Geert Bevin颇为不屑ruby on rails,和ruby on rails作者DHH有过对骂的战斗经验,8月份RIFE发布了1.5版本,提供了更多更方便的功能和更加简化的开发。RIFE功能相当完善,在Continuations方面颇有独到之处,但是RIFE独辟蹊径,整个解决方案不与现有任何流行开源框架相同,采用RIFE需要一些勇气。

二、Grails
最像ruby on rails的Java full-stack框架,Grails即Groovy on rails的意思,采用Java动态脚本语言groovy来写程序,底层实现采用Hibernate/Spring/SpringMVC/JSTL,即groovy的脚本语言在运行期动态生成Hibernate/Spring的Java编译好的字节码。8月份Grails发布了最新的0.2.1版本,在可用性的道路上又向前进了一步。

三、JBoss Seam
最正宗的Java full-stack框架。JBoss Seam整合了EJB3,Hibernate3,JSF,JBPM等框架,主持大局者是Hibernate作者Gavin King,Seam提供了一个非常简化的完整框架。说Seam最正宗是因为Seam采用的EJB3,JSF等技术都是Java EE5规范的官方技术,可谓系出名门。

四、Trails
最强调领域模型驱动的Java full-stack框架。Trails是Hibernate,Spring和Tapestry框架的整合版本,鉴于Tapestry是一个组件驱动的Web框架。Trails非常强调以领域模型来驱动快速开发。这是一个值得Tapestry爱好者使用的Java full-stack框架。

五、Able
最不甘寂寞的Java full-stack框架。这是8月份刚刚发表的新框架,Able的作者是前Webwork,现Struts2.0的主开发人员Patrick Lightbody。Pat同学也是一个对ruby on rails颇为不屑的人,曾经和RIFE作者Geert Bevin一唱一和的对战过DHH。Pat一边忙于开发Struts2.0,一边不甘寂寞的推出了Able框架,这是一个整合了Webwork,Spring和iBATIS的框架,但是对Webwork进行了大幅度简化。

这些成型的full-stack框架,加上最经典的Java full-stack框架……Hibernate/Spring/Struts组合(或者Hibernate/Spring/Webwork组合),一夜之间,Java开源世界的full-stack框架如千树万树梨花开,让我们这些Java开发人员挑花了眼,有人说,选择太多,即是Java开发人员之福,也是Java开发人员之痛,如何挑选适合自己需要的框架,则成为Java开发人员必备的能力之一。

分享到:
评论
21 楼 江南白衣 2006-10-06  
Able 风格多变,最近貌似已经从Spring+Webwork+Ibatis 转为 Spring+Stripes+JPA(by Hibernate) (最近的更新都集中在sandbox/able-web 里)。

Able和Seam 都是每天update的项目,还在JavaEE的,就指望他俩做指路明灯了。

而对Trails 和 RIFE不大看好,前者没什么开发力量,后者太怪了.
20 楼 sean 2006-09-25  
引用
Pat同学也是一个对ruby on rails颇为不屑的人,曾经和RIFE作者Geert Bevin一唱一和的对战过DHH。Pat一边忙于开发Struts2.0,一边不甘寂寞的推出了Able框架,这是一个整合了Webwork,Spring和iBATIS的框架,但是对Webwork进行了大幅度简化。


对ruby on rails颇为不屑? 为什么able的一些目标却向ror看齐:
引用

provide a RAD, Rail-ish user experience. Kinda POJOs on rails
19 楼 sean 2006-09-25  
Able home : http://wiki.opensymphony.com/display/ABLE/Home

Source code: svn co https://svn.opensymphony.com/svn/sandbox/able/sandbox able
18 楼 Arden 2006-09-25  
我刚看了Able,用的是webwork啊!
17 楼 Arden 2006-09-25  
Able 框架在哪可以下载?官方网站的网址是?
16 楼 sean 2006-09-20  
引用

五、Able
最不甘寂寞的Java full-stack框架。这是8月份刚刚发表的新框架,Able的作者是前Webwork,现Struts2.0的主开发人员Patrick Lightbody。Pat同学也是一个对ruby on rails颇为不屑的人,曾经和RIFE作者Geert Bevin一唱一和的对战过DHH。Pat一边忙于开发Struts2.0,一边不甘寂寞的推出了Able框架,这是一个整合了Webwork,Spring和iBATIS的框架,但是对Webwork进行了大幅度简化。


前些天svn able,发现web层用的是Stripes,并不是webwork, 也不是struts2.0.不知道为什么Patrick Lightbody连自己开发的webwork/struts2.0都没有信心。
15 楼 SteveGY 2006-09-18  
manmoon 写道
得了吧
java只会越做越好
只是一部分同志感觉掌握起来越来越难。
java社区活动性很大,你跟不住脚步,就只能被淘汰!


哎~~~,这种论调听的实在太多,似乎每一个人都要理所当然的掌握所有的细节,这是不现实的,也是令人沮丧的。
再说,如果只有那些“能跟上变化的人”留在这个社区里,那我看,这个地方的发展也就到头了,因为这样就排斥了很多人,不是每个人都有时间、精力和兴趣,投入在跟上变化这样的无聊事情上的。于此相比,我倒是情愿多花点时间躺在海边的摇椅上,看看海滩、日落、泳装MM什么的,我相信,这一定比跟上变化有趣多了
java之所以会越做越好,正是因为它现在离“好”还有一段距离呢;之所以变化这么大,也是因为它还没有一个确定的方向,就像有N个牛人朝M个方向拼命拉动同一张网,而且谁都声称“跟我来,这是正确的方向”。呵呵,要想跟住脚步,哈哈,除非你有N次分身术。
14 楼 galaxystar 2006-09-17  
五个字:灵活性太低
13 楼 wyse 2006-09-17  
我们的软件开发,其实关键问题是做什么,不做什么,而开发工具本身其实已经足够好了(相比几年前),没必要“喜新厌旧”。

采用新的开发工具,就能跟上快速变化的业务需求吗?当业务需求确实变化时,新工具相比老工具,能提高多少效率呢?
12 楼 melin 2006-09-16  
虽然ejb3.0注释没有spring的配置文件那么灵活,如果系统需要群集环境。还是首选EJB3.0,JSF是我最喜欢的WEB框架,期待SEAM。
11 楼 manmoon 2006-09-16  
得了吧
java只会越做越好
只是一部分同志感觉掌握起来越来越难。
java社区活动性很大,你跟不住脚步,就只能被淘汰!
10 楼 独狼 2006-09-16  
好酸,好酸啊
9 楼 ithero 2006-09-16  
百花齐放呀,但一味跟风有意义,一个项目的成功并不只是靠一两新技术就能胜任的,一味强调开发速度,但考虑国情了吗?考虑到人才储备了吗,我还是要等它历经考验再说,现在不会去跟风,那只是那些想为私利的人去独舞吧,出书吧,翻译吧....
8 楼 Allen 2006-09-15  
Spring 首页上面有这样的话:
引用
Welcome to the home of the Spring Framework.  As the leading full-stack Java/J2EE application framework, Spring delivers significant benefits for many projects, reducing development effort and costs while improving test coverage and quality.

一联想到2.0这个月就要正式发布了,看来Spring这次的决心是很大很大的啊!
7 楼 jacshan 2006-09-13  
现在学习Spring,也不管其它的怎么好了,先学好一个用着再说,同时关注太多的东西,到头来会弄得什么都学不好。
6 楼 江南白衣 2006-09-13  
bigpanda 写道
今天看了一遍Seam的文档,对这个东西的兴趣越发大了起来,它吸引我的一点是代码量小,总共才255个类外加一个JavaScript的文件。Spring 2.0有1200多个类,WebWork 2.2.3有六百多个类,实在头大。

Seam中别的都是标准,看一看specification,就能知道程序的行为。比起文档不全的框架,是个优势。都是标准对向客户推销也有优势。

里面用到JSF, JSF 的1.2版有不少改动,还得好好看看。



代码量少是因为他做的东西少,很多还是todo.
5 楼 bigpanda 2006-09-13  
今天看了一遍Seam的文档,对这个东西的兴趣越发大了起来,它吸引我的一点是代码量小,总共才255个类外加一个JavaScript的文件。Spring 2.0有1200多个类,WebWork 2.2.3有六百多个类,实在头大。

Seam中别的都是标准,看一看specification,就能知道程序的行为。比起文档不全的框架,是个优势。都是标准对向客户推销也有优势。

里面用到JSF, JSF 的1.2版有不少改动,还得好好看看。

4 楼 geszJava 2006-09-12  
咋办,偶现在的项目用的是grails,勉勉强强可以凑和着用,不过。。。偶非常担心groooooooovy的的速度。
3 楼 icebing 2006-09-11  
有同感,不到最后不见分晓!
2 楼 Allen 2006-09-11  
Gavin King在谈到自己的Seam时显得信心满满(文章时间有点点早,是今年3月的了):
引用
Seam(Gavin King)

1、你认为你的framework的"甜点"在哪里?他最适合哪种类型的项目?
拥有丰富用户交互体验的应用。方便实现多窗口的操作,回退的支持,单窗口多工作区,无状态浏览。对商务流程(BPM)的集成是独一无二的。Seam方便使用数据驱动的ORM。遵循JSF和EJB3,多任务支持(多窗口/多工作区),BPM的领先解决方案。

2、它不适合于什么样的场景?在这些场景你推荐什么fremework?它是哪个?
不适合只是将数据从数据库显示到网页的应用,这时应该使用PHP或RoR。不适合需要设计特别的HTML组件的情况,此时应该选用Tapestry或Wicket。还在使用JDK1.4的人们。还有那些喜欢Struts的人(嘿嘿,够狠)。

3、在下面提到的framework中,你试验过他们么?如果试验过,你比较喜欢哪个?你不喜欢哪个?
JSF:喜欢他的事件/交互模型。喜欢他的EL和模型绑定。不喜欢那么多XML(为什么没有annotation)。创建自己的controls太难了。
Tapestry:非常好。form验证是它的杀手锏!模版方式很有创意。不过非基于POJO的组件模型则让我对它失去兴趣。
RIFE:这个东西很怪,但是有创业也有趣。我想进一步学习。如果学习先要自费武功:D
Struts:这个东西的模型view绑定太复杂了。东西已经过时了。
WebWork:比Struts好一点,不过也过时了。XWork曾经是个很好的实现,不过现在也过时了。

4、你的framework的未来会怎样?对于用户开发会有什么方便使用的变化?你会原生支持Ajax么?你们计划支持它了么?
Portal支持。远程框架Seam Remoting Framework(Ajax)。模版消息的工具支持。以后还要集成ESB,计划引擎和异步支持。

5、有对你们的framework的传言需要澄清么?如果有,是哪个?
这些都不是真的:JSF不能处理GET requests。JSF post后无法redirect。JSF不能与REST共存。

6、你对Ruby on Rails的看法如何?
它是PHP的很好替代品。如果它有一个正经一点的持久化层它就可以和Java竞争了。


原文参加:http://www.matrix.org.cn/resource/article/2006-03-31/Java+Web_44309.html

相关推荐

    Spring Framework 6.0 是一个开源的Java EE全功能栈(full-stack)的应用程序框架.rar

    Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache License 2.0开源许可协议的形式发布,也有.NET平台上的移植版本。该框架基于 Expert One-on-One Java EE Design and ...

    Spring是一个主流的轻量级的Java Web开发框架,是分层的Java SE/EE full-stack轻量级开源框架

    Spring是一个主流的轻量级Java Web开发框架,也是分层的Java SE/EE full-stack轻量级开源框架。它旨在通过简化开发流程来降低企业级应用程序开发的复杂度。Spring框架不仅为Java Web应用提供了一个坚实的基础,还...

    Kosta-java-full-stack-02-15-2-30

    【标题】"Kosta-java-full-stack-02-15-2-30" 暗示这是一个关于Java全栈开发的学习资源,可能是某个课程或教程的一部分,日期可能表示发布或更新的时间,即2月15日的第2到第30个小时。这可能是一个连续的系列,涵盖...

    Kosta-java-full-stack-02-15

    【标题】"Kosta-java-full-stack-02-15" 暗示这是一个关于Java全栈开发的课程或教程,可能由一位名叫Kosta的专家或教育者提供。这个系列可能涵盖了从基础到进阶的Java编程,以及如何构建完整的Web应用程序。"02-15...

    spring面试题

    Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。...简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

    Full-Stack, React, TypeScript, 全栈开发,英文原版

    #### 一、全栈开发(Full-Stack Development) **定义:** 全栈开发是指能够处理Web应用开发中的前端与后端技术的开发人员。这类开发者通常具备广泛的技术栈,能够独立完成项目的前端界面设计与交互逻辑,同时也...

    Full-Stack-Web-Development

    常见的后端框架有Node.js的Express、Python的Django或Flask、Java的Spring Boot等。它们提供了丰富的工具和库,简化了接口设计、数据库操作、认证授权等工作。 数据库管理也是全栈开发中不可忽视的一环。开发者需要...

    JEE-Full-Stack-2.0

    【标题】"JEE-Full-Stack-2.0"是一个涵盖了Java企业级开发全栈技术的项目或教程,旨在帮助开发者掌握从后端到前端的全套技能。在这个项目中,我们将深入探讨JEE(Java Enterprise Edition)的核心技术和现代Web开发...

    vue3+springboot的一套增删改查系统full-stack_1.zip

    该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理...

    full-stack-java-practice

    全栈Java实践是一个涵盖广泛的主题,它涉及到使用Java语言从后端开发到前端展示..."full-stack-java-practice-main"这个文件可能包含了上述部分或全部的示例代码、教程或项目结构,为学习全栈Java提供了一个实战平台。

    full-stack-with-react-and-spring-boot:你的第一个使用 React 和 Spring Boot 的全栈应用程序

    你的第一个使用 React 和 Spring Boot 的全栈应用程序 迈出成为 React 和 ...Java 8+ Eclipse - Oxygen+ -(来自 Eclipse 的嵌入式 Maven) 安装 Node Js (npm) 和 Visual Studio Code 播放列表 - 脚步 步骤 01

    ASP.NET Web API and Angular 2 pdf 0分

    从提供的文件信息来看,内容主要涉及了两个技术框架:*** Web API和Angular 2。这两个技术在现代Web开发中扮演了重要的角色,分别负责后端服务和前端交互。接下来我将详细介绍这些知识点。 *** Web API是一个用于...

    Noel-PGP-Full-Stack-Web-Dev

    综上所述,"Noel-PGP-Full-Stack-Web-Dev"项目是一个基于Java的全栈Web开发项目,涵盖了前端和后端的各个方面,可能包括Spring框架、前端模板引擎、数据库交互以及持续集成和部署策略。开发者需要对Java、Web开发...

    eCommerce-Full-Stack-Angular-and-Spring-Boot

    Spring Boot是Java领域的一款明星框架,它简化了基于Spring的应用程序开发,通过自动配置和“开箱即用”的特性,极大地提高了开发效率。在电子商务场景下,Spring Boot可以用来构建RESTful API,提供商品信息查询、...

    Full-Stack-Web-Development-with-React:使用React和Coursera专业化进行全栈Web开发

    本专业包含4门课程:前端Web UI框架和工具:引导4,使用React进行前端Web开发,使用React Native进行多平台移动应用程序开发,使用NodeJS,Express和MongoDB进行服务器端开发。 课程1: 本课程分为4个模块,每个...

    fullstack-tutorial

    "fullstack-tutorial" 是一个开源项目,旨在为开发者提供全方位的全栈开发教程。这个项目的目的是帮助初学者和有经验的程序员系统性地学习和掌握全栈开发技能。通过参与此项目,你可以从基础到高级,一步步学习如何...

    full-stack-react-steps

    【标题】"full-stack-react-steps" 涵盖了从零开始构建全栈Web应用的全过程,重点在于使用React作为前端框架,并结合其他技术构建一个功能完备的应用。这个项目通常会包括设置环境、设计用户界面、处理数据交互、...

    Java-Full-Stack-17april2021

    3.以DevOps方式实施框架 Spring 5.0核心培训 了解RabbitMQ异步消息传递 与Java和Spring 通过Sprint引导以100个步骤掌握Hibernate和JPA DevOps:带有Jenkins管道的CI / CD, Maven或Gradle 动手持续集成和 Circle...

    01-spring简介-框架的概念

    01-spring简介-框架的概念Spring框架是 Java 平台的一个开源的全栈(Full-stack)应用程序框架和控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于...

    spring-boot-react-js-full-stack

    总之,“spring-boot-react-js-full-stack”项目是一个涵盖了Java后端、JavaScript前端和全栈开发实践的综合案例,对于提升开发者在现代Web开发领域的技能和经验具有很高的价值。通过深入学习和实践,可以掌握从后端...

Global site tag (gtag.js) - Google Analytics