1. 分久比合,Java Web框架是否到了统一的时候
今天的Java Web程序员,和几年前的不同,他们再也不能抬手就写代码,因为他们必须首先选择一个合适的框架。以前只有JSP,程序员没有任何选择余地,JSP是唯一的工具;后来框架出现了,比如,Apache的开源项目Struts,将Java Web编程的复杂度大幅降低,让程序员们惊喜异常,纷纷采用。Struts的成功,让更多的人看到了Java Web框架的商机,于是,大量知名的不知名的框架,如雨后春笋般涌现。如果说最初程序员们还为框架之间的竞争叫好的话,那么,今天,当他们面对满天的框架时,恐怕心中只有暗暗叫苦的份了。
“分久必合,合久必分”,这是被历史无数次证明过的,颠扑不破的真理。Java Web框架,是否也到了从分化走向融合的时候呢?JSF的设计,似乎预示着这样一种趋势。与标记语言无关,与传输协议无关,与客户端设备类型无关,JSF的三个“无关”,透露出一种与生俱来的霸气,与Java的平台无关特性一样,大有“问苍茫大地,谁主沉浮”的豪情。
尽管Sun在JSF的推广策略上存在明显的失误,丧失了很多机会,使得已经推出第三个版本(JSF 1.2版)的JSF依然鲜为人知,但种种迹象表明,Sun仍对JSF仍然寄予厚望。在Sun公司的网站上,JavaServer Faces Overview(JavaServer Faces 概述)中,Sun特别提到,易用性(Ease-of-use)是JSF的主要目标,这和Java EE 5“简化Java开发”的目标是一致的。此外,Sun还向人们展示了JSF的强大阵容,除了IBM、ORACLE、RED HAT这些巨头外,Sun还强调,一批开发工具厂商也参与了JSF规范的制定。工具一直是JSF的软肋,JSF1.0版开始,JSF就被设计成面向工具的,有了工具的支持,JSF才能如虎添翼。
Sun如此煞费苦心地为JSF鸣锣开道,这背后的原因,其实不难理解。众所周知,Java里的开发,Web的比重占据绝对第一的位置,简化了Web开发,受益的将是Java最大的一个开发群体。Sun一心想要在企业应用领域抢占先机,稍不留神,Web应用领域里风云变幻,各种框架异军突起,将地盘分割殆尽。让JSF扮演简化Java Web开发的急先锋,Sun的意图是再明显不过了:抢占Java开发的最大地盘,巩固自己在Java Web领域岌岌可危的领袖地位。Sun的这一举动,是亡羊补牢,还是为时晚矣,我不知道,Sun也不知道,只有时间能够告诉我们一切。
2. JSF动了谁的奶酪
当Struts、Spring、WebWork以及Tapestry等Java Web框架春风得意之时,Sun祭出“简化Java开发”的大旗,命令JSF加入战团,估计Java Web框架们必有一番恶斗。Struts、Spring、WebWork以及Tapestry等,有庞大的用户基础作后盾,这是他们的杀手锏;而JSF除了借鉴Struts的某些技术外,更抛出了的“面向组件模型”和“事件驱动模式”两大法宝,也不可小觑。
不可否认,Struts是目前Java Web战场上最大的赢家,占据使用率的制高点,所以,JSF的矛头,直接指向了Struts。Struts的爱好者,如果仔细推敲JSF,会在里面发现Struts的许多蛛丝马迹。JSF框架表面上看仅仅是一个用户界面框架,其实骨子里涵盖了Java Web编程的诸多领域,只要定义功能更强大的UI组件和更多的Web事件,JSF就能对Struts的地盘发起攻击。Sturts也许该看紧自己的奶酪了。
Java EE 5是Java Web的一个作战集团,内有注释技术在实施精兵简政行动,外有EJB3.0和JSF1.2向应用框架和界面框架方向大举挺进。EJB3.0中Hibernate的影子,和JSF1.2中Struts的痕迹,不管是无意巧合还是有意为之,Sun欲一统某些技术领域的企图,若隐若现。Sun降大任于JSF了吗?JSF是不是Sun的探路石?Sun能否借JSF之手一统框架的天下?
树欲静而风不止,竞争的世界,没有绝对的均衡,任何现存的格局,都逃脱不了被打破的命运。JSF的出现,预示着一场激烈的框架标准之争,很快会在Java Web世界里拉开帷幕,隆重上演。但愿Sun已经明白,技术不是克敌制胜的法宝,唯有程序员才是这场争斗至高无上的裁判。JSF想要笑到最后,除了赢得了程序员的心,别无他法。
(责任编辑 火凤凰 sunsj@51cto.com TEL:(010)68476636-8007)
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |