欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Eclipse 助我成功 博客分类: Eclipse EclipseSwingJBuilderPowerBuilderWebService

程序员文章站 2024-03-22 19:34:52
...
Eclipse 助我成功
            
    
    博客分类: Eclipse EclipseSwingJBuilderPowerBuilderWebService    期盼很久的Eclipse europa版本今天正式发布。早上一起床我就登上了Eclipse网站,果真可以下载了,激动之情难以言表,逐赶紧下载。下载后,解压、运行、升级,一切OK。Eclipse对我的帮助是非常大的,她帮助我成功地开发了汽车客运站联网售票系统。衷心感谢Eclipse基金会!我要告诉大家,选择Eclipse就是选择成功!
一、 选择Eclipse
    2006年5月,是我人生的转折点,我决定自己创业。
    我创业的项目是汽车客运站联网售票系统,当时国内的售票软件都是采用Delphi、Powerbuiler、VB或VC开发的,都是基于Windows操作系统及单一的数据库产品,要么是Oracle,要么是SQL Server。这此产品,不仅可扩展性差、价格昂贵,而且用户的投入成本也很大,对那些欠开发、欠发达的农村客运站来说,简直是可望不可及。这些售票软件要实现联网售票,一般采用两种解决方案:一是采用交易中间件(如Tuxdeo),然后由各客运站的售票软件供应商修改各自的软件,实现联网售票;二是采用WebService,中心采用Java开发,售票系统用WebService对售票部分进行封装。这两种方案都不是最佳方案,可扩展性差、性能低、投资成本大,还存在安全性问题。另外,这两种方案要实现全省、全国联网售票,还需要做很大的改造。因此,我就想开发一个100%纯Java的联网售票系统,实现跨平台、跨区域、支持多种数据库。刚好JavaEE5.0 和EJB3.0在2006年5月发布,让我坚定了创业的决心,决定使用Eclipse作为开发工具,基于JavaEE5.0、EJB3.0、JBoss4、Web2.0构建全国联网售票系统。
    以前在公司时使用JBuilder开发Java应用,虽然下载了Eclipse也没时间学习。自己创业决定使用Eclipse,之所以选择Eclipse,一则是因为她免费、开源,能够降低开发成本;二则是在使用JBuilder时,总觉得有些不爽,比如设计EJB时,当EJB数量增多时,保存.ejbgrpx这个XML文件常常会出错,而我使用Eclipse一年多时间以来,稳定极了,从来没有出现此类低级错误。Eclipse简单易学,很快就上手了,如今已经不记得JBuilder是什么样子!
二、 将Java Application移植到Eclipse RCP
    构建客户端应用程序时,有几个基本问题是开发人员必须考虑的:
 如何启动应用程序?
 如何为不同的角色授予相应的操作权限?
 如何保证系统的可扩展性?
 如何进行系统的升级更新?
 如何显示联机帮助?
    普通Java 应用程序是通过批处理来启动的,总觉得不太好;为不同的角色授予相应的操作权限,编程实现也特别烦琐;版本升级比较麻烦,一般使用Java Web Start技术实现;集成联机帮助也需要编码实现;另外,您必须自己实现MVC架构,更甭谈可扩展性了。
    经过对Eclipse RCP(胖客户端平台)进行研究,我决定使用RCP构建客户端应用,这是因为Eclipse RCP提供了以下好处:
    1、可以通过一个EXE文件启动应用程序;
    2、可以扩展ActionDelegate的init方法,为不同的角色授予相应的操作权限;
    3、拥有集成完全不同的工具和应用程序的能力,易扩展性和易定制性是Eclipse深受程序员喜爱的原因之一。
    4、可以通过使用Update Manager来更新客户端的应用程序,实现应用程序的升级替代。
    5、提供了一个全面的框架,能够在应用程序中提供在线帮助。
    将Java Application移值到Eclipse RCP,还需要将Swing移植到SWT,需要学习SWT、JFace等相关知识,尤其是在项目的后期,这种移植的工作量非常大,是需要下很大的决心的。
三、 将Swing移植到SWT
    将Java Application移植到Eclipse RCP就注定了必须将Swing移植到SWT,放弃Swing是跟我这个项目有关的。售票系统注重实时性和人机交互,特别是在售票的时候,能够希望只通过键盘实现快捷操作。而Swing的JTable却很难做到这一点,在JTable上单击回车键,光标就自动下移一行,用户根本不知道自己究竟选择了哪一行,挺烦的,而SWT能够实现精确控制。另外,SWT在界面上也比Swing漂亮许多,JFace还提供了许多控件,让编程更加简单。将项目从Swing移植到SWT虽然花费了我近两个月的时间,但是效果却很明显:控制操作可随心所欲了、程序运行变快了、界面更美观了、结构更简单了。Eclipse 助我成功
            
    
    博客分类: Eclipse EclipseSwingJBuilderPowerBuilderWebService
四、升级到3.3版本
    虽然3.3版本新增了许多功能,比如拼写检查、对类的成员排序、显示插件依赖情况等,但我最喜欢的还是Datetime控件。由于我的应用程序在许多地方需要使用日期,比如发车日期、售票日期,这使得我需求一个控件能够让用户很方便地选择日期。搜索了第三方日期插件,总觉得不理想。当看到3.3版本提供了Datetime控件时,我立马升级了 Eclipse版本。不过,美中不足的是,Datetime控件提供的方法还不太丰富,需要我们自己扩展。
五、 喜欢Eclipse
    经历过汇编、VC、Delphi、Powerbuilder,我喜欢上Java,因为Java我喜欢上Eclipse,而Eclipse又使我更加喜欢Java。喜欢Eclipse不仅因为她免费、开放源码、易定制和稳定,喜欢Eclipse更因为她可扩展的架构。正如Robert C.Martin所说:“The beauty of software is in it's function, in it's internal structure, and in the way in which it is created by a team.(软件之美在于它的功能,在于它的内部结构,还在于团队创建它的过程)”。
    使用新技术是有风险的,而Eclipse为我们降低了风险,帮助我们取得成功。面对新技术,我们不应该畏惧不前,而应该提高驾驭风险的能力。
    衷心感谢这些开源软件,开源让社会变得更加和谐,开源让生活变得更加美好!
    Eclipse europa今天正式发布,恰逢香港回归十周年,吾儿出生三周岁之际,按奈不住激动之情,聊作此文,以兹纪念。