2008年8月24日日曜日

NetBeans 6.5 で Grails アプリケーション開発

NetBeans 6.5 Beta でサポートした Grails アプリケーションについて紹介します.
本格的なアプリケーションはこのスペースでは難しいので、公式サイトQuick Startを試してみます

1. Grails プロジェクトを作成
Grails プロジェクトを作成します
「File > New Project」と選択し、プロジェクト選択ウィンドウにて「Groovy > Grails Application」を選択します


上記サイトではプロジェクト名に指定はないので、今回は"HelloGrails"とします


2. データソースを定義 (任意)
今回は省略します

3. ドメインクラスを作成
プロジェクト内の「Domain Classes」を右クリックし、メニューから「New > Grails Domain Class」を選択します


クラス名は"Book"とし、Quick Startと同様にコーディングします
class Book {
Long id
Long version

String title
String author
}


テストデータに関しても記述通り設定します
プロジェクト内の「Configuration」を展開し、「BootStrap.groovy」を開きます
Quick Startを参考に、以下のように入力します
class BootStrap {

def init = { servletContext ->
new Book(author:"Stephen King",title:"The Shining").save()
new Book(author:"James Patterson",title:"Along Came a Spider").save() }
def destroy = {
}
}


4. コントローラーを作成
プロジェクト内の「Contollers」を右クリックし、メニューより「Grails Controler」を選択します

クラス名は"BookController"とし、これも同様にコーディングします
class BookController {
def scaffold = Book
}


5. Grailsの起動
プロジェクトを右クリックし、「Run」を選択してGrailsを起動します


ブラウザが起動し、Grailsのデフォルト画面が表示されます

"BookControllerController"というリンクが追加されているので、クリックします

"Book List"というページに遷移し、リストが表示されます
リスト内に「BootStrap.groovy」に追加した、テストデータが表示されているのが確認できます



"New Book"をクリックすると、入力画面に遷移し、新規データを登録することができます


日本語での登録も可能です


一覧画面に遷移すると、データが正しく登録されていることがわかります


実務では使われないだろう、scaffoldを使ったサンプルでしたが、NetBeansを使用した開発のイメージはつかめたかと思います
コマンドラインでバリバリにやり慣れた人は煩雑に感じるかもしれませんが、さくさくと開発を進められるのでツールとしての完成度は高いのではと思っています
(他の IDE の Grails サポートと比較した訳ではありませんが…)
Grails徹底入門」が入手できましたら、NetBeansを使ってサンプルを作ってみたいとおもいます

2008年8月22日金曜日

NetBeans 6.5 の新機能(3)

6.5 にて個人的に気になっている(期待している)新機能を紹介したいと思います
なお、 紹介した機能が最終的なリリース版に含まれるかは現時点では不明ですので、ご了承下さい。

今回はGroovy/Grailsサポートです
なお、NetBeansにはGroovy、Grails本体は含まれていませんので、別途インストールが必要です
お使いの環境でGroovy、Grailsがインストールされていない場合は、ココココを参照に環境設定を行ってください

また、Groovy/GrailsサポートプラグインがNetBeansにインストールされていない場合はプラグインマネージャからインストールしてください(インストールされているかどうかもプラグインマネージャから確認できます)


環境が整いましたら、NetBeansの設定を行います
環境設定(オプション)画面のGroovyの項目を開き、「Groovy」タブをクリックします

Groovyのパスを設定します
(MacPortsからのインストールの場合は"/opt/local/share/java/groovy"になります)
必要に応じて、Groovy Docのパスも設定してください

次に「Grails」タブをクリックし、Grailsのパスを設定します
(同じく、MacPortsからのインストールの場合は"/opt/local/share/java/grails"になります)


Groovy/Grailsに関しての設定は終わりましたので、早速プロジェクトを作ります
その他の言語での開発と同様、「File > New Project」と選択し、プロジェクト作成ウィザードを開きます
カテゴリリストの中の"Groovy"という項目を選択すると、プロジェクトリスト内に"Grails Application"という項目が表示されます

