(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

Similar documents
10th Developer Camp - B5

ETOS 画面の Web 化 / 帳票印刷のオープン化体験お試し変換サービスのご紹介 ACOS-4 システムの業務改善提案

自己紹介 まっつん松藤秀治 ( まつふじひではる ) Piece Project Eclipseプラグインまっつんチャレンジ (ITEMAN Blog) - 2 -

Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)

Windowsユーザでも 手軽に作れるiPhoneアプリ

About me! 足立昌彦 / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert (Android)

第1章 ビジュアルプログラミング入門

Microsoft PowerPoint - Lecture_3

intra-mart WebPlatform/AppFramework

プログラミング基礎I(再)

WTM2019SingleSignOn

Enterprise Architect 12.0 機能ガイド

Web Performer V2.0 カタログ

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

untitled

TestDesign for Web

メディプロ1 Javaサーブレット補足資料.ppt

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

InstallShield FAQ < 独自の InstallShield 前提条件を作成する > 注 ) このドキュメントは InstallShield 2014 Premier Edition を基に作成しています InstallShield 2014 以外のバージョンでは設定名などが異なる場合

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

早分かりS2Dao

ビジネスサーバ設定マニュアル_Standard応用編

Microsoft PowerPoint - Tutorial_2_upd.ppt

スライド 1

PowerPoint Presentation

Delphi/400を使用したWebサービスアプリケーション

SmartBrowser_document_build30_update.pptx

SystemDirector Developer's Studio(V3.2) 適用ガイド

untitled

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

データベースアクセス

自宅でJava言語の開発環境を作る方法

Delphi/400を利用したはじめてのWeb開発

◎phpapi.indd

VVB6システムからSeasar2を用いたWebシステムへの移植

SpringSecurity

Microsoft Word - tutorial3-dbreverse.docx

SinfonexIDaaS機能概要書

Delphi/400活用! スマートデバイスアプリケーション開発

Javaの作成の前に

JSFからのTeeda

JavaScript 1.! DOM Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2

intra-mart im-J2EE Framework

MVP for VB が語る C# 入門

VFD256 サンプルプログラム

D5-2_S _003.pptx

IBM i ユーザーの課題 モバイルや IOT に対応した新しい開発案件への対応 RPG COBOL など既存アプリのメンテナンス 要員の確保 属人化しない運用 管理体制 2

S2Wicketの紹介

WebOTXマニュアル

S2DaoでもN:Nできます

スライド 1

Rmenuフレームワーク

Java言語 第1回

Seasar.NET入門

メディプロ1 Javaプログラミング補足資料.ppt

Transcription:

Click Framework ~Simple is the Best~ NTT データ先端技術 竹添直樹 takezoe@gmail.com 1

自己紹介 竹添直樹 ( たけぞう ) NTT データ先端技術所属 OSS 関連 Project Amaterasオーナー Click Framework コミッタ Seasarプロジェクトコミッタ FreeStyle Wiki 2

3

仕事で使っているフレームワークは何ですか? 4

これから使ってみたいフレームワークは何ですか? 5

そのフレームワーク 本当に必要ですか? 6

キーワード MVC コンポーネント指向 イベント駆動 EoD RAD DI AOP HTMLテンプレート Ajax ステートフル 7

フレームワークは どんどん複雑に 8

Web アプリはもっと シンプルに作れるはず 9

Simple is Best! 10

11

Click Framework 12

Click Framework とは? Malcolm Edger 氏が中心となって開発された Web アプリケーションフレームワーク 2003 年に開発開始 充実したドキュメントとサンプル コンポーネント指向 イベント駆動型 なのにシンプルでコンパクト! 13

シンプルなのは良いことだ 高性能 Struts と同等またはそれ以上の性能 フレームワークを把握しやすい 学習コストが低い 拡張しやすい トラブルに対処しやすい 理想と現実の妥協点 Servlet APIを隠蔽しようとはしていない コンポーネントを使わずに開発することも可能 14

Click の特徴 J2SE 1.4 でも動作 後方互換性を重視しているので安心して使える 設定ファイルを記述する必要は ( ほとんど ) ない 豊富なコンポーネント Spring Hibernate Cayenne との連携機能が用意されている 国際化されており 日本語も ( ほぼ ) 問題なく利用することが可能 モックによるユニットテストの支援 Eclipse プラグイン (ClickIDE) 15

