Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.