使用SWT开发WEB应用 - 编程入门网
使用SWT开发WEB应用时间:2011-02-08 IBM 榕黄林SmartSWT简介 为了提高传统WEB应用的界面表现能力,RIA技术应时而生,各种RIA平台通过各种手段来提高丰富的图形界面。如Bindows,它使用动态HTML技术模拟Windows控件,还有Flex,直接使用Flash做为WEB应用的表现层,以弥补DHTML技术的不足。 而SmartSWT则是基于SWT的RIA发布平台。它可以将普通的SWT的应用直接发布成为一个可通过客户端浏览器访问的WEB应用,这样就使通过SWT直接开发 富UI的WEB应用成为了现实。不仅如此,基于SWT扩展的许多扩展包也大都可以直接使用,如JFace、GEF等。 SmartSWT和SmartClient不一样,它并不是将SWT应用程序下载到客户端来运行,而是和B/S模式的WEB应用一样,整个应用程序是运行在服务端的,只是运行过程中将图形界面实时显示于客户端的浏览器中,并将客户端的操作事件自动实时返回服务端,触发服务端原SWT应用的事件处理代码进行处理。服务端的SWT应用所进行的数据库操作和文件操作都是相对于服务器端进行的,而不像C/S应用那样,需要客户端自己将数据按自定义的通讯协议传回服务端再进行处理。 SmartSWT底层的通讯是加密而且高效的,在内网的客户端打开服务端的SWT应用,和原来直接在本机使用相比相差不多。相当于将您机器的CPU降一档后运行应用程序的感觉。 SmartSWT目前测试版本是3.1,表示支持SWT3.1的兼容应用程序。 下图是一个SWT应用(SWT Control Example)在SmartSWT平台部署后,客户端通过IE浏览器访问的效果: 安装运行 SmartSWT的测试版仅支持Windows系统,根据其用户手册的说明,它的服务端正式版将支持Linux、Unix等系统。SmartSWT 安装运行非常简单,从www.smartswt.com下载SmartSWT31压缩包并解压,在解压目录下有三个子目录SmartSWTClient、 SmartSWTServer和WEB。 1. 打开SmartSWTClient目录,运行Setup.exe安装客户端,该程序将在客户端安装一个定制的小型JAVA虚拟机。 2. 打开SmartSWTServer目录,运行Startup.bat,将运行SmartSWT服务端,SmartSWT使用自带的JAVA虚拟机,所以您不用预先准备它。 3. 如果您的客户端和服务端都在同一台机器,则直接进入WEB子目录,用IE打开index.htm文件,大约15秒钟左右即可在IE浏览器中启动SmartSWT桌面,您这时可以通过Start菜单,启动内置的DEMO程序体验一番。 使用SWT开发WEB应用(2)时间:2011-02-08 IBM 榕黄林开发SmartSWT应用 开发SmartSWT应用基本上和开发普通的SWT应用相同。您可以使用Eclipse的SWT可视化插件来帮助创建一个SWT应用程序,比较好的有Designer及Eclipse的VisualEditor等。 用于部署到SmartSWT服务器的SWT应用在开发时有些小的限制,幸好这些通常都只是举手之劳: 1. Display的获取必须统一使用Display display = Display.getDefault()方法,不能使用new Deisplay()创建,SmartSWT目前尚不支持多Display的应用,对大多数应用来说这不是问题; 2. 创建的Shell最好必须调用shell.setSize()对其尺寸进行初始化,否则在SmartSWT将默认呈最小化状态; 3. 尽量不要使用非公开的API,因为有少量非公开API,可能SmartSWT并没有实现它; 4. 尽量不要使用其它JNI技术和ActiveX控件,不要使用SWING和AWT等非基于SWT的控件; 5. 避免初始化时一次创建几十上百个控件,这样会造成启动时间较长,应在需要显示时创建控件。 部署SmartSWT应用 SmartSWT的部署一样很简单,只需将调试通过的SWT程序的类文件,按包名目录结构原封不动拷贝至SmartSWTServer的 swtapps目录,然后在SmartSWTServer.xml文件中按以下格式注册一下,最后重启SmartSWTServer,你就可以通过客户端浏览器启动SmartSWT桌面,在Start->Programs菜单里启动它:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |