快捷索引

IPB Image

在新闻组和BBS上常常看到有人问什么开发工具最好,经常就会有人对新手说,就用 JDK 和notepad (ultraedit,editplus,…);也有许多有C,C++经验的人上来就找Visual J++;还有许多人对Borland JBuilder情有独钟,加上一些通用的集成开发环境比如Visual Slick Edit,一些基于java的比较小的开发环境,比如Kawa,JCreator,IntelliJ…更不用提UNIX环境下那些狂热的EMACS,VI的爱好者了…

然而我最喜欢的还是VisualAgeJava,以及现在的 Eclipse and/or IBM WebSphere Studio Workbench。

究竟要用什么工具,肯定是没有绝对答案的,不同的人需求不同,习惯不同。

有的人喜欢用JDK和文本编辑器,是因为喜欢感觉到真正的代码,知道“背后发生的事情”,对他们而言,可视化编程工具生成的代码绝对是垃圾,不利于自己的修改和维护。但是他们并不是排斥工具,要不然,也不会把notepad换成ultraedit,editplus,乃至更强大的工具,远远不是一个文本编辑器那么简单。

至于使用Visual J++,Borland JBuilder,也很明显,界面和习惯都很熟悉,很快就知道怎么回事,可以上手。但是其实Java世界有它自己的特点。

最初的Java IDE大概是Symantec公司的Visual Cafe,由于其编译器速度很快,尤其出现的最早,很快占领了大部分的市场份额,现在虽然已经大不如前,但还是有其特点的,尤其是国际化支持方面比较突出。

此后就是IDE领域的老牌公司Borland的JBuilder,早期的还比较粗糙,但是随着版本的不断更新,集成了许多类库和组件,以及Borland一向的良好声誉,成为当前最普遍的IDE之一。

Microsoft的VisualStudio在C++领域是绝对的老大,在Java领域却不能有同样的风光,其实从微软公司的战略角度,这点是很明显的。从较早的Visual J++ 1.0到比较稳定的1.1,以及号称专门从Borland挖来的Delphi总设计师亲自设计的Visual J++ 6.0,它始终处于一个尴尬的位置。后来更因为被Sun起诉,被迫最终修改。

不可能从Microsoft得到Java的开发工具,这是很明显的。

有的人第一次用VisualAgeJava,可能会不太习惯:怎么界面这么土?(VisualAgeJava的版本更新很少带来界面上的变化,没有其他软件花哨,其实可以说是优点。不过,Eclipse or WSWB的界面可就完全不同了,不仅很漂亮,而且有很精心的设计,而不是照搬习惯的方式)怎么没有我熟悉的菜单结构?…

VisualAgeJava有很多独特的地方,需要一个熟悉和适应过程。

VAJ用自己的二进制格式文件(资源库)作为基本的存储模型。

对于开发者而言,完全不用考虑文件和路径的所有问题。所面对的直接就是package,class,method……,同时在显示上也是以类、方法等单元作为对象,只显示选中的元素(直到近期的版本才出现了full class view),这非常符合面向对象的概念,帮助开发者用面向对象的概念和模型来考虑问题。

当然,有人可以说,不接触文件,不搞清楚文件,路径,包的关系,就没有了解Java中这部分真正的内部机制。但是,即使是已经充分了解的有经验的程序员,也难免在这个问题上犯错误或者耗费不少时间和精力(因为牵涉的因素很多),对于初学者,这一点就更重要了。

内置的版本控制。正是因为使用了资源库,在VAJ里面版本控制的功能十分强大。每一次存盘的状态都被保存,可以很容易地回溯和比较。任何时候想冻结代码的状态时,可以将一个版本版本化。这样将使特定版本成为只读的,并可以命名。编程时完全可以放心保存和修改,对于开发周期内的一些特殊点可以方便地留下快照。

增量编译。在VisualAgeJava中没有显式的编译过程,每次存盘的同时就进行了增量编译,有问题立刻标出。这不仅节省了编译的时间,省去了一个步骤,也强迫开发者每一阶段都要保证正确,这种step by step,在正确代码基础上继续工作的增量式开发是一个很好的习惯,比上来就写很长一段程序,编译运行,然后再慢慢地调试和寻找错误,要高效得多。最好的调试方法就是避免错误。

调试器。VisualAgeJava用的是IBM的Java虚拟机,使它具有独特的hot-link功能,可以把修改后的代码编译后连接到正在运行的程序中。甚至有人说,他就在debugger里面编写程序,程序一直在运行,而不用像有的人那样,必须写大段大段的System.out.println来观测程序运行状态。

还有一个很好的例子:Apache Tomcat Servlet and JSP Development with VisualAge for Java

