Oracle 推出了最新的JDeveloper10g,网上顿时风风火火,邮箱中也多了不少关于此的广告邮件。平心而论,10g比9i已经有了很大的进步,他尽量通过可视化的编辑方式来完成程序开发工作,希望JDeveloper也能够像微软的Studio一样,高效率工作。但是,通过一段时间的试用以后,终于明白JDeveloper与成熟的商用Java IDE是有差距的。这里我只谈一谈不成熟的地方,下面就请各位看官容我细细道来:
看Oracle的Demo时,觉得很不错,对一个数据表,从建立Entity Object(实体对象),ViewObject(视图对象),Struts Action,jsp到最后运行,基本上没有写代码,都是通过拖动完成,数据的增加,修改,删除都由系统自动来帮你完成了。非常轻松,当然这是最理想、最简单的情况。然后这个优点其实也是一个缺点,高效率牺牲了灵活性,ViewObject与表现层关联的过于紧密,以往我们在ActionForm里面直接做的时候,可以对ActionForm随意操作,因为他与数据库无关,但是现在你要想对ViewObject随意操作就不行了,因为他有数据库的规则存在,而在JDeveloper提供的方式中,ViewObject承担了太多的工作,虽然ViewObject直接和页面做数据交换很方便(自动治理数据的增加、修改、删除),但在复杂情况下(多表约束,外键),则无法实现一些复杂操作,除非非常简单的项目,否则他就是鸡肋。
缺点一:希望能够节省大家的时间少写重复代码,结果只能满足简单的需求。
我们都知道,现在任何一个项目要靠一两个人来完成是不轻易的,所以肯定是一个小组共同作战,那么这就涉及到一个版本治理、协同工作的问题。在这个环节我终于体会到了Oracle的强大,不把你折腾倒是不会罢休的。
先来讲讲Oracle的项目文件结构, .JPR 是项目的主文件,然后在SRC下会有各种.XML文件,还有一些.CPX文件,这些文件的作用就是存储项目目录下源文件的类型、Path。也就是说在同一项目中,有非常多共用文件,对于团队并行开发来说,这简直是一个恶梦。在项目中任意增加一个文件,都会记录到上述的公共文件中,假如大家的项目一合并,就会出现 N个Conflicts,解决不好,项目就打不开了。上了Metalink,又上了Oracle forum ,才知道大家都是痛苦不堪,想出各种办法来解决这个问题。最后,没办法,只有独占模式最好,不用合并。只不过一个人做的时候,其他人就休息。
缺点二:做来做去做成了一个个人开发工具,适合独行侠使用。
大量的XML配置文件存储了大量的信息,想维护只有通过图形化的工具,还不让你直接修改。怕你改坏了,所以只有关掉Jdeveloper,用editplus到外面修修改改。然后再打开Jdeveloper.
缺点三:只考虑入门新手,但应该为熟手提供一个Edit XML功能。
以上是我试用过程中的一些体会,还有很多鸡肋、Bug之类的东西懒得说了。感觉Oracle Jdeveloper10g离成熟还有一段距离,当然,他带来了一些新的思路,办法,我觉得假如发扬好了,还是很有希望的。