模式 + GWT + Ajax = 易用性
2009-09-12 00:00:00 来源:WEB开发网模式:代码共享
检查不需要都在服务器上执行,而且客户端检查越多,应用程序就越敏捷。在使用传统的 Web 开发工具时,这意味着所有检查都要编写两次(一次用于服务器,一次用于客户机),但是 GWT 允许在两端使用相同的 Java 代码。服务器端代码可以使用所有 Java 特性,而客户端代码要编译为 JavaScript 代码,而且受到 JavaScript 语言的限制。例如,JavaScript 代码不能使用文件;因此不能在客户端使用 java.io。
代码共享模式实现类的客户端版本,然后针对服务器扩展它,可以使用所有 Java 特性。因为客户端代码只能操作自己的有限的对象,所以需要两个特殊方法:一个构造函数,可以接收客户端对象并使用它创建服务器端对象;一个方法,可以根据服务器端对象生成客户端对象。
ClientCityData 和 ServerCityData 类演示这个模式。客户端代码需要实现 IsSerializable 接口,以便能够在客户机和服务器之间来回发送对象。ServerCityData 类只能在服务器上使用,它包含上面提到的两个特殊方法。
模式:缓存
到目前为止,GWT 帮助我提高了性能,但是它在一个方面会损害性能:缓存。当浏览器请求页面时,它会先搜索自己的缓存。如果在缓存中找到了所需的结果,它就不调用服务器,直接提供数据。(当然,在数据放进缓存之前必须满足许多条件,但是这与目前的问题无关)。问题在于,当 GWT 调用 servlet 时,它通过不可缓存的 Ajax 过程实现 Remote Procedure Call (RPC),所以即使反复请求相同的数据,浏览器也不会使用缓存,每次请求都会有延迟,见图 4。
图 4. Cities Browser 可以分页浏览一个地区的城市
- ››Ajax 实现静态刷新页面 带加载旋转图片
- ››ajax中获取和发送二进制数据的方法
- ››模式作用域:初级读本和最佳实践
- ››ajax调用后台页面怎样区别ID
- ››Ajax+jQuery实现LightBox与服务器通信
- ››AJAX中利用javascript的split函数处理responseTex...
- ››AjaXplorer 2.6.1 发布,远程文件管理
- ››AJAX + SVG 实现实时监控图表
- ››AJAX 及使用 E4X 编写 Web 服务脚本,第 2 部分:...
- ››AJAX也有安全隐患 谈谈AJAX的安全性
- ››ajax+asp.net+mssql无刷新聊天室
- ››AJAX中文问题[转]
更多精彩
赞助商链接