http://www7.software.ibm.com/vad.nsf/Data/…Footer=1

这篇文章概述了如何在VisualAgeJava使用Tomcat(3.5以后VisualAgeJava直接加入了JSP开发环境,不需要使用这篇文章的方法了,但是其机理是一样的。)。VisualAgeJava有两个独特的核心技术,特别适合于开发servlets和JSP:

模拟多个虚拟机实例

增量编译和将代码“hot-linking”进运行中的程序。

servlet的生命周期导致通常的开发必须停止并重新启动Web Server以更新servlet类或者重新装载一个JSP调用的Java组件。在开发过程中需要非常频繁地修改servlet或者JSP的源码,那么使用一个Web Server或者某个“ServletRunner”就是非常麻烦的事情,特别是当需要调试一个只在servlet已经运行一段时间后才发生的问题,或者一个很长的循环中的某个部分时。

幸运的是,在VisualAge for Java中,当改变servlet中的一个方法时,VisualAge for Java仅仅增量编译这个改变了的方法而非整个类,然后把它hot-link进正在运行的程序。

增量编译很重要,但是同等重要的是不必重新启动正在调试的程序,不必重新创造引起正在调试问题的程序状态,这带来的效率提高是惊人的。使用VisualAge for Java,你可以修改运行中的servlet,bean,tag或者EJB代码,不用不停地终止和重新启动Web server.此外,在server运行时你就有整个开发环境的所有特性可供利用。更加强大的是,即使你改变的bean或者其他类是从servlet或者JSP中调用的(例如,对于在另一个模拟的Java虚拟机实例内的container里运行的EJB),也不需要启动并停止server。

另外有独立的IBM distributed debugger,不过我没有用过,无法评论。

代码片断编辑测试窗scrapbook。其实只是简单的文本文件,可以任意地做笔记,写编程的思路。更重要的是测试代码片段的功能。想到一个实现方法,可以立刻写一小段代码来进行测试,不用写完整的程序,只要设定代码片段的运行环境就可以立刻看到结果。 这个小小的,简单的工具对于开发效率的提高是非常显著的。

企业版对团队开发有非常完善的支持。这方面我实际使用不多,就不多概述了,有兴趣的可以参考相关的网站。值得一提的是IBM提供了很多网上资源,文档,教程,多媒体教程,新闻组,这些是非常重要的,后面将给出一个简要的列表。

附注:

有一些比较小的地方,初次使用者可能不习惯或者不容易发现,这里简要地提一下。

VAJ的窗口缺省是上下横排的,不习惯的话可以在窗口-翻转方向中改过来。不过这也是因为VAJ的method view特点,每次只显示当前选中的元素,而一个方法是不应该太长的。

代码辅助自动完成:缺省的Ctrl-space可能与输入法冲突,可以使用Ctrl-L。

支持模板,比如输入for按Ctrl-L就可以提供for(int i=0;i< ; i++) {} 这样的模板。也可以自定义,有人把System.out.println()自定义为sop。(Eclipse中缺省定义为stdout)

自动格式化ctrl-w,这是很方便的特性,不用自己为换行和对齐操心了。

选中一段代码ctrl-/,加注释,ctrl-去注释。因为java注释不能嵌套,对于包含注释的代码要注释掉比较麻烦,现在则很简单。

在编辑窗里Ctril-i增量搜索。

建议在窗口-选项里把常规里设上在同一浏览器中打开项目,类似于浏览器那样,可以back和forward。

有的工具栏图标上有小三角,有的初学者可能看到应该有下拉列表,但是就是点不出来。事实上必须有窗口历史的情况下才是可用的,另外要点右键来选择后退或前进到列表中的某一项。

帮助系统是完全基于浏览器的,实际上使用了一个自己的小Web server。有的人总是无法启动帮助,必须注意启动VAJ的时候不能启动程序目录下的ide.exe,而要使用安装程序创建的快捷方式(也就是ivjenv.bat)。

在IDE中选中Java关键字按F1,可以查到相应的帮助,但是只限于java关键字和系统包。



会员福利

资源无源时,可利用百度网盘 & 迅雷云盘取回

此内容仅供注册用户。请 %登录%.

神秘内容,请 登录 / 注册 后查看

会员可见全站福利 !




文章类别:

本文链接: https://www.books51.com/31390.html

【点击下方链接,复制 & 分享文章网址】

VisualAge for Java 4.0 企业版 → https://www.books51.com/31390.html

上一篇:

下一篇:

0 ratings, 0 votes0 ratings, 0 votes (0 次顶, 0已投票)
你必须注册后才能投票!
Loading...

添加新评论