shinさんがブログでも指摘されていましたが、なぜか"Grails Application"の項目しかなく、Groovyのみのプロジェクトが作成できません
ちなみに以前は"Groovy Application"などの項目がありました


では、Groovyだけでアプリケーションを作りたい場合はどうするのかというと、通常のJavaプロジェクトで行うようです

個人的にはGroovyプロジェクトとして独立していたほうがいいとは思っているので、正式リリース時には戻ってほしいものです

話がそれましたが、プロジェクト作成ウィザードにて "Grails Application" を選択し、「Next」ボタンをクリックします
プロジェクト名、パス設定画面にて任意のプロジェクト名を入力し、「Finish」ボタンをクリックします
(例ではプロジェクト名を "HelloGrails" としています)

プロジェクトが作成されるので、右クリックメニューから「Run」を選択し、実行します
ブラウザが起動し、 Grails のデフォルト画面が表示されます

以降、NetBeans を使用した Grails アプリケーションの作成については次回紹介したいと思います

2008年8月21日木曜日

Mac OS XにGrailsをインストール

昨日に引き続き、インストールメモです
MacPortsを使って、Grailsをインストールします

$ sudo port install grails

Groovyとは違い、何のトラブルもなく、インストール完了です
短いですが、以上です

2008年8月20日水曜日

Mac OS XにGroovyをインストール

MacPortsを使って、Groovyをインストールします

$ sudo port install groovy

すると、途中でエラーになります

BUILD FAILED
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_java_groovy/work/groovy-1.5.6/build.xml:65: Problem: failed to create task or type antlr
Cause: the class org.apache.tools.ant.taskdefs.optional.ANTLR was not found.
This looks like one of Ant's optional components.
Action: Check that the appropriate optional JAR exists in
-/usr/share/ant/lib
-/Users/junji/.ant/lib
-a directory added on the command line with the -lib argument

調べてみると、"/usr/share/ant/lib"以下に"ant-antlr-1.7.0.pom"はあるのですが、"ant-antlr-1.7.0.jar"がありません
対応するには公式配布パッケージからJARを抜いて"/usr/share/ant/lib"以下にコピーするか、別途antごとインストールする方法があります
今回はantが1.7.1にバージョンアップしている事もあるので、MacPortsを使って新規にインストールします

$ sudo port install apache-ant
$ ant -version
Apache Ant version 1.7.1 compiled on June 27 2008

再度、Groovyをインストールすると無事成功しました

$ groovy -v
Groovy Version: 1.5.6 JVM: 1.5.0_13-119

Appleの親切心でプリインストール(正確には開発環境インストール時)されているかと思うのですが、こういった独自パッケージがトラブルの起因になってるのは逆に不親切なように思います
取り敢えず、Groovyはインストールできましたので、次回は6.5 Betaの新機能であるGroovyサポートについて紹介したいと思います

2008年8月14日木曜日

NetBeans 6.5 Beta リリース

NetBeans 6.5 Beta がリリースされました
リリース情報は英語ですが、コチラにあります

しかも、早くも日本語化パックがコチラにてダウンロードできます
(ローカライズチームの皆様、お疲れさまです)

毎度恒例のスプラッシュはこんな感じです


6.1 では暫定リリースだった PHP が正式リリースされます
また、Groovy / Grails のサポート、Javascript、Ruby のサポート強化など、言語サポートの機能追加が目立ちます

その他にも多くの機能追加が行われているので紹介できたらと思います
(期待している機能がリリース情報に挙ってないのが複雑な気持ちですが…)

2008年8月13日水曜日

NetBeans 6.5 の新機能(2)

6.5 にて個人的に気になっている(期待している)新機能を紹介したいと思います
なお、 紹介した機能が最終的なリリース版に含まれるかは現時点では不明ですので、ご了承下さい。

今回はテスト周りです
今回も機能追加はそれほどなかったのですが、要望が多かった、テスト結果からテストメソッド単位にて実行ができるようになりました
ツリーのテストメソッドを右クリックするとそのメソッドだけをテストすることが可能になります



以下のように選択されたメソッドのみが再テストされます



