Submit Search
JavaScript時代のJava #kansumiB7 #kansumi
41 likes
14,984 views
Yusuke Yamamoto
Javaださくない!
Technology
Read more
1 of 66
Download now
Downloaded 40 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
More Related Content
PDF
tansuの紹介
Yuya Matsushima
PDF
モダンすぎる静的サイトの作り方
Yuya Matsushima
PDF
Ec2でwebサイトを運用するメリット
Katsuhiro Masaki
KEY
Html5制作の現在
Masakazu Muraoka
PPT
HTML5でサイネージは作れる!!
Kazuya Hiruma
PDF
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
KatsuyaENDOH
PDF
Nginxを使ったオレオレCDNの構築
ichikaway
PDF
まだ DOM 操作で消耗してるの?
Yuki Ishikawa
tansuの紹介
Yuya Matsushima
モダンすぎる静的サイトの作り方
Yuya Matsushima
Ec2でwebサイトを運用するメリット
Katsuhiro Masaki
Html5制作の現在
Masakazu Muraoka
HTML5でサイネージは作れる!!
Kazuya Hiruma
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
KatsuyaENDOH
Nginxを使ったオレオレCDNの構築
ichikaway
まだ DOM 操作で消耗してるの?
Yuki Ishikawa
What's hot
(8)
PDF
CSS Nite LP26 CodeKitで始める次世代Web制作
Maboroshi.inc
PPTX
委託開発業務について
baeksunil
PDF
先取り!PHP 7 と WordPress
Masashi Shinbara
PPTX
Cocoa Binding 童貞だけど解説してみる
Takkiiii
KEY
サーバサイドいらずのWebアプリ
Kazuya Hiruma
PPTX
Xamarinは辛いよ
Takkiiii
PPTX
Lt 001
榎本 優樹
PDF
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
CSS Nite LP26 CodeKitで始める次世代Web制作
Maboroshi.inc
委託開発業務について
baeksunil
先取り!PHP 7 と WordPress
Masashi Shinbara
Cocoa Binding 童貞だけど解説してみる
Takkiiii
サーバサイドいらずのWebアプリ
Kazuya Hiruma
Xamarinは辛いよ
Takkiiii
Lt 001
榎本 優樹
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
Ad
Viewers also liked
(8)
PDF
KotlinAndroidLibを使ってみた
豊明 尾古
PDF
0323社内LT大会
Akira Ohta
PDF
そのyaml放っておくと大変なことになりますよ
Akira Ohta
PDF
プロトコル指向 - 夢と現実の狭間 #cswift
Tomohiro Kumagai
PDF
NS Prefix 外伝 … Copy-On-Write #関モバ
Tomohiro Kumagai
PDF
Swift 2.0 大域関数の行方から #swift2symposium
Tomohiro Kumagai
PDF
AnyObject – 自分が見落としていた、基本の話
Tomohiro Kumagai
PDF
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
Kazuaki Hidaka
KotlinAndroidLibを使ってみた
豊明 尾古
0323社内LT大会
Akira Ohta
そのyaml放っておくと大変なことになりますよ
Akira Ohta
プロトコル指向 - 夢と現実の狭間 #cswift
Tomohiro Kumagai
NS Prefix 外伝 … Copy-On-Write #関モバ
Tomohiro Kumagai
Swift 2.0 大域関数の行方から #swift2symposium
Tomohiro Kumagai
AnyObject – 自分が見落としていた、基本の話
Tomohiro Kumagai
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
Kazuaki Hidaka
Ad
Similar to JavaScript時代のJava #kansumiB7 #kansumi
(20)
PDF
Scala: Mobile Backend on AWS
cmaraiyusuke
PDF
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
Yukihiko SAWANOBORI
PDF
Redux, Relay, HorizonあるいはElm
chuck h
PDF
Architecting on Alibaba Cloud - 超基礎編 -
真吾 吉田
KEY
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
PDF
Growing up serverless
Amazon Web Services Japan
PDF
CloudFront構築事例 ハートビーツ 20121025
Toshiaki Baba
PDF
Hyper → Highspeed → Development
aktsk
PDF
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Shotaro Suzuki
PDF
HTMLを、ちゃんと書く ―アウトライン編
Komei Otake
PDF
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
Insight Technology, Inc.
PDF
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
PDF
Reco choku tech night #09 -reinvent2018報告会-
recotech
PDF
JavaScript And Keywords
uupaa
PPTX
ウェブチップス勉強会 Action cable
Yu Ito
PPTX
技術者として抑えておきたい Power BI アーキテクチャ
Yugo Shimizu
PDF
クラウドを積極活用したサービスの開発のために
Yuichiro Saito
PPTX
SECCON@福岡ハッカソン直前勉強会「今どきのWeb技術でスコアサーバーを改良してみよう」
Takatoshi Murakami
PDF
One ASP.NET の今とこれから
Akira Inoue
PDF
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
Scala: Mobile Backend on AWS
cmaraiyusuke
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
Yukihiko SAWANOBORI
Redux, Relay, HorizonあるいはElm
chuck h
Architecting on Alibaba Cloud - 超基礎編 -
真吾 吉田
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
Growing up serverless
Amazon Web Services Japan
CloudFront構築事例 ハートビーツ 20121025
Toshiaki Baba
Hyper → Highspeed → Development
aktsk
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Shotaro Suzuki
HTMLを、ちゃんと書く ―アウトライン編
Komei Otake
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
Insight Technology, Inc.
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
Reco choku tech night #09 -reinvent2018報告会-
recotech
JavaScript And Keywords
uupaa
ウェブチップス勉強会 Action cable
Yu Ito
技術者として抑えておきたい Power BI アーキテクチャ
Yugo Shimizu
クラウドを積極活用したサービスの開発のために
Yuichiro Saito
SECCON@福岡ハッカソン直前勉強会「今どきのWeb技術でスコアサーバーを改良してみよう」
Takatoshi Murakami
One ASP.NET の今とこれから
Akira Inoue
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
More from Yusuke Yamamoto
(20)
PDF
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
Yusuke Yamamoto
PDF
これからはじめるGit、GitHub #stapy
Yusuke Yamamoto
PDF
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
Yusuke Yamamoto
PDF
JetBrains IDEハンズオン
Yusuke Yamamoto
PDF
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Yusuke Yamamoto
PDF
Java Küche 2016 #JavaKueche
Yusuke Yamamoto
PDF
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
Yusuke Yamamoto
PDF
WebStormから始まる快適Web開発ワークフロー #html5jk
Yusuke Yamamoto
PDF
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
Yusuke Yamamoto
PDF
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Yusuke Yamamoto
PDF
カジュアルにスレッドダンプ - @yusuke #javacasual
Yusuke Yamamoto
PDF
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
Yusuke Yamamoto
PDF
Twitter4jハンズオン 5/1 #twtr_hack
Yusuke Yamamoto
PDF
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
Yusuke Yamamoto
PDF
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Yusuke Yamamoto
PDF
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Yusuke Yamamoto
PDF
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Yusuke Yamamoto
PDF
貧乏人のHeroku活用術 #herokujp
Yusuke Yamamoto
PDF
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
Yusuke Yamamoto
PDF
テンプレートエンジンの話 #jjug
Yusuke Yamamoto
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
Yusuke Yamamoto
これからはじめるGit、GitHub #stapy
Yusuke Yamamoto
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
Yusuke Yamamoto
JetBrains IDEハンズオン
Yusuke Yamamoto
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Yusuke Yamamoto
Java Küche 2016 #JavaKueche
Yusuke Yamamoto
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
Yusuke Yamamoto
WebStormから始まる快適Web開発ワークフロー #html5jk
Yusuke Yamamoto
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
Yusuke Yamamoto
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Yusuke Yamamoto
カジュアルにスレッドダンプ - @yusuke #javacasual
Yusuke Yamamoto
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
Yusuke Yamamoto
Twitter4jハンズオン 5/1 #twtr_hack
Yusuke Yamamoto
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
Yusuke Yamamoto
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Yusuke Yamamoto
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Yusuke Yamamoto
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Yusuke Yamamoto
貧乏人のHeroku活用術 #herokujp
Yusuke Yamamoto
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
Yusuke Yamamoto
テンプレートエンジンの話 #jjug
Yusuke Yamamoto
JavaScript時代のJava #kansumiB7 #kansumi
1.
Summit Developers Developers Summit 2013
Kansai Action ! JavaScript時代のJava 山本 裕介 株式会社サムライズム #kansumiB7 B7 ∼Java x Webを取り巻く熱いムード∼ Tuesday, September 24, 13
2.
@yusuke Tuesday, September 24,
13
3.
#kansumiB7 Tuesday, September 24,
13
4.
JavaScript時代のJava • フロントエンドアーキテクチャ変遷 • サーバサイドアーキテクチャ変遷 •
なんでJava? Tuesday, September 24, 13
5.
フロントエンドアーキテクチャ変遷 Tuesday, September 24,
13
6.
古典的Web Tuesday, September 24,
13
7.
Tuesday, September 24,
13
8.
古典的Web リクエスト(index.html) レスポンス リクエスト(about.html) レスポンス Tuesday, September 24,
13
9.
古典的Web • 利点 • シンプルな仕組み Tuesday,
September 24, 13
10.
古典的Web • 利点 • シンプルな仕組み •
難点 • コンテンツを全部毎回取得 (更新チェックのみの場合も) Tuesday, September 24, 13
11.
21世紀的Web Tuesday, September 24,
13
12.
21世紀的Web • ダイナミックHTML • JavaScriptで動的にコンテントを書き換え •
フォームのリアルタイムバリデーションなど Tuesday, September 24, 13
13.
AJAX Tuesday, September 24,
13
14.
AJAX Tuesday, September 24,
13
15.
AJAX リクエスト レスポンス HTML リクエスト レスポンス XML
/ JSON Tuesday, September 24, 13
16.
AJAX • 利点 • 動的なWebサイト •
更新箇所のみサーバより取得: 高速 Tuesday, September 24, 13
17.
AJAX • 利点 • 動的なWebサイト •
更新箇所のみサーバより取得: 高速 • 難点 • URLが変わらない: ブックマーク不可 • 戻るボタン不可 Tuesday, September 24, 13
18.
HashBang • 利点 • ブックマーク可 Tuesday,
September 24, 13
19.
HashBang リクエスト /#!yusuke レスポンス HTML リクエスト
#!yusuke レスポンス XML / JSON Tuesday, September 24, 13
20.
HashBang • 利点 • ブックマーク可 •
難点 • 初期ロードが遅い • (アンカー部分はサーバに伝わらない) • 美しくないURL Tuesday, September 24, 13
21.
モダンなアーキテクチャ Tuesday, September 24,
13
22.
pushState Tuesday, September 24,
13
23.
Tuesday, September 24,
13
24.
何が起きているか Tuesday, September 24,
13
25.
Tuesday, September 24,
13
26.
GitHubのアーキテクチャ • onclickをフック • onclickイベントでpushState •
URL書き換え • 画面更新 Tuesday, September 24, 13
27.
Tuesday, September 24,
13
28.
HTML5のpushState • history.pushState(状態,タイトル,URL) • 状態を保存、URL書き換えも可能 •
popState • windowオブジェクトのイベント • 戻るボタンを押した際に発生、状態復帰 Tuesday, September 24, 13
29.
旧来Web AJAX HashBang
pushState 初期 ロード パフォーマンス ○ ○ △ ○ 更新 パフォーマンス △ ○ ○ ○ ブックマーク ○ × ○ ○ 戻る ○ × × ○ Tuesday, September 24, 13
30.
pushState • 利点 • ブックマーク可 •
戻る/進む可 • 難点 • ない Tuesday, September 24, 13
31.
push/popStateが使えるか if (window.history.pushState){ // pushState対応ブラウザ }
else { // pushState非対応ブラウザ } IE 10+ / Firefox 21+ / Chrome 27+ Safari 5.1+ / Opera 15+ / IOS Safari 5.0+ Android Browser 2.2, 2.3, 4.2+ Tuesday, September 24, 13
32.
サーバサイドアーキテクチャ変遷 Tuesday, September 24,
13
33.
サーバサイドアーキテクチャ変遷 • 全て静的 • cgi
:プロセス起動、動的コンテンツが可能に • fast-cgi : プロセス常駐 • JServ / J2EE / JavaEE : APサーバ • (mod_) Ruby / Python / PHP : プロセッサ内蔵 Tuesday, September 24, 13
34.
モダンアーキテクチャ Webサーバ APサーバ DBサーバ Tuesday,
September 24, 13
35.
モダンアーキテクチャ Webサーバ APサーバ DBサーバ Tuesday,
September 24, 13
36.
モダンアーキテクチャ Webサーバ APサーバ DBサーバ Tuesday,
September 24, 13
37.
モダンアーキテクチャ Webサーバ APサーバ DBサーバ Tuesday,
September 24, 13
38.
モダンアーキテクチャ Webサーバ APサーバ DBサーバ Tuesday,
September 24, 13
39.
オシャレなWebアーキテクチャ • 一部動的HTML、AJAX • RDBMS •
動的言語 ボトルネックはDBにある 言語はパフォーマンスよりも 気持ちよさ!! Tuesday, September 24, 13
40.
オシャレなWebアーキテクチャ • 一部動的HTML、AJAX • NoSQL、検索エンジン •
動的言語 さらに Tuesday, September 24, 13
41.
オシャレなWebアーキテクチャ • 一部動的HTML、AJAX • NoSQL、検索エンジン •
動的言語 さらに ボトルネックになるのでは? Tuesday, September 24, 13
42.
オシャレなWebアーキテクチャ • 一部動的HTML、AJAX • NoSQL、検索エンジン •
静的言語 さらにさらに JITコンパイル、ネイティブ並 Tuesday, September 24, 13
43.
オシャレなWebアーキテクチャ • AJAX /
pushState • NoSQL、検索エンジン • 静的言語 さらにさらにさらに Tuesday, September 24, 13
44.
pushStateを使う際の課題 • レンダリング担当 • クライアント Tuesday,
September 24, 13
45.
pushStateを使う際の課題 • レンダリング担当 • クライアント •
サーバ Tuesday, September 24, 13
46.
pushStateを使う際の課題 • レンダリング担当 • クライアント •
サーバ テンプレートエンジンが肝 Tuesday, September 24, 13
47.
Javaのテンプレートエンジン • Velocity • FreeMarker •
JSP • JSF • Scala Templates Tuesday, September 24, 13
48.
Javaのテンプレートエンジン • Velocity • FreeMarker •
JSP • JSF • Scala Templates デザイナフレンドリ? Tuesday, September 24, 13
49.
ベストなテンプレートエンジン • Webデザイナフレンドリ • 用意な文法 •
サーバレスでレンダリング結果確認可能 Tuesday, September 24, 13
50.
テンプレートエンジン • Web画面以外にも必要 • メール文面 •
帳票出力 Tuesday, September 24, 13
51.
HTML5時代の テンプレートエンジンの要件 • サーバ・クライアント両方でレンダリング • テンプレートを使い回せる Tuesday,
September 24, 13
52.
HTML5時代の テンプレートエンジンの要件 • サーバ・クライアント両方でレンダリング • テンプレートを使い回せる JavaScriptベース Tuesday,
September 24, 13
53.
mustacheという選択 http://mustache.github.io/ Tuesday, September 24,
13
54.
mustacheの良いところ • 多目的: Web、メール等々 •
場所を問わない • サーバサイド: Java / Ruby / Node.. • クライアント: JavaScript Tuesday, September 24, 13
55.
mustacheの良いところ • エディタ、IDEサポート • Vim •
Emacs • Sublime Text • IntelliJ IDEA Tuesday, September 24, 13
56.
mustache Javaコード例 MustacheFactory mf
= new DefaultMustacheFactory(); Mustache mustache = mf.compile("template.mustache"); mustache.execute(writer, context) .flush(); Tuesday, September 24, 13
57.
mustache JavaScriptコード例 <script type="text/javascript"
src="http:// cdnjs.cloudflare.com/ajax/libs/mustache.js/ 0.7.2/mustache.min.js"></script> var html = Mustache.to_html(template,json); $('#result').html(html); Tuesday, September 24, 13
58.
Mustacheプラグイン • Play Framework
1.x • Play Framework 2.x • Grails Mustache Plugin https://github.com/julienba/play2-mustache http://www.playframework.com/modules/mustache http://grails.org/plugin/mustache Tuesday, September 24, 13
59.
その他のJavaScriptテンプレートエンジン • Handlebars.js (Mustache
+ ロジック) Tuesday, September 24, 13
60.
その他のJavaScriptテンプレートエンジン • Hogan.js (Mustacheコンパイラ) http://twitter.github.io/hogan.js/ Tuesday,
September 24, 13
61.
その他のJavaScriptテンプレートエンジン • AngularJS(フルスタック?JSフレームワーク) http://angularjs.org Tuesday, September
24, 13
62.
JavaでJavaScriptを動かす • Javaに付属のJavaScriptエンジン • Rhino:
Java 6∼7 • Nashorn: Java 8∼ Tuesday, September 24, 13
63.
Java(JVM)+AngularJSの例 https://github.com/hhariri/wasabi Tuesday, September 24,
13
64.
まとめ Tuesday, September 24,
13
65.
pushStateかっこいい Tuesday, September 24,
13
66.
Javaださくない Tuesday, September 24,
13
Download