最近想做一个客户端软件,不过以前一直做的WEB应用.
不知道swing/swt比较,用哪一个好一点
另外考虑使用eclipse rcp来做.
我对rcp的理解是:rcp是基于swt/jface基础的一个已经搭好的框架或平台,大量eclipse IDE所用到的组件都可以直接使用,只需关注业务就可以了.
哪位兄弟可以帮忙介绍一下这几个的概念,比较它们的优劣.
另外一个问题,好象记得swing里面有一个frame和dialog的概念
对于rcp,它的viewpart概念还不大熟悉,什么时候采用viewpart,什么时候
使用editor,然后什么时候采用dialog,它们之间的关系怎么样.
另外,使用rcp,那么做出来的gui风格,估计和eclipse一样,比如一个view视图
的显示.是否可以定义其它风格.
找了一些例子,感觉都很业余,考虑怎么能够做得更专业一点点,最近看到一个词语,好象叫做商业品质吧问题有点乱,也不一定对,麻烦大家看看,主要想知道一个客户端软件是怎么做的
不知道swing/swt比较,用哪一个好一点
另外考虑使用eclipse rcp来做.
我对rcp的理解是:rcp是基于swt/jface基础的一个已经搭好的框架或平台,大量eclipse IDE所用到的组件都可以直接使用,只需关注业务就可以了.
哪位兄弟可以帮忙介绍一下这几个的概念,比较它们的优劣.
另外一个问题,好象记得swing里面有一个frame和dialog的概念
对于rcp,它的viewpart概念还不大熟悉,什么时候采用viewpart,什么时候
使用editor,然后什么时候采用dialog,它们之间的关系怎么样.
另外,使用rcp,那么做出来的gui风格,估计和eclipse一样,比如一个view视图
的显示.是否可以定义其它风格.
找了一些例子,感觉都很业余,考虑怎么能够做得更专业一点点,最近看到一个词语,好象叫做商业品质吧问题有点乱,也不一定对,麻烦大家看看,主要想知道一个客户端软件是怎么做的
swing是jdk自带界面组建,客户不需要另外下载jar包。而且基本功能都可以实现。胖客户端主要是把业务处理放到客户端来进行,减轻server压力。但还是要考虑程序本身大小的,需要用户另外下载的东西还是少用的好。
不过总是站在netbeans立场上说话,难免有马甲之嫌(参看http://blog.sina.com.cn/u/1264601020#feeds_FEEDS_1264601020),
多几个人的意见,多讨论一点我想总是不错的,我刚就下载了netbeans看看
对于ide我个人感觉
用的顺手自己喜欢的就是最好的
没必要赶时髦
我个人喜欢,就像喜欢eclipse的人写eclipse的文章。如果你有喜欢eclipse或者swt,并且写出你的理由,我也喜欢看啊,大家进行辩论才能知到优劣嘛。我以后还会对SWT的结构和实现进行深入分析,并把两者只做技术上的对比分析,尽量避免市场、政治、宗教、情绪等非理性的东西。欢迎大家可以常过来看看,你有反对意见我很欢迎,我们也可以进行讨论。
说实话 你的文章写的挺不错的
SWING做出来的东西的却不错
呵呵,实在是对不起了,原本只是想多能看到一些有深度一点的文章,各方面的.
我对swing和swt都不是很了解的.
其实我一直都在认真看你写的,希望你不要介意,另外真的感谢你的文章,希望能够为我们贡献更多的吧,也许我们每个人都应该努力写一点有用的东西,只是现在遗憾自己可能还达不到这个水平吧
没必要赶时髦
============================
典型的封建思想,如果你当决策者,鬼都要饿死。
汇编用得好的人肯定还得学习学习C,C++,
awt用得好的人怎么可能不学习Swing,
否则Sun公司还混个屁
你不封建 你牛 你能把所有的新技术都学个遍?
cd
看看这里http://community.csdn.net/Expert/topic/5291/5291651.xml?temp=.3623163我参与使用swing开发的医疗系统,全部是web下面的applet还是在3年前现在swing的效率更好为什么不发扬那个人观点
有谁拿SWING来写WEB的举手....SWING和SWT你习惯那个就用那个,就这么简单,去比较有什么区别完全没必要
你说一个更懂的让我听听?
把现在的WEB框架都用上
界面换成SWING那就是大碗
绝对牛
你可能始终没有熟悉java网络编程,其实使用swing做前台传输的数据要比web传输的数据少的多,想一想swing传递是纯数据,而web传输的是数据的HTML展现,数据量大了不止多少倍。你之所以觉得慢,肯定是你们没有正确使用java的网络编程。web让人觉得不慢,关键一点是它不断更新前台展现,不是直到所有数据都来了才突然渲染的。许多人在使用java网络编程和Swing编程时常犯一些简单的错误使得swing+http通信看起来很慢,这包括许多老手,甚至多年经验的人。
我以前在一家公司(我不提名了),他们就做银行方面的业务,他们使用Swing做,但是由于他们基础平台在网络通信上存在严重缺陷,使得swing+http的速度在局域都很慢,更不用说internet,而这个基础平台都是些至少有五年以上的Java牛人做的,其实稍微想想,你就会奇怪,传输少的多数据,为甚么java/http反而要比Web Browser慢,原因很简单,developer不行。
其实java做这种internet的应用的客户端唯一的缺陷就是部署,或者说客户端插件的安装等问题。如果不存在这些问题,这种java swing+http的做法是最好的选择。
===============================
这不就是c/s与b/s的区别了吗,我想如果Sun公司将Applet的装载过程搞成如c/s模式的话,速度肯定要大幅提高,再则Swing与Servlet之间的通信可能比普通网页传输慢得多。具体细节我没仔细考虑过,但是速度我是测试过的。
关于部署问题将是JDK 7和以后版本重点解决的问题,部署问题不单单设计技术问题,包括商业授权(Licenese),公司市场策略,公司之间的竞争等等,可以说Java开源为部署问题的解决打开了至关重要的大门。
Swing与Servlet之间的通信我知道怎么回事,很早以前我就怀疑为什么,后来知道关键所在,还是程序员的问题。
Swing与Servlet之间的通信也是采用http协议,浏览器与Servlet也是采用http协议,浏览器和Servlet之间往往要传递多得多得数据,原始数据被以HTML网页得形式展现,这个数据量大了不止一倍,最低层通信协议还是操作系统的TCP/IP等协议栈完成的,唯一点不同就是展现,所以还是程序员得问题,从这儿着想很容易就明白了问题的关键。
Applet的JRE下载后需要手工安装吗? 哪台电脑没有JRE?哪个浏览器没有JRE?
JavaWebStart不行吗?还需要Applet吗?
applet是cs的一种形式,web start也可以,application是最原始的CS组成部分用CS还是BS,主要问题在于客户端处理能力的不同和通信方式不同。CS理论上可以处理任何tusk,而BS是有限制的。CS可以采用任何方式通信,如Tcp、udp、http、ftp等,而BS只能基于http来做通信,所以再一味的讲cs好还是bs好是没有意义的。看了几个人的回帖,觉得确实是不懂呀,要知道tcp的特性http是代替不了的,所以很多地方不是用哪个好,而是必须用哪个。至于说CS比BS的速度慢的,我很诧异,千万别说那个CS通信是你写的。
其实sun做的最失败的就是没有把Applet和web start整合
WebStart不可以显示在页面里面,而applet每次都需要下载
对于嵌入web的applet太需要web start的版本检测和启动机制了。
Applet的JRE下载后需要手工安装吗? 哪台电脑没有JRE?哪个浏览器没有JRE?
JavaWebStart不行吗?还需要Applet吗?
======================================
本来我不想说的,纯粹**
Windows XP 下哪有JRE
你当微软和你一样SB
别和他们说了,和那些研究领域与研究性质都没搞明白的人,争起来有个鸟用?
虽然我们裤衩不多,我只佩服你。
http的底层是什么?http可以,tcp当然可以了
这里根本没有什么proxy或者firewall的问题
应用层协议可以,传输层的怎么可能不可以呢。http协议就是去取,如果cs用这样的协议来通信,那么server实际上是无法和client做到实时通信的。tcp和udp可以,因为他们可以反向push数据。(当然,这些都是废话了,这里的人应该都用过)
我服了你了,还是好好看看网络编程的书吧:)
这里面确实有经验的问题
你做到项目多了也就能体会到了如果只是做一个bbs的东西,那bs方便,而且实惠,但如果你做的是数据发布系统,要求服务端的数据变化了,客户立刻能够看到.这样的东西往往需要时差在100ms级别,http协议不可以,只能用tcp了,那样也只可以用cs来处理当然,如果你还需要对数据做处理,如图形显示\计算等,bs的功能也不够,还需要cs.(也可以把这些处理放到Server上做,采用瘦客户端,但很不实用,server压力会很大,影响性能).所以采用CS\BS方式很多情况下不是哪个好,哪个不好,而是业务需求造成的.即便再支持CS的用户,也不会把网页搬到app里面去显示.
真正引起争论的是采用胖客户端还是瘦客户端,是把数据加工放到客户端去做,只传输原始数据;还是把加工后的数据传给用户,客户端只显示结果.两种都有优点,不过现在的机器越来越好,网速也越来越高,胖客户端占的比例也越来越高了
不好意思,我是服了你啊,第二句的意思是俺仔细回去学学网络编程啊。
good luck
URL url=new URL("http://host.com/service?p=...");
HttpURLConnection conneciton=url.getConnection();
//然后使用这个连接访问服务就行了
...
connection.disconnect();
这个过程是可以穿透防火墙和代理的。
使用tcp当然也可以,但是你实现底层通信的过程其实是重复了java.net.HttpURLConnection为你所做的事情。
但如果是CS构架,S的设计者应该提供的是一个Tcp or UDP服务,而不是HttpServlet,这样客户端和服务端可以通过Tcp、udp交互
当然你也可能使用Sock 5之类的代理,但是除了http协议没有其他协议是通用的代理支持的协议,因此,一般都是使用http协议,这个协议是缺省被所有代理支持的。
你们都玩cs或者魔兽吧,那是CS结构的游戏,干嘛要模拟http呢?他们的通信本来就建立在tcp上的
如果用applet做个ClientStrike,或者把它做成ActiveX放到网页上,不就成了我说的东西了吗。干嘛非要用http呢?
其实我们做项目时确实发现许多问题,因为我们不是专门的计算机专业,要不我们专门开一个帖子,好好讨论这类问题,同时希望有机会合作。
不要提什么计算机专业,那本本只能用来喂耗子
你有什么问题单开帖子问吧.net\IO里面的内容多着呢