首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用SWT开发WEB应用(2)

使用SWT开发WEB应用(2)

开发SmartSWT应用[size=1.0625]开发SmartSWT应用基本上和开发普通的SWT应用相同。您可以使用Eclipse的SWT可视化插件来帮助创建一个SWT应用程序,比较好的有Designer及Eclipse的VisualEditor等。
[size=1.0625]用于部署到SmartSWT服务器的SWT应用在开发时有些小的限制,幸好这些通常都只是举手之劳:
[size=1.0625]1. Display的获取必须统一使用Display display = Display.getDefault()方法,不能使用new Deisplay()创建,SmartSWT目前尚不支持多Display的应用,对大多数应用来说这不是问题;
[size=1.0625]2. 创建的Shell最好必须调用shell.setSize()对其尺寸进行初始化,否则在SmartSWT将默认呈最小化状态;
[size=1.0625]3. 尽量不要使用非公开的API,因为有少量非公开API,可能SmartSWT并没有实现它;
[size=1.0625]4. 尽量不要使用其它JNI技术和ActiveX控件,不要使用SWING和AWT等非基于SWT的控件;
[size=1.0625]5. 避免初始化时一次创建几十上百个控件,这样会造成启动时间较长,应在需要显示时创建控件。
部署SmartSWT应用[size=1.0625]SmartSWT的部署一样很简单,只需将调试通过的SWT程序的类文件,按包名目录结构原封不动拷贝至SmartSWTServer的swtapps目录,然后在SmartSWTServer.xml文件中按以下格式注册一下,最后重启SmartSWTServer,你就可以通过客户端浏览器启动SmartSWT桌面,在Start->Programs菜单里启动它:

[size=0.875]1


[size=0.875]2


[size=0.875]3


[size=0.875]4


[size=0.875]5


[size=0.875]6


[size=0.875]7


[size=0.875]8


[size=0.875]9


[size=0.875]10


[size=0.875]11


[size=0.875][size=0.875]<!-- Configuration of each SWT Application
[size=0.875]  name: the name of the SWT Application
[size=0.875]  mainClass: the main class to start the SWT Application
[size=0.875]  startup: will it start just after the smartswt desktop started(haven't supported)
[size=0.875]  description: the description of the SWT Application
[size=0.875]-->
[size=0.875]<Application name="ControlExample"
[size=0.875]mainClass="org.eclipse.swt.examples.controlexample.ControlExample">
[size=0.875]    <startup>false</startup>
[size=0.875]    <description>ControlExample Application</description>
[size=0.875]</Application>




SmartSWT: RIA平台的强有力竞争者[size=1.0625]SmartSWT同其它RIA平台比较有一些独特的优势。首先它是基于SWT的RIA平台,依托强大的Eclipse阵营,有许多扩展技术可用,如JFace、GEF、EMF等,像UML设计器、报表、动画这样的复杂图形应用都可以通过SWT实现后,发布到SmartSWT,从而在WEB上很轻松地使用这些桌面应用独有的表现技术。还有OpenGL、RCP这类应用也有可能在将来得到支持,而且Eclipse不断发展中,SWT相关技术的不断成熟,都将以最快的速度同时运用于WEB应用。而且多年来用积累的用SWT开发的软件,不需要修改,或只需少量的修改,即可同时拥有WEB版本。
[size=1.0625]其次,很多JAVA应用开发者往往只对JAVA服务端的技术感兴趣,而对表现层采用的HTML、JS、JSP这类标签语言和脚本技术并不喜欢。而事实上兼通JAVA技术、HTML和脚本技术的程序员也是少之又少。这也是造成许多传统J2EE应用的界面表现不佳的原因。由于SmartSWT直接采用了SWT,使的整个应用的开发完全是纯JAVA技术的开发过程,开发者不再需要与非面向对象的HTML、JS、JSP等标签语言和脚本技术打交道,整个开发过程完全是桌面应用的开发模式,基于事件驱动。这使得应用开发在技术人员的配备上要容易得多。
[size=1.0625]此外,发布到SmartSWT的SWT应用,客户端通过浏览器使用时,仍然具有和原SWT一样的具有Windows本地风格的界面,具有和真正桌面应用一样的表现能力和事件机制,其表现能力和功能是Bindows以及Flex等技术无法真正模拟的。
SmartSWT的局限性[size=1.0625]尽管SmartSWT有诸多好处,但也存在一些局限性。 由于技术实现的原因,对网络传输速度要求较高。SmartSWT在内网内访问时,其使用效果和本机上直接使用相差不多,但在外网上却几乎不具可用性。这决定了SmartSWT只能用于开发企业内网应用。
[size=1.0625]另外,和Flex类似,Flex要求客户端的浏览器安装一个Flash ActiveX控件,SmartSWT也有类似要求。SmartSWT客户端需要在浏览器中实时表现服务端SWT应用的图形界面,并对用户操作做出响应,这就需要在客户端安装一个特制的小型JAVA虚拟机,并以ActiveX控件的形式在IE中使用。某些政府机关的敏感部门对这种方式 可能比较反感。
选择SmartSWT,还是...[size=1.0625]是否选择SmartSWT,取决于您的软件应用范围和客户。如果您的软件是内网的企业应用,您的用户日常办公使用的是Windows系统,而且对客户端安装一个小小的虚拟机不介意的话,选择SmartSWT无疑是上佳选择 。它将使您的WEB应用开发充分享受SWT开发的各种便利性和各方的丰富技术支持,完成普通WEB无法完成的功能。SWT界面的表现力和操作便利性,也会使客户满意度大大提高。
山不在高,有仙则名;水不在深,有龙则灵。
返回列表