论坛首页 Web前端技术论坛

XMLHTTP和浏览器端表现技术的讨论

浏览 69684 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-11-01  
在我看来,这些 Java Web 开发框架都没有充分利用好浏览器端的资源(XMLHTTP、JS+DHTML、Flex、etc.),以至于需要在服务器端保存大量的状态,造成了大量 B/S 间的交互。而我们现在都知道,如果充分利用 XMLHTTP,把很多中间状态保存在浏览器端,是可以大幅度减少这种交互的。

Webwork 的最新版本说要加强对 XMLHTTP 的支持,我认为这是一个正确的发展方向。

大家现在在等什么?其实就是在等一个对于服务器端技术(Java、MVC)和浏览器端技术(XMLHTTP、JS+DHTML、Flex、etc.)都非常熟悉的牛人做出一个新的开源框架,更好更充分地利用好所有的这些技术,建造出一个 B/S 方式的 Rich Client 框架。实在等不急了,先自己动手做些事情吧。

我使用过 CGI(Perl、C)、ColdFusion、JSP、XMLHTTP 等等技术,根据我的经验,我并不认为在表示层很快就会有一个杀手级的框架出现。
   发表时间:2004-11-01  
个人觉得B/S 方式的 Rich Client 框架,最大得问题是浏览器,ie提供很强得功能,但是问题也不少,各个浏览器版本兼容问题很大,ie自己得各个版本都有可能不兼容,依赖这样的环境实在有点危险。

不过你不要误会,我也是做rich client得现在。在这里顺道问下dlee,以前在其它帖子有看到你说你们现在得实现使用xmlhttp,我也试验过,结果很不好,特别是提交得xml流得处理没有找到办法,因为是流,所以要将它组装成合法得xml感觉比较烦,而且考虑到以前的代码兼容问题,所以最终还是采用乐改良后的form提交,效果和xmlhttp差不多。
这里我碰到最主要的问题是,客户端提交请求时的参数处理,以及在服务器端接收参数的处理问题。另外,xmlhttp是否能够处理所有的请求呢?感觉上某些请求是比较麻烦的,比如文件上传。这么问就纯粹问下你是不是就纯粹使用xmlhttp的乐,在想是不是还有一些xmlhttp的方面是我没有了解到的。

不知能不能赐教一二。
0 请登录后投票
   发表时间:2004-11-01  
swing 写道
个人觉得B/S 方式的 Rich Client 框架,最大得问题是浏览器,ie提供很强得功能,但是问题也不少,各个浏览器版本兼容问题很大,ie自己得各个版本都有可能不兼容,依赖这样的环境实在有点危险。

不去做研究,不管你用什么技术都是非常危险的。干脆不要自己做,去买现成的,这样危险肯定最小。IE 和 Mozilla 的差别是比较大,具体的差别以前我都说过,不想再多说了。但是在做 Intranet 应用的时候,是可以要求用户只使用某种浏览器(例如 IE)的。IE 的各个版本之间也有一些差别,但是差别不多,都非常容易解决。以后我会把 IE5 和 IE6 的差别总结一下贴在这里,其实确实不多的,大概也就 4、5 条。如果你知道了这些差别,还是要抱怨使用这些技术太危险,我好像没有必要再浪费时间在这里做义务咨询了吧?
swing 写道
不过你不要误会,我也是做rich client得现在。在这里顺道问下dlee,以前在其它帖子有看到你说你们现在得实现使用xmlhttp,我也试验过,结果很不好,特别是提交得xml 流得处理没有找到办法,因为是流,所以要将它组装成合法得xml感觉比较烦,而且考虑到以前的代码兼容问题,所以最终还是采用乐改良后的form提交,效果和xmlhttp差不多。
这里我碰到最主要的问题是,客户端提交请求时的参数处理,以及在服务器端接收参数的处理问题。另外,xmlhttp是否能够处理所有的请求呢?感觉上某些请求是比较麻烦的,比如文件上传。这么问就纯粹问下你是不是就纯粹使用xmlhttp的乐,在想是不是还有一些xmlhttp的方面是我没有了解到的。

其实不管你用 XMLHTTP 还是用 Form 提交,这里的关键是你要以后台的方式(精确地说是以一种静悄悄的方式)来做这件事情(Form 也可以以后台方式来提交的,不必刷新页面)。这样因为没有转换到新的页面,你就可以保留下中间的状态,其实我们采用这种方式经常要在一个页面上做很多事情的。以前你得到参数是通过 getParameter() 方法,现在自己使用 Xerces 或者 dom4j 来解析 XML 以得到其中的参数,有很大的差别吗?如果你不熟悉 XML 的话,建议你看看《Java 与 XML》,其实 XML 对于数据的描述能力比起普通的 getParameter() 这种只能得到字符串的方式要强大的多,所以我还是建议你多去看些关于 XML 的东西。

文件上传当然不能使用 XMLHTTP,我们有专门的控件。你以此来作为反对 XMLHTTP 的理由,有什么意义吗?
0 请登录后投票
   发表时间:2004-11-01  
晕,就怕你这样理解我的话,
本来是想讨论讨论的,我不知道该如何解释乐。
为了避免越描越黑,我还是不说乐。
唯一说明得是,你所回答得内容中,只有“文件上传当然不能使用 XMLHTTP,我们有专门的控件。你以此来作为反对 XMLHTTP 的理由,有什么意义吗?”说明乐你不使用xmlhttp传递文件,至于反对不反对,
我更晕,我摆明乐支持乐,只是我觉得中间有一些细节问题不好处理,所以放弃乐,改为使用form提交,
至于不刷新界面,那是显然得,因为我有说“效果和xmlhttp差不多。”

另外,我可不是你得敌人。
你批我得第一段我就不反驳乐,基本上不要认为我什么都不懂就可以乐,我在这个上面花得时间虽然不多,也有快1年半乐。
0 请登录后投票
   发表时间:2004-11-01  
to swing:
看来是我的理解错了。我一直感觉 Java 世界有一种轻视浏览器端的技术、一味强调瘦客户端的倾向(我敢说 10 个 Java 程序员有 9 个都是这个调调),所以感到有必要大声说出自己的意见。有些话言重了,请别介意。

我不是说知道了 XMLHTTP 这些东西就有什么了不起,这些技术其实也都是些相对比较简单的技术,比起 Java 世界最新的高级技术来说简单的多。但是这些确实是非常实用的技术。我认为结合 XMLHTTP 和 JS 的能力建造一个 Rich Client 开发平台是完全可行的,实际上我们现在已经做到了。
0 请登录后投票
   发表时间:2004-11-01  
dlee 写道
我一直感觉 Java 世界有一种轻视浏览器端的技术、一味强调瘦客户端的倾向(我敢说 10 个 Java 程序员有 9 个都是这个调调)


不是Java世界轻视浏览器端技术,而是浏览器端技术根本就不属于Java技术的范畴,一个web程序员不应该轻视浏览器端技术,但是一个Java程序员完全有理由轻视浏览器端技术,因为这玩意根本和我无关,我凭什么要重视?如果我一直做Swing开发,你让我重视浏览器,我重视的起来吗?

再说Java Web Framework着力于解决服务器端逻辑分层,提高代码复用度,而提高人机界面不是Tapestry,Webwork们的责任,又何必求全责备呢?你完全可以找一个bindows来搭配你的Java Web Framework做为你的浏览端的框架。
0 请登录后投票
   发表时间:2004-11-01  
哦,其实就是因为这样才想同你交流下嘛,因为我现在也是做的基本一样的东西,xmlhttp我是有了解过并研究过的,最终权衡再三感觉还是选择使用form好。
其实说起来,让用户绑定IE,我们确实是这样,而且要求版本必须一致,但是最近XP新打乐个补丁,结果导致JS不兼容,让我很头疼(其实也只是偶尔疼下,毕竟还没有潮水般的用户反馈过来),最怕就是这个乐。
js的优点很多,但是缺点也非常明显,希望有一种更好的面向对象的语言能够介入进来。

不过,让客户端尽量瘦些,也是目标之一,呵呵。
其实用户有要求过,不要做翻页的,一次把所有数据都拿到界面,本来我们40行左右分页,后来实在不行乐,没办法,就页面按1000行分页。其实用户的想法真的很简单,为什么要按一下按钮等待页面数据重新载入,而不是用滚动条。

但是很多事情我想还不是我们想象的这样的,
拿着锤子就满世界找钉子。

相对来说,我会喜欢有用就好,关键是达到目的,
另外问问JS的编辑器你有没有好用的?我找乐很多,
感觉都是差强人意,我公司界面方面的头子他也是
用editplus之类,
老实说,好的开发工具真的是会事半功倍,js这方面好缺感觉。
0 请登录后投票
   发表时间:2004-11-01  
swing 写道

相对来说,我会喜欢有用就好,关键是达到目的,
另外问问JS的编辑器你有没有好用的?我找乐很多,
感觉都是差强人意,我公司界面方面的头子他也是
用editplus之类,
老实说,好的开发工具真的是会事半功倍,js这方面好缺感觉。

js编辑器我用过最好的应该算是vs.net2003了。
不管是js代码编辑,html代码编辑也是我用过最好的。
不过美工用的话还是dw好
0 请登录后投票
   发表时间:2004-11-01  
其实我是很希望不要再在界面这个地方搞乐,
真是搞得我头疼啊,
而且这些其实是小问题,当然,小问题并不是说就真得小乐,而是相对来说的。
有时候想,一屋不扫何以扫天下,小问题都解决不了,怎么解决大问题,
但其实又好像术业有专攻,可能这些是两码事。
毕竟这个问题不能解决不代表那个问题就没发言权。
而且一个人时间精力就这么多。
所以想来,还是有个东西垄断着好,那样没得选,大家都干脆,呵呵。我想XML君临天下的日子不会太远,java们就割地封侯吧(这句纯粹玩笑话)。
0 请登录后投票
   发表时间:2004-11-01  
to baichenhong:
哦,thanks,会找来试试手,^_^
0 请登录后投票
论坛首页 Web前端技术版

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