常见问题
SmartSWT简介
SmartSWT与其它RIA比较
软件载图
快速指南
常见问题
如何购买
试用软件下载



业务联系 | 程先生
联系电话:18960917976
EMAIL:sales@xdevelop.net
MSN:longlybug@msn.com
QQ:33450
(不在线请留言)

商务合作 | 黄先生
联系电话:13058038663
EMAIL:starboy@xdevelop.net
MSN:huanglinrong@hotmail.com
QQ:2957451
(不在线请留言)

常见问题


若以下仍未能解决您的问题,请第一时间与我们联系(参见页面左边的联系方式),我们一定会给您一个满意的答复。

1. SmartSWT是把服务端的SWT软件下载到客户端运行吗?
  答:不是。SmartSWT是真正的B/S模式的程序,SWT应用是在服务端运行,直接操作服务器端的数据库、文件等,SmartSWT只是将SWT应用运行过程中的 图形操作界面自动传递到客户端浏览器,并把客户端的操作发回服务端,最终仍由SWT应用程序在服务端完成逻辑处理。
    这一切都是SmartSWT自动完成,不需要用户维护通讯协议,使SWT应用就像一个真正的B/S模式的WEB应用。 当应用需要升级时,直接将服务端的应用程序升级即可,不需要更新客户端,也没有下载更新的过程。
    它与C/S应用不同,C/S应用的客户端需要通过自定义的通讯协议传输数据,服务端的另一个程序收到后,再进行一番处理。 所以开发C/S应用需要同时开发客户端和服务端两个程序,需要维护两者的通讯协议。当软件更新升级时,通常都得同时更新客户端和服务端的程序,即使具有自动更新功能,客户端也有一个下载更新的过程。
    这是SmartSWT与微软SmartClient、Sun的WebStart这类技术不同和优胜的地方。

2. SmartSWT和Applet技术有什么区别?
  答:SmartSWT是真正的B/S模式应用程序,而Applet是让Java程序能在浏览器中运行,不是B/S模式的应用。
    如果Applet有服务端的话,Applet起的作用类似C/S模式应用的客户端,像问题1中所说的,它将信息通过自定义的通讯协议传回给服务端,由服务端完成剩余的逻辑。 如果Applet没有服务端,那么只是起到将JAVA程序从服务器下来到本机服务器运行而已。
    而SmartSWT中的SWT程序实际上是运行在服务端, 而客户端的浏览器只是看到它的运行界面,并可以操作,操作过程的业务逻辑都实时在服务端完成。这和普通的B/S模式的J2EE应用没有差别。实际上SmartSWT和Flex是非常类似的,只是Flex是基于Flash,而SmartSWT基于SWT。
    另外,Applet不能操作本地文件,不便于开发内网应用。而SmartSWT允许SWT应用选择操作服务端文件或是客户端文件。

