せっかくなのでJDeveloper 11g TP4を落としてみた

ファイルサイズが770MB超えてる・・・でけぇ。

とりあえずzipを解凍して起動。あ、これインストーラじゃなく実行バイナリなのか。すぐにテストが出来ていい感じ。

ウインドウが青をベースにしていて結構好みかも。ウインドウの幅を変えると・・・ん?Swingの動作が古い。メニューを選択時にウインドウのタイトルバークリックしても消えないし、リサイズ時に再描画されないし。まるいでJ2SE5.0時代のVMで動かしているかのようだ。もしかしてJDKもこのバイナリの中に含んでいるのか?と重い調べてみるとjdkというフォルダが存在した。そしてそこにjava.exeがあったのでversionをしてみると・・・確かにJDK1.5だった。JavaはJavaSE6で大幅に高速化しているので6を使いたいんだよなぁ。

どうやらまちがってJDKを含むほうをダウンロードしてしまったようだ。起動を変えるにはどこで設定すればいいのだろうか。

結局わからなかったのでひとまず放置。使用する前にメモリの使用量とかGCのチューニングとかするのはIDEを扱う上において非常に大事だと思うのだが、これらの設定箇所もわからないや。

まずは一番簡単なWebアプリをJSFで軽く作る。

気になったスクリーンショット

ビジュアルデザイン時にバインディングもビジュアルに選択可能。

コンポーネントバインディングされたプロパティも選択肢にでてくるのが非常に邪魔だが、NetBeansのVisualWebJSFと同様に一覧から探して選択できるのは良い。あらゆるクラスのプロパティなんて誰も覚えていないのだからこういう機能は重要だ。


プロパティで必須入力をチェックして、メッセージもセット。

ソースはこんな感じ

    private String name;
    private String output;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getOutput() {
        return output;
    }

    public void setOutput(String output) {
        this.output = output;
    }

    public Object commandButton1_action() {
        
        output = "はろー" + name + "さん";
        
        return null;
    }
    

実行。何も入力しないでボタンを押す。


名前を入力してボタンを押してみる。

うん、問題はない。

とりあえず軽く触ってわかったこと

以下軽く触っただけなのでかなり適当なことかいてると思う。マニュアルも一切読んでない。感覚的に触れるかどうか。


●バージョン管理は2つ対応している。

アプリケーションサーバーはOC4Jしか選べないくさい。

●起動時間はNetBeans6.1より早いかも(ただし、)

●デフォルトのプロジェクト作成箇所がルートの直下にディレクトリを作るくさい

など

●アプリケーションの中にプロジェクトが存在する・・・らしい

JSFのほかStrutsもサポートしている・・・ぽい?

●履歴を見るのが非常に手軽なのは用途によってはかなりいいかも

●web.xmlのビジュアル編集がない

●ブラウザのプレビューが機能していない

JSFJSPを作るときにマネージドビーンと1:1にするかどうかがダイアログで設定可能

●マネージドビーンが完全なPOJOなのはマル

JSPデザインとマネージドビーンの切り替えがNetBeansのように容易ではない

●マネージドビーンと関連付けした場合NetBeans6.0までのようにコンポーネントバインディングが必ずされる
 NB6.1からデフォはなし、になって手軽にバインドをつけたりはずせるようになった。業務アプリではラベル等をはじめとして大量にコンポーネントが生成されるのが普通なので必要なところだけバインドした方が軽くなってよい。ほとんどの場合プロパティとメソッドのバインドだけでいいわけだし。

●実行すると組込OC4Jが警告いくつかだす

●組込OC4Jの起動が遅いかも。テスト的には軽いAP鯖が使いたいかも。再デプロイはGlassfishTomcatは瞬時に終わるのが普通だが、かなり待たされる。もしかしていちいち再起動してるの?

●アクセサの生成が非常に強力。リスナー追加まではNetBeansはやってくれないはず。

●何をするにもウィザードやダイアログが出すぎのような気がする。デフォルト値をセットしておいてあとでプロパティを変更するほうが楽かな

●プロパティインスペクタがちょっと使いにくいかも

●エディタ部分の機能としてはNetBeans4.1から5.0あたりに近い?

まとめ

ドキュメントは一切読まずにうわべだけさわっただけなのでなんともいえないが、触る前よりかなり良いイメージになった。

適当にナビゲーション作るとデフォルトは「成功」という日本語名が。

<?xml version="1.0" encoding="windows-31j"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee">
  <navigation-rule>
    <from-view-id>/index.jsp</from-view-id>
    <navigation-case>
      <from-outcome>成功</from-outcome>
      <to-view-id>/nextpage.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>
</faces-config>

これ翻訳時にやっちまった例だろうか。原文は「success」とかそういう感じかな。日本語を積極的に使うのは個人的には非常に賛成なのだが、ツールやライブラリが対応していない場合が多いのでデフォルトの動作がこれだと多少不安だったり(例えばToplinkやEclipseLinkは日本語の扱いであいかわらず不具合だしてる。もう2年ほど絶賛放置中。原因はGlassfishのほうかもしれないけど)。


基本的にIDEとしての完成度はかなり高いと思うのだが、DBにしろAp鯖にしろOracle製品に依存するような形なのがちょっと普通に扱うのに問題あるかなぁと思った。Oracle製品との相性がもっとも良いIDEですが、他社の製品も問題なく使えますよーって動きのほうがいい気がする。というかその流れは最近のNetBeansのことだが。4.0以前はsunのAP鯖とTomcatしか動かなかったのだが、今ではWebLogic、WebSphere、JBossとかも選択可能だ。

あと文字化けしてるところを発見。パネルグリッドのウィザードで文章が化けてるところがあるようだ。というか入力項目は数字1つなのでわざわざウィザードにする意味が・・・。

IDEそのものの重さは軽く触った感じではそんなに感じない。むしろビジュアルデザインやってる割には軽い。NetBeansはもっと重いよ。重くないと堂々といってもよいレベル。ただし、絶対座標の配置の容易さやソースとJSPの一体感などNetBeansのVisualWebJSFのすごさを改めて思い知ったり。JDeveloperのビジュアルデザイナは手で調整したりするのと手軽にぺたぺた貼り付けるものとの中間的な場所という感じ。VisualWebJSFはぽとぺたのみで扱うのが一番良い。

OC4Jの起動時間が今の半分になればかなり開発は楽しいんじゃないかなと思った。

さらに重要なところだけまとめると

  • 全体的にウィザードやダイアログが多い
  • NetBeansのVisual Web JSFほどVBDelphiのようにぽとぺた万歳ではない
  • ぺたぺた貼り付けてプロパティを入力したあと、がりがりコードやJSP等を調整していくスタイルか
  • OC4Jがちょっと重たい。再デプロイでGlassfishの3〜5倍くらい時間かかってると思う
  • IDEそのものはそんなに重くない
  • VisualWebJSFの場合それ自体がフレームワークでもあるのだが、JDeveloperフレームワークのないJSFとして扱えるため機能の違いはかなりある感じ

また、時間が出来たとき触ってみたいと思う。