`
eyes1842
  • 浏览: 18253 次
  • 性别: Icon_minigender_1
  • 来自: 默认
最近访客 更多访客>>
社区版块
存档分类
最新评论

基于Eclipse RCP的应用平台

阅读更多

B/S结构的应用的优势和劣势是什么?呵呵,优势我不说了。在开发企业应用时,有一些情况下BS是不能胜任的,或者是说需要花很大的代价才能做到,比如驱动外设,打印,复杂的页面控制等。而传统的C/S结构的应用可以很好的解决这些问题,能不能把这两者的优点结合起来呢?

 

有这样一个想法,就是设计一个基于Eclipse RCP的应用平台,暂时叫它“Eclipse Application Planform”吧。设计的思路是这样的:它的功能就是一个“浏览器”,不过它浏览的不是网页,而是一个Eclipse RCP应用,就像使用浏览器一样,首先得下载一个Eclipse RCP 框架,大概15M左右,另外,为了屏蔽客户端的JRE的差异,可以把JRE(1.6版本,解压后大概80M)也打到框架里,一起下发给客户端。ok,框架下发到客户端了,就像装好了IE浏览器一样,可以浏览应用了。第一次使用某个应用时,输入应用名称和更新服务器的地址,(服务端需要有一个版本更新服务器,可以是一个web应用,提供http或FTP文件下载,作为各个应用的版本管理)。然后客户端框架就自动下载对应的java class文件,然后启动Eclipse RCP应用。一旦某个应用有更新,只需要在服务端版本服务器上做更新,客户端就会自动更新(当然,支持全量和增量更新)。这样岂不是解决了客户端部署维护的难题?还有一点:Eclipse RCP 是一个标准的框架,只要基于他开发的应用都可以导出成单个应用bundle,然后发布到版本更新服务器,供客户端使用,而这个过程不需要额外对客户端的部署,只需要告诉客户端应用名称和更新服务器的地址就行了。

 

平台的优点:

1、客户端操作简单,第一次只需下载框架,然后解压就可以运行(已经自带JRE)。

2、一个框架,可以运行不同的应用,(当然这些应用都是基于Eclipse RCP开发的,而且版本兼容)。

3、BS结构和CB结构应用的优势互补。(也可以叫BS与CS的折中吧)

 

平台的缺点:

1、框架太大,加上JRE的话,可能会超过100M。(对于企业内部的应用,这个不算什么,毕竟就下载一次)。

2、基于Eclipse的应用,消耗客户端的资源比较大。(现在的客户端的运算能力都很强大了)


其实很多企业的C/S应用都带有自动更新的功能,而这里强调的是:它是一个平台,可以浏览不同的应用,只要应用按照Eclipse RCP 规范开发的即可。不知大家对这个思路有什么看法。
分享到:
评论
13 楼 yutianapple 2010-03-29  
rcpjingdian
12 楼 yutianapple 2010-03-27  
Rcp经典电子书 给大家共享
11 楼 eyes1842 2010-03-22  
fireflyc 写道
好吧。如果这样的话,我们还是用delphi吧,该是它登场的时候了。
1. 客户端代码小巧,界面美观大方。而且还可以跨平台(需要CLX)
2. 发达的中间件,CORBA、COM++、EJB、应有尽有。当然你可以发扬山寨精神进行山寨各种通讯协议。
3. 开发速度快,delphi的IDE全世界一流,有那么多经历了考验的控件你可以使用。性能高,而且还很稳定。

好了,让我们告别B/S回归C/S吧。。。

存在就是合理。
所有东西存在就有他的理由。
并不是要告别BS,回归CS。
关于BS还是CS的问题,这要看场合。
我们的原则是,在满足客户需求的前提下,以最简单可靠的方式去构建系统。

Eclipse RCP 有他的优势,EclipseRCP 跨平台也没问题。
如果server端是java写的话,基于java的client是首选。

如果 Eclipse RCP 成为一个大家拥护框架,就像浏览器一样。我们做的一个个插件就像一个个网站一样,只要知道插件的名字,就可以下载插件并运行。

B/S的web应用写了也有几年了,感觉页面操作性比较复杂的应用,还是C/S的稳定好用。
客户也喜欢使用CS的东西,只要更新部署简单。更新对客户是透明的。
10 楼 fireflyc 2010-03-22  
好吧。如果这样的话,我们还是用delphi吧,该是它登场的时候了。
1. 客户端代码小巧,界面美观大方。而且还可以跨平台(需要CLX)
2. 发达的中间件,CORBA、COM++、EJB、应有尽有。当然你可以发扬山寨精神进行山寨各种通讯协议。
3. 开发速度快,delphi的IDE全世界一流,有那么多经历了考验的控件你可以使用。性能高,而且还很稳定。

好了,让我们告别B/S回归C/S吧。。。
9 楼 eyes1842 2010-03-22  
是用了Eclipse RCP的插件机制。
但不是用Eclipse 的RCP更新机制。更新机制使自己写的,可以完全控制eclipse的更新,包括整个EClipse RCP 框架的更新。对客户端完全透明的更新。
一个标准的RCP应用,所以可以使用RCP的框架的全部功能。

这年头,咱们做的东西多少是自己创新的呢?其实把该掌握的东西掌握了,就了不起了。
不是吗?

8 楼 javahead 2010-03-22  
JRE压缩后可以精简到10M
仅利用RCP的更新和插件机制,没有什么创新的
7 楼 smartinvoke 2010-03-22  
楼主所说的和我现在正在做的SmartRCP有异曲同工之妙哦
http://www.iteye.com/news/13593-SmartRCP-Flex-Eclipse-rcp
6 楼 eyes1842 2010-03-21  
wsc830719 写道
楼主说的不正是 eclipse4.0吗? 

下一代的eclipse,比你说的还要简单。
直接将eclipse rcp应用生成flex 或ajax等应用,直接就在浏览器里运行。
你说的,不现实,谁会装你的客户端呀?
类似的swing早就存在这样的框架了 ,比如echo,还有一个是基于apache授权的,名字忘了,都是直接写Java代码,然后在浏览器端就可以访问。echo效率还能勉强接受,但是灵活性就没了,这种东西适合不愿接触js的开发者,如果会js,还是自己弄的好,容易控制功能。

e4,目前情况太渺茫了,即使弄出来,可以预见 效率不会太好。
而且e4,声称不用js ajax,不过最近不是也引入js代码了吗,可见,不写js是很难控制灵活性的。e4已经改变了初衷了。
eclipse越来越复杂,难道失去方向了。我觉得一个开发工具应该在易用性上找方向,
简化开发,提高开发效率才是应该做的。相反,eclipse总是在包装,越来越复杂。
别看我这么关注eclipse,其实我是netbeans的爱好者。
       netbeans符合我的意愿。 看看.net开发工具做的简单易用,多少人在埋怨Java开发效率太低啊。  netbeans在走简化开发的道路,而eclipse真的看不出来,或许eclipse只关注Java最前沿,像什么OSGI 等等,不过话说回来,100个企业里有几个是有这种需求的企业,我想90%的都是小型企业吧,他们需要的是快速开发的工具。


谢谢wsc830719的意见。
我想说两点:
1、关于这个客户端,客户愿不愿意装的问题。这个要看是什么客户,像我现在的项目接触的客户,都是企业用户,都是在局域网里或是专线,应该不成问题。

2、关于生成JS,然后再浏览器里运行的问题。我们需要的不是编译成JS然后再浏览器里运行,而是直接就是一个java程序,在客户端的虚拟机里运行(因为我们把JRE随框架一起打包下发)。转成JS的话,运行速度和控制外设都不是很理想。

说白了,就是一个C/S结构的系统。只不过有B/S结构应用的客户端快速分发部署的功能而已。并且这个框架可以当成一个内部的框架,使用这种结构的系统,而每个应用能直接在这个框架里跑。这就是“应用浏览器”和“网页浏览器”的区别。
5 楼 icefire 2010-03-21  
wsc830719 写道
楼主说的不正是 eclipse4.0吗? 

下一代的eclipse,比你说的还要简单。
直接将eclipse rcp应用生成flex 或ajax等应用,直接就在浏览器里运行。
你说的,不现实,谁会装你的客户端呀?
类似的swing早就存在这样的框架了 ,比如echo,还有一个是基于apache授权的,名字忘了,都是直接写Java代码,然后在浏览器端就可以访问。echo效率还能勉强接受,但是灵活性就没了,这种东西适合不愿接触js的开发者,如果会js,还是自己弄的好,容易控制功能。

e4,目前情况太渺茫了,即使弄出来,可以预见 效率不会太好。
而且e4,声称不用js ajax,不过最近不是也引入js代码了吗,可见,不写js是很难控制灵活性的。e4已经改变了初衷了。
eclipse越来越复杂,难道失去方向了。我觉得一个开发工具应该在易用性上找方向,
简化开发,提高开发效率才是应该做的。相反,eclipse总是在包装,越来越复杂。
别看我这么关注eclipse,其实我是netbeans的爱好者。
       netbeans符合我的意愿。 看看.net开发工具做的简单易用,多少人在埋怨Java开发效率太低啊。  netbeans在走简化开发的道路,而eclipse真的看不出来,或许eclipse只关注Java最前沿,像什么OSGI 等等,不过话说回来,100个企业里有几个是有这种需求的企业,我想90%的都是小型企业吧,他们需要的是快速开发的工具。


比较认同,不过现在eclipse或者netbeans都没太多精力去弄,目前netbeans的前途还不好说,oracle虽然不会砍掉,但明显会减少投资。eclipse其实已经不走开发工具的道路,已经是完全平台化方向,开发工具留给像MyEclipse来做。
4 楼 wsc830719 2010-03-21  
楼主说的不正是 eclipse4.0吗? 

下一代的eclipse,比你说的还要简单。
直接将eclipse rcp应用生成flex 或ajax等应用,直接就在浏览器里运行。
你说的,不现实,谁会装你的客户端呀?
类似的swing早就存在这样的框架了 ,比如echo,还有一个是基于apache授权的,名字忘了,都是直接写Java代码,然后在浏览器端就可以访问。echo效率还能勉强接受,但是灵活性就没了,这种东西适合不愿接触js的开发者,如果会js,还是自己弄的好,容易控制功能。

e4,目前情况太渺茫了,即使弄出来,可以预见 效率不会太好。
而且e4,声称不用js ajax,不过最近不是也引入js代码了吗,可见,不写js是很难控制灵活性的。e4已经改变了初衷了。
eclipse越来越复杂,难道失去方向了。我觉得一个开发工具应该在易用性上找方向,
简化开发,提高开发效率才是应该做的。相反,eclipse总是在包装,越来越复杂。
别看我这么关注eclipse,其实我是netbeans的爱好者。
       netbeans符合我的意愿。 看看.net开发工具做的简单易用,多少人在埋怨Java开发效率太低啊。  netbeans在走简化开发的道路,而eclipse真的看不出来,或许eclipse只关注Java最前沿,像什么OSGI 等等,不过话说回来,100个企业里有几个是有这种需求的企业,我想90%的都是小型企业吧,他们需要的是快速开发的工具。
3 楼 wing5jface 2010-03-21  
在RCP里集成FLEX也是一种常见的方法。
2 楼 eyes1842 2010-03-18  
iamlibo 写道
通讯协议是http?还是自定义的socket?

与更新服务器的通讯协议用http,而里面各自的RCP应用,使用什么通讯协议都可以,由各自的应用决定。
而这个框架会预先集成目前java所流行的远程通讯协议,像spring remote 之类的。每种通讯协议的集成就是一个bundle,方便各个应用之间共享。
1 楼 iamlibo 2010-03-18  
通讯协议是http?还是自定义的socket?

相关推荐

    eclipse rcp应用系统开发方法与实战源代码.zip

    在"eclipse rcp应用系统开发方法与实战源代码.zip"中,我们可以学习到以下关键知识点: 1. **Eclipse RCP架构**:理解Eclipse RCP的基础架构非常重要,包括插件(Plugins)、工作台(Workbench)、视图(Views)、...

    基于Eclipse RCP的复合应用

    在“基于Eclipse RCP的复合应用”中,我们可以理解这是一篇关于如何利用Eclipse RCP框架来构建复杂、模块化的桌面应用的文章或教程。IBM中国研发中心的专家们对此进行了深入研究和实践,分享了他们的经验和见解。IBM...

    Eclipse RCP 应用系统开发方法与实战

    2. **工作台(Workbench)**:是Eclipse RCP应用的基础,它管理着应用的窗口、视图和编辑器。开发者可以通过编程接口(API)对工作台进行控制,如创建新窗口、切换透视图等。 3. **视图(Views)**:视图是显示特定...

    [基于Eclipse.RCP的复合应用开发].扈晓炜等.扫描版

    《基于Eclipse.RCP的复合应用开发》是扈晓炜等人撰写的一本关于使用Eclipse Rich Client Platform(RCP)进行软件开发的专业书籍。Eclipse RCP是一个强大的框架,用于构建桌面应用程序,它允许开发者利用Java语言和...

    Eclipse RCP 应用系统开发方法与实战 源代码

    Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序,它基于Java,提供了丰富的用户界面组件和强大的插件系统。本资源提供的"《Eclipse RCP 应用系统开发方法与实战 源代码》"是针对...

    Eclipse RCP应用系统开发方法与实战(源代码)

    本资源提供了"Eclipse RCP应用系统开发方法与实战"的源代码,涵盖从基础到进阶的多个章节,便于学习和实践。 在提供的压缩包中,我们可以看到以下几个部分: 1. **第9章.rar** - 这一章可能涵盖了RCP应用系统的...

    开发您的第一个 Eclipse RCP 应用程序

    **Eclipse Rich Client Platform (RCP)** 是一个强大的框架,旨在利用 Eclipse 平台来构建非集成开发环境 (IDE) 类型的最终用户应用程序。自 Eclipse V3.1 发布以来,构建 RCP 应用程序变得更加便捷。本文档将详细...

    Eclipse Rcp

    Eclipse RCP是一种基于Eclipse平台的富客户端平台技术,它允许开发者创建独立于Eclipse环境的Java桌面应用程序。RCP通过提供一套标准组件和API,简化了桌面应用程序的开发流程,使开发者能够专注于业务逻辑而非界面...

    eclipse rcp应用系统开发方法与实战

    本项目“Eclipse RCP应用系统开发方法与实战”旨在深入探讨如何利用Eclipse RCP进行软件开发,通过实践案例来提升开发者的技术能力和实践经验。 Eclipse RCP的核心特点包括模块化、可扩展性和高度定制性。模块化...

    Eclipse rcp深入浅出中英文版及配套代码

    通过阅读《Eclipse RCP深入浅出》并结合提供的代码样例,开发者不仅可以学习到Eclipse RCP的基本概念,还能学会如何创建和调试实际的RCP应用程序。这是一本非常实用的参考资料,对于希望在Java桌面应用领域工作的...

    EclipseRCP教程

    Eclipse RCP(Rich Client Platform)是一种基于 Eclipse 平台的客户端开发技术,能够帮助开发者快速构建功能强大且界面美观的桌面应用程序。在本教程中,我们将详细介绍 Eclipse RCP 的开发过程、技术要点和注意...

    Eclipse RCP应用系统开发

    【Eclipse RCP应用系统开发】是针对软件开发领域中的一个特定技术,即Eclipse Rich Client Platform(Eclipse RCP)的深入探讨。Eclipse RCP是Eclipse框架下的一个开发平台,它允许开发者构建桌面应用程序,具有丰富...

    Eclipse RCP培训.zip

    这个"Eclipse RCP培训.zip"文件很可能包含了关于如何开发基于Eclipse RCP的应用程序的各种教程、示例代码和讲解材料。现在,我们将深入探讨Eclipse RCP的相关知识点。 Eclipse RCP提供了一个强大的开发环境,它允许...

    eclipse RCP mp3工程

    【标题】"eclipse RCP mp3工程"指的是一个基于Eclipse Rich Client Platform(RCP)构建的专门处理MP3音频文件的应用程序。Eclipse RCP是一个强大的开发框架,允许开发者创建桌面应用,它提供了丰富的用户界面组件和...

    eclipse RCP Plug-in开发自学教程.pdf

    eclipse RCP(Rich Client Platform)是一种基于eclipse的插件式开发平台,允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序。RCP插件式开发方式可以重用eclipse中的方法和编码模式,提高开发效率和代码...

    eclipse.rcp应用系统开发方法与实战(含源码)

    总之,"eclipse.rcp应用系统开发方法与实战"提供了一个深入学习Eclipse RCP平台和Hibernate集成的宝贵机会。通过对源码的分析和实践,开发者可以提升在桌面应用开发领域的专业技能,特别是在处理复杂数据操作和定制...

    EclipseRcp 例子程序

    2. **工作台(Workbench)**:工作台是Eclipse RCP应用程序的中心,负责管理窗口、视图、编辑器等元素。开发者可以自定义工作台布局,例如添加新的视图或编辑器。 3. **视图(View)**:视图是用户界面中显示特定...

Global site tag (gtag.js) - Google Analytics