3. SmartSWT和Flex相比有什么优劣势?
  答:SmartSWT和Flex是非常类似的RIA平台。二者都是B/S的应用,都能提供丰富的客户端界面表现,客户端都需要有控件支持(SmartSWT需要JRE虚拟机、而Flex需要Flash播放器),服务端都是基于JAVA平台,可以使用JAVA的各种技术,能使用XML、EJB、各种持久层方案以及采用各种开发框架等。
    二者最大的区别在于,SmartSWT是基于SWT,而Flex是基于Flash。二者的优劣势主要集中在用SWT或用Flash做客户端界面相对比产生的优劣势。
    A. SWT依托Eclipse,有着强大的背景支持,有着大量相差扩展应用,如:Draw2D、JFace、GEF、EMF等扩展技术 ,这些技术大都可以直接在SmartSWT中用于做界面表现。
    B. 在内网的办公系统、ERP及其它企业信息管理系统中,SWT这种桌面应用的操作界面,要比Flex这种Flash操作界面 更适用些,其表现力和功能更成熟些。
    C. SWT及相关技术可以很容易开发出像Eclipse这样复杂操作界面的应用,用GEF可以很容易写UML设计器这样的图形交互应用,用Draw2D技术可以轻松实现报表、图表,而且这些Eclipse都有现成开源的项目,许多技术现成可用,避免重新开发。这些表现技术都是OA和ERP类应用常用到的。相比Flex的控件尽管也比较漂亮,但上述这些应用,如复杂格式的编辑器、类似UML的设计器等都实现困难,而且缺乏技术积累。SWT还可以直接调用Windows API实现一些特殊效果,而Flex则不容易。
    D. Flex不支持动态创建控件,比如不能根据临时需要生成一个Window或者一个按钮,只能对原有的Window和按钮进行操作。
    E. SmartSWT可以根据应用需要,允许直接操作客户端本地资源,如打开文件、直接使用打印机、扫描仪等输入输出硬件。而Flash的客户端不允许。
    F. 使用SmartSWT,开发者只需要掌握JAVA开发技术即可,不需要和HTML、JS打交道,可以像开发桌面应用一样开发WEB应用,而Flex的表现层是基于脚本语言,不仅要掌握原来的JS技术,还要新掌握一套Flex的脚本技术。
    G. 价格便宜,Flex至少要上万美金,而SmartSWT的当前的价格只是上千人民币。
    相对Flex的劣势主要是: A. SmartSWT不能开发外网应用,但Flex可以。B. SmartSWT和Flex一样,都需要客户安装一个客户端,SmartSWT需要安装一个定制的小型JAVA虚拟机,而Flex是安装一个Flash播放器,但Flash的ActiveX控件普及 度要高很多,客户端几乎没有额外工作。C. Flex的Flash客户端可以跨浏览器,而SmartSWT的客户端暂时只支持Windows平台(但服务端不限)。
    总体比较起来,SmartSWT在内网开发企业管理类应用上要比Flex强些,目前企业内网办公通常以Windows居多,客户端只需要一次安装,而且安装比较容易,对用户来说负担不是很大。

4. SmartSWT的安全性如何?
  答:SmartSWT很注重安全性设计。
    SmartSWT的数据通讯是高度加密的(千位以上),无法通过监听传输获得任何明文数据。这比普通的WEB应用要强,普通WEB应用的数据传输都是明文的,不利于安全性。
    SmartSWT客户端只是界面和操作交互层,无法获得服务端的应用程序。这些都和普通J2EE应用一样。

5. SmartSWT中的SWT有什么限制?
  答:SmartSWT的SWT应用程序限制很小,下面除第一、二条是必须遵守的以外,其它都是非强制性的:
    A. Display的获取必须统一使用Display display = Display.getDefault()方法,不能使用new Deisplay()创建;
    B. 不能使用SWING和AWT等非基于SWT的控件;
    C. 创建的Shell最好必须调用shell.setSize()对其尺寸进行初始化,否则在SmartSWT将默认呈最小化状态;
    D. 尽量不要使用非公开的API,因为有少量非公开API,可能SmartSWT并没有实现它;
    E. 尽量不要使用其它JNI技术和ActiveX控件,如果需要使用,需要在SmartSWT上进行测试能正常运行后再用。
    F. 避免初始化时一次创建几十上百个控件,这样会造成启动时间较长,应在需要显示时创建控件。

6. 哪些API不可用?
  答:SmartSWT 3.1支持所有的SWT3.1 Windows正式版的公开与非公开API(包括内部包的类和API)。不支持的API是指,原先在SWT早些版本存在,但SWT3.1中已不存在的API。所以您的程序如果是SWT3.1兼容的,尽可放心使用。推荐尽量不使用,只是出于向后兼容考虑。因为这类非公开API在SWT3.2或更后的版本也可能不支持,那么在SmartSWT3.2或以后版本也同样不被支持。

7. SmartSWT可以不通过SmartSWT桌面启动,而直接启动吗,或者SmartSWT桌面能否定制?
  答:可以。试用版中用户的SWT应用程序必须通过SmartSWT桌面启动,是为了便于使用和商业原因,而不是技术原因。正式版用户可以商讨桌面的定制事宜。

8. 试用版有什么限制?
  答:试用版只支持少量并发,会不定时弹出未注册提示框,不能更换SmartSWT桌面,有时间限制。
  Copyright © 2003 xdevelop.net, All Rights Reserved 粤ICP备05005573号