【51CTO.com独家特稿】Jacek Furmankiewicz是加拿大Compuware公司一位资深的开发者/设计者。他具有12年的专业IT经验,范围涉及UNIX,PowerBuilder,C#/Microsoft .NET,Java,PHP,还有Microsoft SQL Server和Oracle。
一、IntelliJ IDEA 6.0.4
供应商 | JetBrains |
网站 | www.jetbrains.com/idea |
价格 | $499.00(加上$299.00的升级费) |
安装
在Windows平台上,IDEA提供了一个常规的EXE安装程序;而在Linux平台上,其安装只包括一个TAR.GZ文件。一旦解压完所有内容,你必须手工地切换到“bin”子目录下,并且执行“./idea.sh”。如果你没有正确建立$JDK_HOME(最好在你的.bashrc文件下,如下所示)变量的话,将会出现失败:
|
遗憾的是,JetBrains并没有对于任何主流的Linux发布提供一个标准的.deb或RPM文件,致使安装无法与桌面良好地集成(例如,不支持桌面快捷方式或创建K菜单入口)。更糟糕的是,从Konqueror文件管理器下双击“bin/idea.sh”文件也无法工作(它将返回一个关于JAVA_HOME还没有建立的错误,尽管实际上已经正确建立它了)。看起来,唯一可行的办法是打开命令行并手工执行“./idea.sh”。总之,IDEA在Linux平台上的安装体验还需要进一步的简化。在本文被测试的三个IDE中,IDEA在安装方面提供的功能是最弱的。
总体特征
就象NetBeans一样,IDEA中也提供了一种很灵活的布局,对于各种配置都提供了相应的停靠/固定/浮动面板。然而,这看起来尚不如NetBeans窗口系统那么平滑和可配置。
然而,这只是对于杰出的IDEA编辑器的一个小小的抱怨—一直被认为是它的杰作之一。其实,IDEA编辑器速度极快,并提供复杂的上下文敏感的颜色加亮、提示和建议弹出框—更不必提给人印象极深的大量的重构选项。IDEA编辑器简直就是任何顶级编程者的梦想。使用它的时间越多,我就会从中发现越多的提高开发效率的编程技巧。我肯定,在这么有限的时间内我根本不可能了解它所有的功能。下图4中的示例展示了一种IDEA编辑器及其高级的颜色/语法高亮功能。
![]() |
图4:应用中的IDEA编辑器 |
Swing开发
另一方面,IDEA也提供一个较强有力的GUI编辑器。但是,比起NetBeans Matisse,还是略微逊色一些,但是它确属GUI编辑器中的亚军。特别是,它对于JGoodies表单(无可争议地成为比GroupLayout优秀得多的布局管理器)的支持使它远远跑在了那些仍然依赖于GridBagLayout技术的GUI编辑器的前面(例如Eclipse的Visual Editor)。
有趣的是,IDEA以一个单独的“.form”文件形式保存相应的UI布局(类似NetBeans),但是默认情况下,它并没有生成相应的Swing代码—它仅在编译期间经由一个专利性GUI编译器(该编译器还可以作为一个单独的Ant任务进行打包)生成。如果你比较喜欢把该IDE生成的代码直接放到你的.java文件中,那么,你必须经由一个选项来启动这一功能(我认为这是更好些的方法,因为我不太喜欢把我所有的UI代码都隐藏起来而仅在运行一个IDE特定的代码生成机制后才变得可用)。
JSP/Struts开发
IDEA对于Struts的支持是十分成功的。这方面支持的一个良好的例子是,它甚至支持下载所有你需要的Struts库!它不仅提供自动地建立所有的配置文件(包括Tiles和Validator),而且还提供了一个称为Struts Assistant的专用Struts面板,用于针对所有的Struts配置文件—包括tiles-config.xml和validation.xml—提供图形化的编辑器和生产向导。
IDEA没有为JSP/HTML页面提供可视化编辑器,但是常规的IDEA JSP/HTML编辑器已经比较优秀了—尽管没有一个可视化组件。对于嵌入式JavaScript(并提供完整的实现代码!)的支持对于操作大量DHTML或AJAX代码的任何开发者都是一个极大的福音。另一个值得注意的优点是,JavaScript编辑器的发行还支持浏览器特定的元素(IE,Mozilla和Opera)以及流行的AJAX框架(例如Dojo,Bindows和Prototype)。(关于IDEA对Struts提供支持的例子请参考图5和图6。)
![]() |
图5:建立IDEA Struts Web应用程序 |
![]() |
图6:IDEA Struts Assistant |
对于顶级的Web 2.0开发,IDEA为GWT(Google Web Toolkit)相关开发提供了全面的支持—把GWT作为它的一个核心特征。我发现这会给人留下极为深刻的印象,特别是当考虑到GWT是如此新的AJAX开发框架时。
共2页: 1 [2] 下一页 |