频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

开源的世界如此美好

作者: lujunxiang 出处:IT168  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-12-28 13:35
关 键 词:Java  Web  开源
阅读提示:本文从作者首次接触Web开发,到回顾Java Web开发技术的发展、开源的现状,然后预测了Java Web的开发趋势。

在Java Web Tier开发技术世界里,你选择的、或是你喜欢的技术有哪些呢?你一定可以说得头头是道,JSP、Struts、WebWork、Tapestry、Spring MVC、JSF等等,都会有一大批的拥趸,而且,在大大小小项目中,随处可见各种Java Web技术应用的影子。 

当然,上述各种技术间的比较在Java开发社群里也是一个热议的话题,从开放性角度而言,正是有了这么多的选择,特别是在开源社区广泛参与的环境下,Java Web开发的世界才如此美好!

1. 我和Web开发不得不说的事

初识Web开发,还在1999年 C/S开发盛行,ASP一家独大的时代,但是ASP的风格没有引起我足够的兴趣,直到某一天,偶然看到了一篇介绍PHP的文章,PHP的许多编程方式和习惯(如函数式编程)和我熟悉的C是很相近,顿时引起了我莫大兴趣。也正是机缘巧合的这篇文章,引领了我步入了Web开发的殿堂。

于是我在书店买了第一本PHP3的书籍,这也是我用PHP学会开发的第一个Web程序,经典的Hello World,至今在想起来都让我兴奋不已,直到PHP发展版本5的今天,我依然对PHP有一种难以割舍的情结,这种情结,是时间留给我的记忆,就像从Turbo C++ 2、Borland C++ 3.1步入C/C++开发者行列,对旧时Borland的那种怀念大抵相同,但Borland的情况又是另外一种情形了(我把它归结为一种“Borland情结”)。

兴趣使然,很短时间就学习完了这本PHP 3的书籍,也对Web开发有了认识和理解。过了一段时间,我买到了我的第一本JSP书籍-《网站JSP后台解决方案》,当时JSP在原生Java语言及丰富类库的直接支持下,提供了强大功能,这点和ASP、PHP的脚本编程有本质区别,更适合企业级应用,ASP要支持更复杂应用,往往要和COM技术结合,于是,我陆续学习了《Core Java 2》系列第四版的两本书,就这样,从Java语言、JSP开始,我进入了Java Web开发的世界。

2. Java Web开发技术的发展

在JSP盛行的头几年,业界对JSP的前景寄予厚望,这点很大方面是挟Java之威,并在Web应用开发领域体现出来一股霸气。而实际上,JSP在项目中大规模的成功应用,也接受住了考验。应该说,在JSP、ASP以及PHP的“三国争霸”较量中,JSP以强大原生语言以及丰富类库支持的优势,首先打败的是ASP,而非PHP,因为当时PHP走的是“草根”发展模式,避免了与JSP正面交峰。

JSP在大规模应用的同时,也遇到了些问题或局限,如:逻辑和页面代码容易混合在一起、调试不方便,工具支持困难等等。这些问题如何解决?

网络的发展,是当前软件领域快速发展的一个动力!“三十年河东、三十年河西”,在Web技术发展历程中,三年都很长了。随着ASP.NET的推出,其技术上的实现是先进的,并有.NET框架的强大支持,控件+事件的方式也让人觉得耳目一新。

同时,在MVC模式被业界普遍接受的形势下,JSP方面针对自身缺陷,也有所动作,如JSTL、EL等技术的引入,此外,Java Web开发技术方面的各种框架也在新形势下借助开源的力量发力,快速前进,并针对JSP所遇问题提供各种切实可行的解决方案,从而得到广泛应用。不管是对.NET阵营、还是对Java阵营而言,所有的这些发展,都提高了Web开发工作的效率和可复用性。

回首近几年来Web开发技术的发展历程,可以发现各种Web开发技术之间即是相互竞争,促进和借鉴的关系,适者生存、劣者淘汰。一个典型的例子就是曾经让很多为之倾倒的Struts,在为Java Web技术应用作出巨大贡献之后,为了进一步更好的发展,正在和WebWork走向相互的融合之路。 

此外,在这竞争过程中,我们不得不提同样来自于开源社区的黑马Ruby on Rails, 在2006年,忽如一夜春风来,各种快速开发框架如千树万树梨花开。不用问,这都是被rails刺激。Groovy,Django,Able,Seam,Rife,Stripes,数不胜数。不过rails能够领先的秘诀其实是其设计思想的领先和敏捷的Web开发,一时间,到处都是新兵Ruby on Rails 挑战Web开发技术的内容,平心而论,在企业级应用方面,Ruby on Rails还有很长的路要走,在时间面前,谁又能保证永远独领风骚呢?毕竟,在开源的世界里永远不缺少奇迹!

3. 开源的世界如此美好

Java Web开发技术与Asp.net有显著的不同之处,那就是开源,这相对微软技术的专有性而言,是个得天独厚的优势,因此,Java Web框架有着强大的生命力,其生命力就来源于开源社区源源不断地贡献。应该深信,开源的力量如此强大,只要开源模式成熟到一定程度,开源应用必将遍布各个领域,在Java Web开发领域里,事实也正是如此!

王者般的Struts、轻快简洁的WebWork、功能强大而较难掌握的Tapestry、易于集成的Spring MVC,还有Java EE标准的JSF,各式各样的Java Web框架凝聚了开源社区的努力和心血,虽说都是“剑”,但此“剑”非彼“剑”,面对这么多令人眼花缭乱的“利剑”,你又如何选择?

