Submit Search
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
8 likes
3,673 views
Y Watanabe
1 of 21
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
More Related Content
What's hot
(20)
PPTX
Vue template-parserを作っている話
Koki Natsume
PDF
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
PDF
PHP Application E2E with Capybara
Yoshiaki Yoshida
PDF
High Performance Gulp
Keisuke Imura
PPT
Perl Beginners #7 おとなのWAF
Munenori Sugimura
PDF
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
ODP
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
PDF
C# で Single Page Web アプリを開発できる Blazor ― その魅力
Jun-ichi Sakamoto
PDF
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
PDF
CLR/H第54回勉強会 ライトニングトーク
Jun-ichi Sakamoto
PDF
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Y Watanabe
PDF
Blazor 触ってみた
Oda Shinsuke
PDF
いまさら聞けない!?Backbone.js 超入門
Kohei Kadowaki
PDF
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
Yuki Minakawa
PPTX
Rails勉強会資料
Yoshimitsu Ogawa
PPTX
20191003 classi night-04
Akihiko Kigure
PPT
Antのススメ
Tatsumi Naganuma
PDF
【Camphor ×サイボウズ】selenium勉強会
Yuki Okada
ODP
HTML5 開発環境の紹介
tomo_masakura
PDF
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
ytanno
Vue template-parserを作っている話
Koki Natsume
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
PHP Application E2E with Capybara
Yoshiaki Yoshida
High Performance Gulp
Keisuke Imura
Perl Beginners #7 おとなのWAF
Munenori Sugimura
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
C# で Single Page Web アプリを開発できる Blazor ― その魅力
Jun-ichi Sakamoto
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
CLR/H第54回勉強会 ライトニングトーク
Jun-ichi Sakamoto
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Y Watanabe
Blazor 触ってみた
Oda Shinsuke
いまさら聞けない!?Backbone.js 超入門
Kohei Kadowaki
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
Yuki Minakawa
Rails勉強会資料
Yoshimitsu Ogawa
20191003 classi night-04
Akihiko Kigure
Antのススメ
Tatsumi Naganuma
【Camphor ×サイボウズ】selenium勉強会
Yuki Okada
HTML5 開発環境の紹介
tomo_masakura
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
ytanno
Similar to 201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
(6)
PDF
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
PDF
Introduction to web development 1
hideaki honda
PDF
Mixer2 で作るカスタムテンプレートエンジン #渋谷java
Jun Futagawa
PDF
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Y Watanabe
PDF
Htmlコーディングの効率化 前編
Yasuhito Yabe
PDF
Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
Osamu Monoe
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
Introduction to web development 1
hideaki honda
Mixer2 で作るカスタムテンプレートエンジン #渋谷java
Jun Futagawa
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Y Watanabe
Htmlコーディングの効率化 前編
Yasuhito Yabe
Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
Osamu Monoe
Ad
More from Y Watanabe
(11)
PDF
クラウド時代だからSpring-Retryフレームワーク
Y Watanabe
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
PDF
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
Y Watanabe
PDF
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
Y Watanabe
PDF
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
Y Watanabe
PDF
properties, yaml, and me
Y Watanabe
PDF
テストゼロからイチに進むための戦略と戦術
Y Watanabe
PDF
The cost of learning - advantage of mixer2
Y Watanabe
PDF
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Y Watanabe
PDF
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Y Watanabe
PDF
Mixer2によるdynamic css sprite 201309第三回渋谷java
Y Watanabe
クラウド時代だからSpring-Retryフレームワーク
Y Watanabe
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
Y Watanabe
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
Y Watanabe
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
Y Watanabe
properties, yaml, and me
Y Watanabe
テストゼロからイチに進むための戦略と戦術
Y Watanabe
The cost of learning - advantage of mixer2
Y Watanabe
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Y Watanabe
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Y Watanabe
Mixer2によるdynamic css sprite 201309第三回渋谷java
Y Watanabe
Ad
Recently uploaded
(7)
PDF
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
PDF
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
PDF
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
PDF
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
PDF
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
PDF
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
1.
Webデザイナーと Webエンジニアの チームワークを 加速させる テンプレートエンジン Mixer2 er2 Mix Devlove現場甲子園 2013-11-09 by @nabedge http://mixer2.org/
2.
自己紹介 • わたなべ • SI屋の技術屋さん •
@nabedge • http://nabedge.blogspot.jp 2
3.
Mixer2 http://mixer2.org JavaでWebアプリを作るための テンプレートエンジン 3
4.
ごめんなさい • コッテコテにJavaの話です – PHPerな方、Rubyistな方、ごめんなさい。 • コッテコテにサーバサイドの話です – 「いまどきのビューはクライアントサイドで Backbone.jsでしょ
プギャーm9(^Д^)」 とか... • Webサービスのビューのテンプレートを 100%pureなXHTMLとCSSで書きたい! ってところは共感してもらえるかも? 4
5.
ところで、Javaの世界で テンプレートエンジンと言えば? 5
6.
テンプレートエンジン JSP:一番身近なテンプレートエンジン こんにちは <% if (name
== null) { %> ゲストさん <% } else { %> <%= name %>さん <% } %> 通常のJava言語、EL式、カスタムタグで書く 6
7.
テンプレートエンジン Velocity:老舗 こんにちは #if (name ==
null) { ゲストさん #else ${name}さん #end VTL = Velocity Template Languageで書く 7
8.
要するに? たいていのテンプレートエンジンは、 何らかの テンプレート記述言語(っぽいもの) の文法、記法を覚えなければならな い。 8
9.
デザイナーとエンジニアの共通言語は? 1. Webデザイナは*.jspも書けるべき? 2. Webデザイナは*.vmも書けるべき? 3.
Webデザイナは*.ftlも書けるべき? 4. Webデザイナは*.erbも書けるべき? 5. Webデザイナは*.phpも書けるべき? 6. Webデザイナは*.mdも書けるべき? すべて、エンジニアの都合をデザイナに 押しつけてるだけじゃん! 9
10.
ビューにロジックが埋まってるのもNG これをWebデザイナがメンテする?できる? こんにちは <% if (name
== null) { %> ゲストさん <% } else { %> <%= name %>さん <% } %> 10
11.
Webエンジニアと Webデザイナの 共通言語は htmlとcssだけだと思う 11
12.
Mixer2 Mixer2のテンプレートは純粋なXHTMLとCSS こんにちは<span id=“name”>ゲスト</span>さん 値の埋め込みやロジックは普通のJava Span span
= html.getById(“name”, Span.class); span.unsetContent(); span.getContent.add(“ヤマダ”); // これで <span id=“name”>ヤマダ</span>さん // が出力される 12
13.
最大のメリット htmlモックアップを JSPに書き変えずに そのまま使える 13
14.
デモ 14
15.
これでデザイナとプログラマが仲良く仕事できる! プログラマとデザイナの 取り決め事項 1. 商品情報のdivタグは id=“itemBox”にしよう。 2. 商品名はspanタグで id=“itemName” 3. …..その他の情報も同様にclass属 性やid属性を決めておけばよい。 15
16.
Mixer2の動作原理 1. Mixer2はXHTMLパーサーである。 2. Mixer2はXHTMLジェネレーターである。 3.
要するに、Mixer2はObject/XHTMLマッパーである。 XHTML <html> <head> … </head> <body> … </body> </html> Javaオブジェクト loadHtmlTemplate Html Mixer2 Head Body saveToString 16
17.
Mixer2の特徴(の一つ) HTML5のタグや data-*属性なども もちろんOK! Mixer2では、htmlタグを Javaオブジェクトとして扱う ので、実質なんでもできる。 17
18.
タグのスニペットだけを作ることも可能 1. 特定のタグ(ここではdiv)だけを文字列化 Div div
= TagCreator.div(); div.getContent().add(“Hello World!”); String str = m2Engine.saveToString(div); 2. ほかのテンプレート形式に混ぜて出力可能 <%-- JSP --%> <html> <body> <%=str %> </body> </html> <html> <body> <div>Hello World !</div> </body> </html> 18
19.
JSPでは難しいビューのテストも楽々! 本体コード span.unsetContent(); span.getContent().add(“Hello”); タグ型 オブジェクト 加工前 処理 タグ型 オブジェクト 加工後 テスト assertThat( span.getContent().get(0).toString() ,is(“Hello”)); 19
20.
Mixer2の三つの側面 • JSPやVelocityの代替としてのMixer2 – 例:さっきのデモ •
XHTMLパーサーとしてのMixer2 – 例:さっきのデモ – 例:モール型ECサイトやブログサービスのように 自由にデザインしたhtmlをそのまま使いたい場合 • XHTMLタグスニペット生成器としてのMixer2 – 例:JSPのtaglibに近い使い方 • Taglibを自作するよりは簡単です! 20
21.
ご静聴ありがとうございました よろしくね! mixer2.org 21
Download