The NetBeans: Welcome, New, & Cool

NetBeans6.1や6.5での機能。
とりあえず感想として、NetBeansでWebアプリやらSwingやらを開発しやすくするために加えた機能が、結果としていろいろなアプリケーションを便利にするための機能になってるなと。

iReport

JasperReportとJFreeChartを使ったレポート作成ツールのプラグイン
NetBeansプラグインになったことで、データベース連携がやりやすくなってます。

GSF

Schliemanプロジェクトのことで、NetBeansでの言語編集用ライブラリです。
NetBeans6.0でRuby、6.1でJavaScript、6.5でPHPやGroovy、ほかに作業中としてPythonScalaFortranや、もひとつ見逃したのですが何かに対応するようです。
EmacsVimのような、設定ファイルによるアプローチで言語対応をできるようにするのが特徴
字句解析や構文解析、またパース処理のスケジューリングやナビゲータ対応、言語要素の抽出などを行います。
将来的には、言語のロジック実装やちゃんとしたAPIを作るということ。
そう、いまはまだAPIがちゃんとできてないし、完成してなくて変更も激しいしということらしい。

PHP対応

変数やメソッド、requireの中身、ドキュメンテーションが補完できます。もちろん実行ボタンで実行も。
リファクタリングで変数名やクラス名とコンストラクタなど、Javaと同じようなリファクタリングができます。
デバッグもできるようですが、その説明ははしょられてしまいました。

ALM Integration

コラボレーション系のなにか。よくわかりませんでした。

ごはんとか

いつもどおり、ケーキは甘すぎて食えたものではないようだ。ぼくはもう口もつけていない。甘いものが甘すぎるのがこの国のようだ。


あと、ねんどのような、びよびよ伸びる物体があったので、ねこび〜んを作ろうと思ったのだけど、耳や手足を生やしてたら、どろどろ溶けた風になってしまった。


とりあえず、一緒に写真とっておいた

The NetBeans 6.1 IDE:Faster Than Ever

メシくってて聞き逃した。
NetBeans 6.1では、起動が最大40%速くなったということですが、その舞台裏だったようです。
メモリリークのテストが次のように書けるというのが魅力的。GCでちゃんと回収されるかどうかがテストできます。

DialogWizardPanel1 instance
WeakedREference<Object> ref = new (instance)
instance = null;
NBTestCase.assertGC(ref);

あとは、6.5ではもっと起動を速く、UIのレスポンスやプロジェクトエクスプローラーの動きを速くしたりと、実行性能に注力していくようです。プロジェクトのスキャンや、保存時にバックグラウンドでコンパイルすることでビルド・実行を速くしたり。

The NetBeans 6.1 IDE for the Enterprise

Web+DBアプリケーション対応について

RESTful Webサービス

アノテーションで次のようにかけますよ、と。

@Get
@ProduceMime("image/jped")
public byte[] getJpg(@QueryParam("ratio") r){
	return some;
}

@Put
@ConsumeMime("application/xml")
public void putXml (byte[ content){
}


で、最近Webとか興味がなかったので、まあRESTful Webサービスがなんぼのもんじゃい、とか思ってたのですが、デモでドラッグ&ドロップでTwitterにアクセスするコード書いてて考えが変わりました。
TwitterAPIはRESTful

NetBeansでメジャーなRESTful APIが登録されてる

Twitter操作がらくらく
これは素敵
@javaflowerownerあてにダイレクトメッセージを送ったりしてました。

ここでジョナサンシュワルツ登場

なに言ったか覚えてないけど、会場が会場だけに、NetBeansすごいだろみたいなことを言ってたんだと思います。というか、そういうことを言ってたことだけはわかるけど、詳細はよくわかってない。

Webサービスのテスト

GUI操作でいろいろできますよ、とデモ

Springサポート

WebフレームワークとしてSpring Web MVC 2.5が含まれてたり、applicationContext.xmlでコード補完ができたり、リファクタリングJavaのクラス名を変更するとapplicationContext.xmlファイルも変更されたり

Hibernateサポート

Hibernate 3.2.5がついてくるらしい。
で、設定ファイルやマッピングファイルの編集や、設定ファイルのビジュアルエディタやら、ctrl+クリックによるリンクやら。
もちろん、リファクタリングでのクラス名の変更も反映されますよ、と。

Axis2 Web Services

なんか流してた。Axis2J2SEアプリケーションやライブラリプロジェクトで使えたり、POJOWSDLからWebサービスを作成できたり、axis2の設定ファイルを自動生成したり変更したり。

JSF CRUD

JPAエンティティからJSFCRUDを作る機能が復活。
1対1、1対多、多対多対応した

Building Ajax Applications

AjaxJavaでどうやるかという話。

JavaScriptサポート

ちょっと遅れて行ったら、ブラウザ上で動いているJavaScriptデバッグNetBeansでやってた。
ブラウザ上ではFireBugが動いてたので、FireBugと連携するんだろうか。
ブレイクポイントをおいたり、変数を見たり、普通にやってた。
これは便利そう。

jMaki

Webフレームワークに含まれるのと、JSP編集でパレットからのドラッグドロップでコンポーネントがおけるというデモ

Woodstock

Visual Web JSFで使ってるJSFコンポーネント
Ajaxサポートのコンポーネントがだいぶ充実してきてる。

RichFaces

RedHat & Exadelが作ってるAJAX用のJSF拡張
- コンポーネントを置いて、でJavaコード呼び出しが書けるのかな。

Wicket

XMLファイルとかHTMLとかほとんど使わずにJavaコードだけでWebアプリができる。
Ajaxのふるまいをコンポーネント化できる。AjaxXxxってクラスでAjax対応コンポーネントが用意されてる。
NetBeans用のプラグインはプラグインポータルでとってこれる。
けど、Wicketは普通のJavaコードでなんでもやる感じなので、プラグインでやってくれることは少ない。というか、普通のJava対応エディタがあれば普通に楽になる気がする。
ってか、Geertjan、明らかにRichFacesのときよりたくさん話してて、どんだけWicket好きなんだこの人はと思った。
デモで打ち込むJavaコードを、普通はエディタに書いておいたりするんだけど、NetBeansのコードテンプレートに入れてて面白いと思った。さすがNetBeansハッカー。けど、普通のデモでやったら、NetBeansがそこまでやってくれるんだと誤解を与えそう。
Wicketについて詳しくはid:t_yanoに聞いてください。