如此多优秀的技术摆在面前,我更愿意理解成机会!也就是给我们更多的选择机会!选择一种好的Java Web实现技术,对构架设计非常重要,我的选择原则是:

◆和业务的匹配程度:选择复杂而功能强大的、还是选择简单而快速的?要根据业务的需求,进行适当选择。
◆熟悉程度:使用熟悉的技术,往往能把这种技术的潜力发挥到极致,即使是再新的技术,如果不熟悉,还是枉然。
◆技术成熟度:选择一种有口碑并经过实践验证的技术,系统的稳定型、可扩展性以及和其他技术的协作性,都很重要。
◆技术先进性:技术先进性是要考虑的,但技术先进性也是相对的,“老”技术也有其存在道理,甚至连Cobol都还没“绝迹”,所以只要在可接受范围,就不必太过计较是“老技术”还是“新技术”。
◆兴趣:这个因素应该服从上面所提到的其他因素,比如,我个人比较喜欢WebWork框架,我称之为一把好用的“妖刀”,但在实际中,我不会轻易就选择它,在大多数开发人员熟悉Struts的情况下,而Struts也适合,那就应该选择Struts。但你完全可以把你感兴趣的技术作为个人爱好来研究、学习。

把握以上原则,应该可以作出选择,一个技术是否会败落,取决的因素很多,但从另一方面来看,一种技术的生命力往往是很强的,如C,在金融、证券、电信等行业的关键业务处理中,占据了重要位置;再如Struts 1.X,虽然它的一些理念和当今新的一些框架相比,略显落后,但其已经得到相当规模的应用,就是在Struts 2面前,它在应用中的地位也不容忽略。

开源模式加速了技术发展,技术发展让我们不断进步,就Java Web开发技术来说,做好选择是必然,深入掌握好一种技术,再尝试其他类似技术,大多情况下,可以做到触类旁通。 

可以说,随着SUN一系列Java开源策略的出台,开源社区在包括Java Web技术在内的Java诸多技术领域里的贡献将变得越来越多,影响力也会越来越大,Java也将在开源力量的帮助下,进一步巩固其在企业级应用开发领域的霸主地位。

4. Java Web开发趋势

未来Java Web开发技术的发展趋势仍然是多元化发展。其中的任何一种技术,都有其优、缺点,如Tapestry是一种组件式框架,功能强大,但学习曲线陡;JSF也是一种组件式框架,而且又是Java EE的标准之一,但仍不够成熟。在Java Web开发领域,“理性分析,合理运用” - 这是正道。

纵观2006,Java Web开发技术的发展脚步一刻也没减缓:Java EE 5正式发布(JSF版本为1.2,JSP版本为2.1);Tapestry 4.0正式发布;Spring 2正式发布;Struts 2正在努力打造中,并发布了2.0.1 BETA版。就我自己的看法,2006年Java界最重要的事件绝对是Java开源!其意义必重大、影响定深远!随着Java开源,开源社区已是“就等东风来”,有关Java的各种技术和应用,在增添了开源的魔棒的挥舞间,终会是精彩纷呈。

期待2007,Java Web开源世界美好依旧!并完全有理由相信会继续得以发展。作为Java Web开发者,以下几点是值得你注意的:
◆AJAX支持将更成熟:在Web 2.0浪潮里,谁也不能忽视AJAX技术,Windows Vista携带dotnet3.0 framework就要发布了,仿佛Microsoft要改变浏览器统治桌面历史的序幕就要拉开了。但是我的预测却是AJAX不但是一种过渡技术,也将成为长期存在的技术。XAML无法改变互联网HTML的实质-超联接,就无法改变浏览器统治桌面的局面。
◆EJB3.0规范正式推出:在五月的JavaOne,EJB3.0规范正式推出。到年底之前完整通过EJB3.0认证的Hibernate3.2已经推出,包括Spring2.0提供的标准JPA支持,EJB3.0已经不存在技术上的推广障碍。但是似乎姗姗来迟了些。
◆各种Java Web框架继续推陈出新:喜欢新鲜事物的开发者,特别是Struts开发者,好好留意下Struts 2。
◆SOA:在2006年有一个现象,“咸与SOA”,每个人都会去讨论一下SOA,搞构件的普元也开始SOA了,SOA是一个2006年彻底被用烂的词汇,而真正的SOA大家还都没有接触到。
◆Java开源后的影响:到底会有哪些影响和变化?现在还不得而知,只能让时间来告诉我们了。
◆Java SE 6:Java SE 6在2006年末正式发布,我始终觉得Java SE 5的发布比版本6来得更有意义,但不管怎样,好好研究Java SE 6的新特性,是应该的。
◆简化开发:Java Web开发技术的功能越来越强大,使用越来越复杂,学习曲线越来越陡,在2007年里,谁能在功能强大和简化开发两者间实现最佳平衡方式?至少对于我来说,值得关注。
◆开源:总之,开源,还是开源! 

“两岸猿声啼不住,轻舟已过万重山”,Java Web开发技术在开源动力的牵引下,过的“山”已是不计其数。

乘着开源轻舟,继续远航。

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)


发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Windows XP远程桌面连接图解(.. (查看31098次)
·Windows Vista 初步 (查看20952次)
·Solaris基础知识入门 (查看19745次)
·Linux的安装 (查看17105次)
·Windows操作系统安装 (查看16053次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有