結果ウィンドウからテストメソッド単位での実行できるのですが、全体を再実行することはできないため、従来通りにプロジェクトツリー側から実行などの手順を取る必要があります
テスト結果からも全体の再実行ができると、操作が統一できて使いやすいので、改善されたらと思います

以前作っていたJUnit拡張プラグインもテストメソッド単位の再実行機能の実装を目的していましたが、標準でサポートされて良かったと思います
これでプログレスバーが付いてくれるとなお良いのですが…

2008年8月12日火曜日

NetBeans 6.5のグラフィック

小ネタです
(新機能の続きでなくてすみません)

片貝さんのblogでも紹介されている通り、6.5にてグラフィックが変わる予定になっています


スプラッシュ画面はこんな感じになります


製品情報に関してはこんな感じです

個人的には5.x、6.0、6.1の中では一番気に入っています
ただ、上記スプラッシュ画面を見て頂きたいのですが、プログレスバーが鮮やかな赤色で、あまりに浮いているように思います
何とかリリース時には全体とのバランスが取れた色になっていればなと思います

2008年8月10日日曜日

NetBeans 6.5 の新機能(1)

6.5 にて個人的に気になっている(期待している)新機能を紹介したいと思います
なお、 紹介した機能が最終的なリリース版に含まれるかは現時点では不明ですので、ご了承下さい。

今回はデータベース周りです
Sun が MySQL を買収したこともあってか、 6.1 では MySQL の対応がメインで、データベース周りの機能追加はあまりなかったのですが、 6.5 は大幅な追加が行われそうです

(1) SQL エディタでの補完


デザインクエリの機能があったからか、長い間シンプル(悪く言えば低機能)だった SQL エディタでしたが、今回クエリの補完機能が追加されました
現時点ではあまり賢いとは言い難いのですが、実用レベルではあると思います
(さすがに作業効率という面では各 DB 専用エディタにはかないませんが…)

(2) SQL 履歴


過去に実行した SQL の履歴を表示し、再利用する事ができます
接続別、また入力文字列によって履歴を絞り込む事ができます
行を選択し、 「Insert」 ボタンをクリックすると、 エディタ内のカーソル位置に SQL が挿入されます

(3) GUI によるデータ操作


今までは、テーブル作成は GUI にてできていたのですが、データ登録、更新、作成などは SQL で直接操作する必要がありました
今回の機能追加でこれらのデータ操作が GUI にて行う事ができるようになりました


このアイコンをクリックすると、データの登録(INSERT)用ウィンドウが表示されます

テーブル定義に対応した項目が表示され、型に合わせたデータの入力ができます
また、実際に実行される SQL の確認もできます


実行すると、以下のようにデータが登録されます



登録したデータ行を選択すると、この削除アイコンが有効になります
クリックすると、確認プロンプトが表示されます


「Yes」 ボタンをクリックすると、選択行が削除されます
なお、この処理は自動コミットなので、ロールバックはできないようです



表示されているデータ行のカラムをダブルクリックすると、入力可能状態となり、データを編集することができます


編集したデータを確定すると、データの文字色が変わり、編集に関するアイコンがアクティブになります
なお、この時点では DB へ変更は反映されていません
(リフレッシュすると編集前にもどります)


このアイコンをクリックすると、編集されたデータがコミットされます


このアイコンをクリックすると、編集されたデータはロールバックされます


このアイコンは選択されたテーブルのデータを全削除( truncate )します

6.0 、6.1 では開発環境として DB と連携する機能は整備されましたが、DB 操作に関してはほとんど機能追加は行われていませんでした
今回の機能追加で大幅に手が入った事により、簡単なテストデータの作成のレベルであれば、 NetBeans のみで完了できるかと思います
補完に関しては、 H2 の Web インターフェイス並みの補完機能、 GUI でのデータ操作では、別ウィンドウでデータ登録するのではなく、テーブルに対して空行を追加し、そこに値を入力し、コミットする事で登録となれば、より実用的かなと思います
(GUI でのデータ操作に関しては、編集は上記方法で実現できているので、可能かとは思っているのですが…)

その他にも 6.5 は機能追加が盛りだくさんですので、(リリース版に本当に実装されるかは別として)引き続き紹介したいと思います