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

Similar documents
S2Pradoの紹介


10th Developer Camp - B5

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

スライド 1

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

5-3- 応統合開発環境に関する知識 1 独立行政法人情報処理推進機構

スライド タイトルなし

5-1- 応開発フレームワークに関する知識 開発フレームワークを利用した Web アプリケーションの実装方法を理 Ⅰ. 概要解する MVC や OR マッピング DIxAOP といった技術を理解する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 5-1- 基開発フレームワークに関す

WebOTXマニュアル

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

PowerPoint プレゼンテーション

5-1- 基 開 発 フレームワークに 関 する 知 識 現 在 普 及 が 期 待 されている 開 発 フレームワークの 実 際 の 開 発 運 用 Ⅰ. 概 要 の 際 に 必 要 な 管 理 知 識 手 法 の 種 類 と 特 徴 内 容 を 理 解 し 必 要 なノ ウハウを 実 務 レベル

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

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

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

S2BaseとZend Framework

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

ファイルを直接編集する画面を切り替えることができる. 図 3 標準のレイアウトを削除する (2) グラフィカル レイアウト画面で LinearLayout(Vertical) を追加するパレットウィンドウの レイアウト の中にある LinearLayout(Vertical) をドラッグして, 編集

プレポスト【問題】

Microsoft PowerPoint - Lecture_3

intra-mart WebPlatform/AppFramework

Java 2 - Lesson01

CodeGear Developer Camp

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

WTM2019SingleSignOn

Enterprise Architect 12.0 機能ガイド

1

Web Performer V2.0 カタログ

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

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

untitled

TestDesign for Web

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

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

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

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

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

(Microsoft PowerPoint - Java\221\3462\225\224\211\357\224\255\225\\\216\221\227\ ppt)

早分かりS2Dao

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

intra-mart Accel Platform

CodeIgniter とは? アメリカ EllisLab 社が開発配布しているオープンソースの PHP フレームワーク 2006 年 2 月リリース

Microsoft PowerPoint - Tutorial_2_upd.ppt

スライド 1

PowerPoint Presentation

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

SmartBrowser_document_build30_update.pptx

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

<4D F736F F D208DCC91F088C48C8F955D89BF8F915F8DA196E5504A>

untitled

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

データベースアクセス

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

PowerPoint プレゼンテーション

PowerPoint Presentation

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

PowerPoint プレゼンテーション

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

Facebookエクステンション利用マニュアル

治療院ワードプレステンプレートについて 著作権情報 : このテンプレートはビズベクトルさんの無償テンプレートを寺田さん 浜田さんが治療院様用にカスタマイズしたものです 導入サポートはついておりませんが ビズベクトルさんのHPにワードプレスのインストール方法 有償サポートが掲載されておりますのでご参照

◎phpapi.indd

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

SpringSecurity

スライド タイトルなし

IBM Cloud Social Visual Guidelines

Microsoft Word - tutorial3-dbreverse.docx

Prog2_12th

5-3- 基統合開発環境に関する知識 1 独立行政法人情報処理推進機構

SinfonexIDaaS機能概要書

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

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

intra-mart im-JavaEE Framework

目次 更新履歴... 1 画面設計書の目的... 3 必要な内容... 3 画面一覧... 4 必要な内容... 4 画面遷移... 5 画面レイアウト... 6 入力パラメータ... 7 必要な内容... 7 項目定義... 8 必要な内容... 8 部品の種類... 9 ( 参考 ) 部品指定と

20th Embarcadero Developer Camp

Javaの作成の前に

JSFからのTeeda

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

intra-mart im-J2EE Framework

MVP for VB が語る C# 入門

Delphi/400でFlash動画の実装

Java - Visual Editor

スライド 1

VFD256 サンプルプログラム

V8.1新規機能紹介記事

1

D5-2_S _003.pptx

Webデザイン論

IBM Cloud Social Visual Guidelines

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

S2Wicketの紹介

WebOTXマニュアル

S2DaoでもN:Nできます

スライド 1

Rmenuフレームワーク

Java言語 第1回

(Microsoft Word - \225\361\215\220\217\221_\215K.doc)

Seasar.NET入門

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

JavaServer Templates “Maya”

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