Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cubby Web アプリケーションのためのシ ンプルなフレームワーク BABA Yasuyuki.

Similar presentations


Presentation on theme: "Cubby Web アプリケーションのためのシ ンプルなフレームワーク BABA Yasuyuki."— Presentation transcript:

1 Cubby Web アプリケーションのためのシ ンプルなフレームワーク BABA Yasuyuki

2 自己紹介 馬場保幸 ( ばば やすゆき ) ‏ 株式会社ヌーラボ (http://www.nulab.co.jp) ‏http://www.nulab.co.jp

3 本日のアジェンダ Cubby って何? Cubby を使うと幸せになるポイント Maven2 と連携した簡単なデモ

4 Cubby って何? Java で Web アプリケーションを開発するための シンプルなフレームワーク 現在のバージョンは 0.9.2 ▫ 近日中の 1.0 リリースを目指して、 seasar.org の sandbox で開発中 Cubby = 小さな整理箱

5 Cubby って何? http://cubby.sandbox.seasar.org/

6 アーキテクチャ サーブレットフィ ルタ アクションク ラス ( ビジネスロジ ックを実行 )‏ JSP Seasar2 HTTP リクエス ト HTTP レスポン ス 実行 リクエストされた URL か ら実行するアクションク ラスを生成、メソッドを 決定 フォワー ド カスタムタ グ

7 Cubby を作った理由 Struts の設定ファイルにうんざり きれいな URI のアプリケーションを作りたい 作りたかったから

8 Cubby を使うと幸せになれるポイント その1

9 HTML に近い JSP カスタムタグ Struts の場合 <html:optionsCollection property="choices" value="id" label="name"/>

10 HTML に近い JSP カスタムタグ Cubby の場合 <t:select name="typeId" items="${action.todoTypes}" labelProperty="name" valueProperty="id"/> HTML タグに近い構文なので、直感的

11 JSP カスタムタグの種類が少ない カスタムタグは 5 つです。 ▫t:form ▫t:input ▫t:select ▫t:textarea ▫t:token 種類が少ないので、覚えることも少ない

12 Cubby を使うと幸せになれるポイント その2

13 メタ情報の記述 Struts の場合 ▫ 設定ファイル struts-config.xml にまとめて記述 <form-bean name="todoForm” type="example.form.TodoForm" /> <action path="/todoEdit.do” type="ex.action.TodoEditAction“ name="todo">

14 メタ情報の記述 Cubby の場合 ▫ アノテーションを用いてアクションクラスのメソッドに記述 public class TodoAction extends Action { public ValidationRules editValidation = new DefaultValidationRules(“todo.") { @Override public void initialize() { add("userId", new RequiredValidator());... } }; @Validation(rules="editValidation", errorPage = "/todo/edit.jsp")‏ public ActionResult edit() {... return new Forward("/todo/confirm.jsp"); }

15 アノテーションの種類 ▫@Path  アクションにアクセスするためのパス (URL) ‏ ▫@Accept  アクションが受け付ける HTTP メソッド (GET や POST な ど ) ‏ ▫@Form  リクエストパラメータを指定するためのオブジェクト ( デ フォルトはアクション自身 ) ‏ ▫@Validation  バリデーションを行うオブジェクト ソースコード上に記述するため、ソースコードを見 るだけでどのような動作をするかが明確になる

16 Cubby を使うと幸せになれるポイント その3

17 http://d.hatena.ne.jp/m- hashimoto/20071231/

18 http://ja.wikipedia.org/wiki/REST

19 https://backlog.backlog.jp/view/BLG- 35

20 Cool URI ▫http://www.w3.org/Provider/Style/URI.htmlhttp://www.w3.org/Provider/Style/URI.html ▫http://www.kanzaki.com/docs/Style/URI.htmlhttp://www.kanzaki.com/docs/Style/URI.html 一意のリソースを表す URI ウェブサイトを構築する際には、きれいな URI を設計することが重要 なにせ気持ちがいい

21 mod_rewrite の場合 httpd.conf RewriteRule ^\/todo\/([0-9]+)? /todo.do?id=$1

22 Ruby on Rails の場合 config/routes.rb ActionController::Routing::Routes.draw do |map| map.connect '/todo/:id', :controller => "todo", :action=> "show" end

23 Cubby の場合 アノテーションを用いてアクションクラスのメソッドに記述してい く // http://example.com/todo/1 public class TodoAction extends Action { public String id; @Path("/todo/{id}")‏ public ActionResult show() { System.out.println(id); } // 正規表現も使えます // @Path("{id,[0-9]+}")‏ }

24 Cubby を使うと幸せになれるポイント その 4

25 Mayaa との連携 HTML テンプレートエンジン Mayaa と連携すること もできる ▫login.html ユーザ ID: パスワード : ▫login.mayaa

26 Maven2 との連携 Maven2 Archetype ▫ プロジェクトのひな形を作成する仕組み ▫Struts の blank.war や Rails の rails コマンドのような もの ▫Cubby による実際に動作するプロジェクトが生成 される  Cubby が依存するライブラリが設定された pom.xml  基本的なパッケージ構成のディレクトリ  Hello World

27 Maven2 との連携 ここで、実際にプロジェクトを作成してみます 。 $> mvn archetype:create -DgroupId=( 作成するプロジェクトのグループ ID 例 :com.foo.bar)‏ -DartifactId=( 作成するプロジェクトのアーティファクト ID 例 :barapp)‏ -Dversion=( 作成するプロジェクトのバージョン 例 :1.0-SNAPSHOT)‏ -DarchetypeGroupId=org.seasar.cubby -DarchetypeArtifactId=cubby-archetype -DremoteRepositories=http://maven.seasar.org/maven2/ $> mvn eclipse:eclipse $> mvn tomcat:run

28 まとめ

29 Cubby は シンプルで習得が容易です。 きれいな URI が得意です。 まずは、 1 度触ってみてください。

30 今後の予定 Maven2 との連携 ▫URI 一覧などのドキュメント出力 ▫Scaffold サンプルアプリケーションの充実 シンプルであり続けること

31 ありがとうございました ご意見、ご要望をお待ちしております。 ▫https://ml.seasar.org/mailman/listinfo/cubby- user


Download ppt "Cubby Web アプリケーションのためのシ ンプルなフレームワーク BABA Yasuyuki."

Similar presentations


Ads by Google