论坛首页 Java企业应用论坛

Java Web层的下一个王者是谁?

浏览 58099 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-24  
zhlmmc 写道

580K是你的个案,平均来说还是很大的!

很大是因为他们不懂FLEX的优化。

有很多优化的方法,最简单的是SWC。用COMPONENT。动态加载。
你的主FLEX程序大概只要20K,其他都动态下载,别说2MB的东西,20M的FLEX APP都很轻松。
0 请登录后投票
   发表时间:2007-04-24  
支持spring mvc
0 请登录后投票
   发表时间:2007-04-24  
Struts2+hibernate很好用.
0 请登录后投票
   发表时间:2007-04-24  
我也觉得Flex非常非常有前途,再加上后台用Rails的REST的话,帅呆了。
0 请登录后投票
   发表时间:2007-04-25  
个人感觉webwork的设计是传统MVS框架中最先进的,不知道转到struts后会不会被带的变了味了,AJAX是传统MVS的颠覆者,但目前来看,还没到完全取代的时候.毕竟JAVA语言的习惯者,并不习惯给人感觉蹩脚JS语言
0 请登录后投票
   发表时间:2007-04-25  
chenqj 写道
支持spring mvc

rod johnson 公开说过。。今后spring web flow是重点。
spring mvc只是在维护阶段,不会有新的更新了。
0 请登录后投票
   发表时间:2007-04-25  
lordhong 写道
chenqj 写道
支持spring mvc

rod johnson 公开说过。。今后spring web flow是重点。
spring mvc只是在维护阶段,不会有新的更新了。
没看过JSF,本来想学,但听你们这样说,还是不看算了!!!
0 请登录后投票
   发表时间:2007-04-26  
Web层框架的下一个王者,如果不是纯Ajax,将是业界的悲哀。


不论Struts还是JSF,还是.net,或者此前的任何主流Web程序,都是在服务器上构造用户界面,而客户端只是单纯显示界面,这种技术架构和早期的字符终端模式本质上是一样的,是原始、落后、丑陋、低效率、混杂的。

之所以这么多年的web程序都是这种模式,是因为:最初HTML是作为“带链接的文档”,而非“交互程序界面”而设计的,为了在HTML下实现“交互程序界面”技术,后来HTML中增加了<Form>,可以实现简单“交互”,再后来又有了javascript,“交互”又进了一步,但Form、javascript的可编程性都太差,所以每次交互都必须由服务器代替客户端来构造下一步的用户界面,客户端只是单纯的显示,这就是“瘦客户”的由来。这里大家应该看出来:Web应用的客户端之所以“瘦”,并不是因为“瘦”好,而是因为早期的浏览器是为HTML而生,先天不足。不管是Struts还是JSF,或者.net,本质上都是为这种先天不足的“弱智型”浏览器而设计的,所以问题就出来的:今天的浏览器还是这么“弱智”吗?

答案是否定的,其实自从1997年IE4推出后,答案已经出来了,只是大部分人没有看出来而已。IE4和此前的浏览器到底有何不同呢?NetScape Navigator真的是因为微软的捆绑政策而被挤垮的吗?真正的答案是:IE4提出了DHTML,是DHTML打败了Navigator。

DHTML为什么有这么大能量?在DHTML之前,DOM只是一个抽象的概念,在浏览器端,编程语言(javascript)和其编程接口(API)是混杂在一起,我们分不清、NetScape也没告诉我们document.write()到底是javascript语言本身还是编程接口。直到如今,很多关于javascript编程的书籍也把javascript语言和编程接口混为一谈,很多程序员还会去javascript语言的函数参考中去找document.write()的资料,这就是NetScape留给我们的技术遗产。IE4的DHTML第一次以微软的方式实现了DOM,将javascript语言和DOM编程接口彻底分开,IE4也成为第一个完整地实现了基于DOM理念(不是DOM标准,但超越当年的DOM标准)的浏览器,无论是功能性、稳定性、可扩展性、可编程性,都完全超越了Navigator,所以IE4想不挤垮Navigator都不可能。我从98年开始涉及Web开发,2000年后专职做Web开发,一直到现在,Web前端开发的主要参考文档还是1997版MSDN Lib中的DHTML参考,10年也没觉过时,这就是核心技术的生命力。


