自分はdatastoreのアクセスにJDOを使わない(個人的には、という意味ですが)し、Webアプリとしてのフレームワークという意味ではWicketTester並みの単体テスト環境が無いとイヤなので、slim3は今まで見送ってました。しかし、最近slim3がlow-level APIに対応したといぅ事でちょっと触ってみたりソースを読んでみたところ…S2JDBCを触っていた自分にとってめちゃくちゃ良いフレームワークとなっていました!これはスゴイ使いやすい。モチロンS2JDBC未経験の人でも全然おk。
自分としては「GAE/JのDatastore操作としてJDOから入るとハマる、誤解した理解をしてしまう」という意見をずっと持っていたので、ちょっと触る程度の初心者の方にはLow-Level APIで説明をしていました。ちょっと触ってもらうだけなら今まで通りでもいいですが、「実際に使っていくためのフレームワークは?」という話が出たりそれが前提の場合は、datastoreの操作を行うフレームワークとしてslim3を絶賛オススメします。生でLow-level APIを触るだけでアプリを組むのはなかなか危ないですし、どっちみち何かかぶせるのは間違いないですしね。
これからの自分は次のような手順で説明するかなw
- まずはLow-level APIを生で触る事でdatastoreの正しい理解をしてもらう
- slim3を使う事で、Low-Level APIをラップすると従来のORM的な便利さが得られる事を理解してもらう
- JDOのdatastore実装(datanucleus)の説明を軽く行う(もちろん随所で危険性の説明などを混ぜてdisりつつ説明する)
- JPAのdatastore実装(datanucleus)は論外であると切り捨てる。
自分でLow-Level API用のフレームワークを作っちゃう人は、モチロンそれでもいいと思いますけどね。自分はWicket-slim3datastore、jquery|AIR-t2framework-slim3datastore、あたりで使っていくかなぁ。
独自のプロジェクトでSlim3を使う方法
slim3のdatastoreの仕組みとしては2段階の仕組みがあります。
- Model用のクラスをslim3用のアノテーションで就職し、それをslim3用のslim3-genを使用して、タイプセーフにModelを扱うためのMetaクラスを生成する
- slm3本体のorg.slim3.datastore.Datastoreのメソッドを使用して実際の操作を行う
Slim3では上記のModel用のMetaクラスを生成するためにAPTを使っており、そのための設定をすればおkです。eclipseを前提に手順を書いておきます。お手軽に設定でき、お手軽に試せます。
slim3-gen-${version}.jar
とslim3-${version}.jar
をダウンロード(slim3-gen)(slim3)する。正しいダウンロード元がわからんので、適当にリンクを張ってみましたが、正式なダウンロード元がわかる人はそこからダウンロードしましょう。slim3プロジェクトとslim3-genプロジェクトをそれぞれsvn checkout
してantを実行して自分でビルドしてもいいと思います。が、その場合は作業中のソースをビルドしてしまったりする可能性がありますのでご注意を。- モジュールをプロジェクトにコピーする
- eclipseのAPTの設定を行う
これだけの手順でslim3のdatastoreを使用する準備は完了です。モデル用のクラスをorg.slim3.datastore.Model
アノテーションで修飾し、保存するとHogeMeta
のようなMetaというサフィクスが付加されたクラスが生成されます。使い方は、下記のサイト(slim3の新datastoreAPIの紹介としては一番最初のエントリかな!?)にも書かれていますし、近いうちにslim3の公式サイトのドキュメントが充実していく事だと思います。
追記
Google Groupへのリンクを貼るのを忘れてました。自分もユーザとなりそうなので、遅ればせながら加入させて頂きますた。
0 件のコメント:
コメントを投稿