![](aggbug/1672889.aspx)
期盼很久的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虽然花费了我近两个月的时间,但是效果却很明显:控制操作可随心所欲了、程序运行变快了、界面更美观了、结构更简单了。
四、升级到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今天正式发布,恰逢香港回归十周年,吾儿出生三周岁之际,按奈不住激动之情,聊作此文,以兹纪念。
分享到:
相关推荐
C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言, 因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。 因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它...
这份手册考虑到了初学者的需求,以简单、易懂的方式解释了每个步骤,帮助他们成功地建立Java编程环境。 截图和示例:手册中包含了截图和示例,可视化地展示了每个步骤,使用户能够轻松地跟随指南执行操作。这种视觉...
无论对于哪一种软件来说,缩短用户学习曲线的能力对于该软件的推广及其能否取得成功都是至关重要的。幸运的是,Eclipse有了UserAssistance项目(参见参考资料),该项目包括能够使基于Eclipse的应用程序改善其最终...
这个 Eclipse IDE 插件使软件开发人员能够同时编辑相同的源文件,就像 Google Docs 一样。 该工具有助于在需要编辑同一文件的团队项目上进行协作。 Multitype 使用带有单个中央服务器的客户端-服务器架构来管理...
系统开发技术:本系统是用java语言进行开发,数据库是mysql,开发工具是myeclipse或者eclipse。 系统主要功能: 当用户登陆到本系统时,可以直接以点击的形式进入如下的版块:用户登陆、用户注册、图书查询、购书车...
开发工具 : Eclipse 源码类型 : WebForm 注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 (自动化立体仓库原料库版本)是基于自动化输送线、机械臂、点数机、提升机、堆垛机等自动化设备技和现代 ...
在全世界最大的城市,直至最小的村庄,从纽约最辉煌的游乐场,到高加索最小的乡镇儿童娱乐点,在千家万户,正在进行着千千万万这样的“战斗”,伴随着无数成功与失败,兴奋与懊丧。游戏机带来了一个全球性的疯狂症,...
1.2.4 测试环境是否安装成功 8 1.2.5 如果失败了怎么办? 9 1.3 让自己的第一个程序运行起来 10 1.3.1 编写自己的Hello World源程序 10 1.3.2 编译自己的HelloWorld程序 11 1.3.3 让代码运行起来 13 1.4 初探...
1.2.4 测试环境是否安装成功 8 1.2.5 如果失败了怎么办? 9 1.3 让自己的第一个程序运行起来 10 1.3.1 编写自己的Hello World源程序 10 1.3.2 编译自己的HelloWorld程序 11 1.3.3 让代码运行起来 13 1.4 初探...
中标麒麟服务器操作系统介绍 目录 中标麒麟服务器操作系统介绍 1 面向的市场客户及应用场景分析 2 成功案例介绍 4 客户价值分析 3 Linux操作系统 Linux是一种自由和开放源码的类 Unix操作系统。 基于Linux内核,使用...
正如Ousterhout(1999)解释的那样,“ FLOSS需要利润”,我们不知道没有成功的FLOSS产品,而没有通过生态系统中的公司,无论是通过基金会(Eclipse,Linux)的资金支持还是产品或服务的商业供应(MySQL ,Red Hat ...
Malinkil-fp自述文件项目摘要:图书馆管理门户网站维护用户想要拥有的书籍的记录,并有助于控制和监视所有交易。 它允许用户和卖方创建帐户。 用户可以查看所有书籍并选择他想要的所有书籍。 供应商必须创建帐户并...
程序开发环境:Eclipse或myEclipse或idea + mysql数据库 前台框架: Bootstrap(一个HTML5响应式框架) 后台框架: SSM(SpringMVC + Spring + Mybatis) 系统功能设计是使整个系统能基本实现车辆的进、销、存等管理功能...
最后,附录E给出了启动和运转Microsoft IIS Web服务器、PHP和Eclipse PHP开发工具(PDT)的详细指导,这些将有助于我们更好地学习第7章。 在快速变化的环境下保持最新 为使数据库的概念在各版中保持最新,我们将根据...
一个成功的教务管理系统,应该能够有效地辅助教务人员工作,提高学校学生的学籍 、成绩等管理能力,并且不断完善系统,以便更好的帮助学生、教师、系统管理人员等 管理成绩、课程、学籍等。 然而目前许多教务管理...
一个成功的教务管理系统,应该能够有效地辅助教务人员工作,提高学校学生的学籍 、成绩等管理能力,并且不断完善系统,以便更好的帮助学生、教师、系统管理人员等 管理成绩、课程、学籍等。 然而目前许多教务管理...
我要感谢为本书成功出版做出贡献的许多人,包括审稿人Anthony Stevens、Gabor Paller、Fred Burke、Dianne Hackborn和Laurent Pontier,他们详尽审阅了本书;感谢编辑Susannah Pfalzer在我几乎要推迟交稿时提供的...
后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下 mybatis, 因此就有了这个系列的 mybatis 教程. ...