回到主题,再谈Web层的架构。如今,DHTML/DOM已经非常成熟,浏览器的可编程性已经非常好,2005年,业界也“良心发现”似地提出并认可了"Ajax",所谓的“富客户端”系统(我认为用“中客户端”更合适,即界于胖客户与瘦客户之间)也被追捧。问题是,像Struts、JSF、.net这些由服务器端构造界面的框架是否适合“富客户端”系统?是否有必要在这类架构上修修补补来适应“富客户端”系统?在浏览器功能非常强大的今天,服务器的CPU和内存资源是否还要为早期的“弱智”浏览器背书,或者说继续为一个健康的成年人当保姆?未来的Web架构是否应该继续基于“弱智”前端来设计?


答案当然也是否定的。“富客户端系统”已经和原始的“动态网页”不是一个层次的东西,“富客户端系统”界面的强交互性,使用户界面编程空前复杂,这种客户端的复杂如果由服务器端来解决,只能使问题更加复杂。因此理想的Web层模型应该是:

-----------------------------------
浏览器完全负责界面构造和流转(服务器对界面构造和流转只提供HTML服务,即由www服务器提供静态HTML页面,而不是由应用服务器提供动态页面);而应用服务器只提供业务服务,即只接受业务请求(http Request的含义与传统不同,服务器不参与界面层功能)。
------------------------------------

在这种新的模型中,应用服务器从界面构造和流转控制的繁重任务中解脱出来,专注于业务服务,MVC的控制器被自然废除,后端只需编写业务服务代码,这也刚好与WebService、SOA的概念吻合。这种模型比Struts、JSF、.net,都要漂亮得多。


最后,总结一下:很多人还认为Ajax只是相当于网页的花边装饰,或者是Web程序的局部效果;在我看来,整个应用都应该基于Ajax构造。可以预测,Ajax+SOA将颠覆传统的Web程序结构,Web应用将走出“服务器动态网页”时代,进入“富客户端”+“面向服务编程”的光明未来。


上面的Web架构理念,我已经做了一个初步实现,有兴趣的朋友可以参考:

http://www.xjawa.org/xjawa/kontent/80039.html
0 请登录后投票
   发表时间:2007-04-28  
spring 的MVC也不差,至少比struts好
0 请登录后投票
   发表时间:2007-04-28  
leebai 写道
IE4的DHTML第一次以微软的方式实现了DOM,将javascript语言和DOM编程接口彻底分开,IE4也成为第一个完整地实现了基于DOM理念(不是DOM标准,但超越当年的DOM标准)的浏览器,无论是功能性、稳定性、可扩展性、可编程性,都完全超越了Navigator,所以IE4想不挤垮Navigator都不可能。

这个观点是错误的。DHTML的概念是IE4提出来的没有错,但是Navigator4在功能性、可扩展性、可编程性上并不比IE4差。基本上IE4能够实现的动态效果,Navigator4都能够实现。但是它们采用的是完全不同的页面对象模型和事件模型,因此需要开发两套完全不同的代码。至于说到稳定性,它们也是半斤八两,都很不稳定。你可能当时在国内只需要为IE4做开发,我以前做DHTML开发,老板的要求是必需在IE4和Navigator4上实现几乎完全相同的动态效果。

IE4和Navigator4是浏览器大战时代的典型代表,它们都严重偏离了W3C的DOM规范。正是因为它们这样做,才使得DHTML开发被大多数服务器端的开发者看作是一种不登大雅之堂的hack,甚至声名狼藉。而Web前端的JavaScript开发者一直饱受歧视,做了大量的工作却得不到应有的待遇。一直到了2001年IE6和Mozilla1.0(基于几乎完全重新开发的代码)推出后,它们才算真正走上了正路。

IE4在支持DHTML方面,确实比Navigator4更早,并且也因此抢夺到了一些市场份额,但是IE最终战胜Navigator,主要的原因还是M$的捆绑策略和对于桌面领域的垄断。M$钱多,可以跟你拼出血。你拼不过,自然就出局了,事情就是这么简单。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics