SmartSWT是RIA开发平台,允许你使用Eclipse的SWT控件开发WEB应用程序。标准的SWT应用程序几乎不需要任何修改,就可直接发布到SmartSWT平台成为B/S模式的WEB应用程序,客户端可通过浏览器访问该程序。
简言之,SmartSWT平台可将一个普通的SWT应用程序,部署成为一个WEB应用程序。
使用SmartSWT平台,您可以使用SWT开发一个桌面应用程序一样来开发一个Web应用程序,也可以将已有的SWT应用程序几乎不需怎么修改的直接部署发布成一个WEB应用,成为一个典型的B/S模式应用。
详情及下载:http://www.smartswt.net/smartswt/index.htm
简言之,SmartSWT平台可将一个普通的SWT应用程序,部署成为一个WEB应用程序。
使用SmartSWT平台,您可以使用SWT开发一个桌面应用程序一样来开发一个Web应用程序,也可以将已有的SWT应用程序几乎不需怎么修改的直接部署发布成一个WEB应用,成为一个典型的B/S模式应用。
详情及下载:http://www.smartswt.net/smartswt/index.htm
解决方案 »
- 用正则表达式取字符串
- 为什么creatNewFile一定要写在try catch语句内?
- 关于jsmooth 中JVM的问题 ???^_^!!
- javac Hello.java时,找不到Hello.java文件
- 《Thinking in java》一书课後的习题解答哪里找?
- 请问新浪,网易,263上面的给手机发送图片,短信,铃声的Web是用什么做的?
- 用jdbc连接数据库是如何配置odbc
- html中textArea的问题
- 我用javac编译HelloWorld.java为什么出现 错误:不能读 HelloWorld.java
- java的唤醒等待机制问题
- 数据库驱动的问题
- 【醒目】JAVA学习资料转让
直接用SWT像开发桌面程序一样开发内网的WEB应用,比Flex还爽
答复如下:
1. 安装定制虚拟机确实不便,不过这个安装在企业内网还是比较方便的,而且安装过程很快很简单。而且不因为服务端的软件改变而改变,安装一次即可,不必像C/S软件那样,每次升级通常都要升级客户端。
2. 测试版为了方便大家理解,是需要从SmartSWT桌面启动的,以降低理解门槛,实际上是可以通过配置直接启动用户的程序,而没有桌面,获者可以更换界面的背景标识等。
3. 该框架的通讯是高度加密的,保证不容易通过监听窍取原始数据。该框架是做为RIA,它克服了其它RIA框架对本地操作的限制,服务端软件可以操作客户端本地资源,可以直接在本地进行打印,扫描等操作。但客户端本身是不具备这类操作的,是由服务端软件运行时进行的,所以这个的安全保证由用户开发的服务端软件自己来保障。因为这是内网应用,你使用的服务端软件当然是你所真正要用的,是自己授权安装使用的,这个安全性至少是自己知情的。而Applet是常用在广域网上,无法保障每家提供商都是善意的,所以要做操作限制。
4. 部分SWT API不被支持的意思是非公开包中的API。这在SWT本身也不能保证长久支持。比如有的非公开API在3.0中有,在3.1中可能就没有了,这些API在SmartSWT中可能不支持,这不影响SWT开发。目前SmartSWT支持SWT 3.1 Windows正式版中几乎所有的公开与非公开API,包括OS类中的API。这已经足够大家超越SWT标准API进行开发了。
1. Applet如果它有服务端的话,是C/S模式的应用,它必须通过自己定义的通讯协议,与服务端进行通讯和数据交换,再由服务端收到信息后根据要求进行保存数据库等操作。也就是Applet得与客户端和服务端两个软件。
2. Applet如果没有服务端的话,它只是下载一个JAVA程序在浏览器运行,不是真正的B/S模式应用。
3. 而SmartSWT是B/S模式的WEB应用。和J2EE WEB应用一样,只需要写服务端一个程序,客户端不需要另外一套程序,客户端只是将服务端SWT程序运行的界面展示出来,并把事件发回服务端原应用程序处理,所有逻辑处理过程都在服务端完成。而这些不需要自己定义通讯协议。
4. SmartSWT并不是把SWT应用从服务器上下载下来运行,而是直接在服务端运行,在客户端获得UI,SWT应用操作的资源,如数据库,文件系统都是相对于服务端的。
所以,SmartSWT和Flex都是具备丰富UI表现的真正B/S模式的应用。是具备C/S丰富UI表现优点的BS模式。
而SmartClient、Applet则不是B/S模式应用,它们是C/S模式,是具备了B/S的发布更新方便等某些优点的改良的C/S模式。但改良的C/S模式仍然需要写客户端和服务端,客户端需要分担逻辑处理,这是改良C/S仍然存在的缺点。
cs的UI表现丰富是有代价的,大数据量需要比较高的带宽,客户端保持数据,调用本地方法,需要一定的计算能力,也就是说客户端分担了服务器端部分的计算任务,胖客户端瘦服务器模式也就是传统的cs模式。
如果SmartSWT和Flex丰富的UI表现没有消耗网络带宽或者本地计算资源,他丰富的UI表现从何而来?FLEX的本地矢量图像数据难道不消耗本地资源吗?大量的矢量数据传送到本地不影响网络带宽吗?
客户端是什么?是UI吧,难道bs就不要写UI了吗?cs和bs的UI主要区别在于:大部分的计算任务是服务端负责还是客户端负责。
至于是bs还是cs,让我们从整体架构来分析一下。
传统的cs是两层结构:服务器,客户端。通过网络连接交换数据。
bs模式:三层架构,在cs模式的中间夹了一个WEBSERVER。
APPLET是不是bs模式呢?它发布在webserver下,运行在bs模式的三层体系结构下,你说是不是bs模式呢?
欢迎继续探讨。SmartSWT,SmartClient,他们的运行方式是什么呢?
2,bs模式和cs模式的主要区别。
3,applet是不是bs模式。
首先,回答第一个问题:依据: macromedia公司的说法:“RIA的引入给我们带来重新在客户端和服务器端进行更好的平衡的机会”也就是说客户端必须首先将大量的所需数据下载到本地,然后自行计算后才能得到所需结果.
第二个问题:我认为bs的基本特点是在browser下运行,浏览器通过访问webserver来访问数据库或者其它服务。cs要自己维护通讯协议,难道基于soap协议的网络应用就都是cs模式的吗?所以用是否需要自己维护通讯协议不能作为cs与bs模式的区别。我的观点是bs的基本架构是3层:浏览器(UI),webserver,数据服务器。cs采用的基本架构是客户端(UI),数据服务器。当然在这基础上可以扩展,但是本质区别就是2层和三层的区别。
第三个问题:同过上面两个的讨论,我想答案已经很明显了,applet在浏览器中运行,采用的是http协议于webserver交互,如果应用复杂的话也会用到jndi,rmi等通讯方式,但本质都是tcpip协议,所以applet是bs模式的应用。
遗留问题:applet不需要用服务器端返回的数据生成页面,而是由下载到本地的UI来负责显示,也许这就是他与传统的bs模式的区别,也是大家认为applet不是bs模式的主要原因吧。
欢迎继续讨论,但是我想换个地方,这里显得稍为冷清了些,哪里比较好呢?