Click を使ってみよう ページクラス public class LoginPage extends Page { public Form form = new Form("form"); private TextField userid = new TextField("userId", true); private PasswordField password = new PasswordField("password", true); private Submit loginbutton = new Submit("login", this, "dologin"); public LoginPage(){ // 入力フォームを構築 form.add(userid); form.add(password); form.add(loginbutton); } ボタン押下時に dologin() を呼び出す 入力フォームを構築 ページテンプレート (Velocity) <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8"> <title>simple Form</title> $imports </head> <body> $form </body> </html> 自動レイアウト機能によって $form が入力フォームに展開される public boolean dologin(){ if(form.isvalid()){ String userid = this.userid.getvalue(); String password = this.password.getvalue(); // ID とパスワードが正しいかチェック // 正しい場合はメニュー画面に遷移 setredirect(menupage.class); return false; } return true; } } ボタン押下時の処理 16

Ajax で入力補完 豊富なコンポーネント タブ ポップアップカレンダ グラフ ツリー テーブル 選択リスト 17

ClickIDE Click での Web アプリケーション開発を支援する Eclipse プラグイン Click プロジェクトで開発されています Eclipse 3.3 + WTP 2.0 で動作 < 主な機能 > プロジェクトの作成 ページ作成ウィザード Velocity テンプレートエディタ ヘルプに統合されたClickドキュメント Spring Cayenneとの連携 18

事例 Click + S2Dao による Web アプリケーション アプリケーション自体は比較的シンプル 60 画面程度 約 3 ヶ月 ( 短期間 ) で外部設計 ~ 総合試験まで アジャイル開発 製造開始時点で仕様が固まっておらず 作りながら仕様を決定 19

事例 Click + S2Dao 採用の効果 高生産性フレームワークによるコード量の削減 開発コストの削減だけでなく 仕様変更時の修正コストも削減 HTML モックを作らずいきなり Click で画面を作成 public フィールド全開! JavaBean にはアクセサメソッドを使わず public フィールドを活用 アクセサは IDE で自動生成可能とはいっても Javadoc の記述や フィールド名変更時の修正など それなりにコストがかかる Click の自動レイアウト機能はあまり活用できなかった 画面は最もお客様から細かい修正指摘を受けるので 自動レイアウトで完全にカバーできる部分は少ない 最初は自動レイアウトを利用し 自動レイアウトで対応できない場合は HTML テンプレートを作成するという感じ 20

Click の微妙なところ フォームを構築するコードがページクラス側に出現 ビューがコントローラを侵食している フォームを構築するコードは別クラスにするのがおすすめ HTML でモックを作るようなケースには向いていない Click の自動レイアウト機能が活用できない モック段階でも最初から Click で組んでしまったほうが良い コンポーネントが微妙に拡張しづらい 特にクライアントバリデーション JavaScript の拡張が面倒 割と保守的 Click FrameworkはJ2SE 1.4でも動作する 後方互換性を重視し 新機能の導入には慎重 Java5 対応は来年以降 ググラビリティが低い Click Framework で検索 ググるよりドキュメントとソース読んだほうが早いかも 改善できるところは改善していきます! 21

まとめ Click はコンポーネント指向 イベント駆動型のモダンなフレームワークです Click はシンプルで学習コストが低く 拡張の容易なフレームワークです Click は高速に動作し後方互換性を重視しているため安心して使えるフレームワークです 22

情報源 Click FrameworkのWebサイト http://click.sourceforge.net/ Click Blog http://click-framework.blogspot.com/ メーリングリスト http://sourceforge.net/mail/?group_id=82095 JIRA http://www.avoka.com/jira/secure/dashboard.jspa Clickの日本語情報 Wiki http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/click ITProの記事 (Click 1.1 対象なので古いです ) http://itpro.nikkeibp.co.jp/article/column/20070305/263875/ 23

さて 24

ここで皆さんに重要なお知らせがあります 25

Click in Action 発売決定!! 26

なわけない 27

冗談です ごめんなさい 28

でも本が出せるくらいユーザが増えるといいな 29

ご清聴ありがとうございました 是非 Click Framework をお試しください http://click.sourceforge.net/ 30