Suche senden
Hochladen
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
•
Als KEY, PDF herunterladen
•
3 gefällt mir
•
3,325 views
Kazuya Hiruma
Folgen
ありえるえりあ勉強会で使ったGoogle Closure Toolsの簡単な説明資料。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 31
Jetzt herunterladen
Empfohlen
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
Teppei Sato
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Teppei Sato
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
Flowtype Introduction
Flowtype Introduction
Teppei Sato
Containerで変わるDevOps
Containerで変わるDevOps
shokiri
LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
Shingo Inoue
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
コンパイラ指向ReVIEW
コンパイラ指向ReVIEW
Masahiro Wakame
Empfohlen
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
Teppei Sato
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Teppei Sato
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
Flowtype Introduction
Flowtype Introduction
Teppei Sato
Containerで変わるDevOps
Containerで変わるDevOps
shokiri
LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
Shingo Inoue
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
コンパイラ指向ReVIEW
コンパイラ指向ReVIEW
Masahiro Wakame
CategoLJについて
CategoLJについて
Toshiaki Maki
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
Reactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみた
Tsuyoshi Maeda
Babelで先取り次世代javascript
Babelで先取り次世代javascript
Tsuyoshi Maeda
Isomorphic web development with scala and scala.js
Isomorphic web development with scala and scala.js
TanUkkii
Grunt入門
Grunt入門
Tsuyoshi Maeda
200k/sec
200k/sec
Sugawara Genki
chat bot framework for Java8
chat bot framework for Java8
masahitojp
Web socket and gRPC
Web socket and gRPC
TIS Inc
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Masayuki Nii
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作
Sugawara Genki
Antのススメ
Antのススメ
Tatsumi Naganuma
20140930 anything as_code
20140930 anything as_code
Sugawara Genki
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
Kazuki Tsutsumi
Lightweight C#
Lightweight C#
将 高野
130207 kyotorb
130207 kyotorb
Yuki Shibazaki
入門ClojureScript
入門ClojureScript
sohta
About Reauire.js
About Reauire.js
Kyohei Morimoto
BaseScriptについて
BaseScriptについて
Kiyotaka Oku
PowerShell de Azure
PowerShell de Azure
Atsushi Kojima
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
Tsuyoshi Yamamoto
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
Weitere ähnliche Inhalte
Was ist angesagt?
CategoLJについて
CategoLJについて
Toshiaki Maki
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
Reactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみた
Tsuyoshi Maeda
Babelで先取り次世代javascript
Babelで先取り次世代javascript
Tsuyoshi Maeda
Isomorphic web development with scala and scala.js
Isomorphic web development with scala and scala.js
TanUkkii
Grunt入門
Grunt入門
Tsuyoshi Maeda
200k/sec
200k/sec
Sugawara Genki
chat bot framework for Java8
chat bot framework for Java8
masahitojp
Web socket and gRPC
Web socket and gRPC
TIS Inc
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Masayuki Nii
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作
Sugawara Genki
Antのススメ
Antのススメ
Tatsumi Naganuma
20140930 anything as_code
20140930 anything as_code
Sugawara Genki
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
Kazuki Tsutsumi
Lightweight C#
Lightweight C#
将 高野
130207 kyotorb
130207 kyotorb
Yuki Shibazaki
入門ClojureScript
入門ClojureScript
sohta
About Reauire.js
About Reauire.js
Kyohei Morimoto
BaseScriptについて
BaseScriptについて
Kiyotaka Oku
PowerShell de Azure
PowerShell de Azure
Atsushi Kojima
Was ist angesagt?
(20)
CategoLJについて
CategoLJについて
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
Reactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみた
Babelで先取り次世代javascript
Babelで先取り次世代javascript
Isomorphic web development with scala and scala.js
Isomorphic web development with scala and scala.js
Grunt入門
Grunt入門
200k/sec
200k/sec
chat bot framework for Java8
chat bot framework for Java8
Web socket and gRPC
Web socket and gRPC
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作
Antのススメ
Antのススメ
20140930 anything as_code
20140930 anything as_code
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
Lightweight C#
Lightweight C#
130207 kyotorb
130207 kyotorb
入門ClojureScript
入門ClojureScript
About Reauire.js
About Reauire.js
BaseScriptについて
BaseScriptについて
PowerShell de Azure
PowerShell de Azure
Ähnlich wie ライブラリにあらず! 〜Google Closure Toolsの事始め〜
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
Tsuyoshi Yamamoto
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
Haikara
Haikara
jewel12
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
Nobuhiro Sue
実践Go ツールの作成から配布まで
実践Go ツールの作成から配布まで
Yusuke Miyake
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
Miho Nakano
Pycon2014 django performance
Pycon2014 django performance
hirokiky
sbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころ
Kazuhiro Hara
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
tamtam180
アプリコンテスト
アプリコンテスト
Tomonori Yamada
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
Satomi Tsujita
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
Ransui Iso
Jqm20120210
Jqm20120210
cmtomoda
G * magazine 0
G * magazine 0
Tsuyoshi Yamamoto
ocamloptの全体像
ocamloptの全体像
Kiwamu Okabe
G * magazine 1
G * magazine 1
Tsuyoshi Yamamoto
Ähnlich wie ライブラリにあらず! 〜Google Closure Toolsの事始め〜
(20)
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Haikara
Haikara
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
実践Go ツールの作成から配布まで
実践Go ツールの作成から配布まで
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
Pycon2014 django performance
Pycon2014 django performance
sbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころ
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
アプリコンテスト
アプリコンテスト
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
Jqm20120210
Jqm20120210
G * magazine 0
G * magazine 0
ocamloptの全体像
ocamloptの全体像
G * magazine 1
G * magazine 1
Mehr von Kazuya Hiruma
MESONプロジェクトから学ぶこれからのAR開発に必要なこと
MESONプロジェクトから学ぶこれからのAR開発に必要なこと
Kazuya Hiruma
PORTAL with Nreal in CES 2020 開発の学び @XR Hub
PORTAL with Nreal in CES 2020 開発の学び @XR Hub
Kazuya Hiruma
ARグラスで 魅力的な絵作り
ARグラスで 魅力的な絵作り
Kazuya Hiruma
AWE Nite ARKit3 Hackathon
AWE Nite ARKit3 Hackathon
Kazuya Hiruma
レイマーチ入門勉強会資料
レイマーチ入門勉強会資料
Kazuya Hiruma
MESONで手がけたARアプリ AR Developer Meetup #2
MESONで手がけたARアプリ AR Developer Meetup #2
Kazuya Hiruma
みんなレイ飛ばしてる?
みんなレイ飛ばしてる?
Kazuya Hiruma
VRゲーム制作楽しいよ! @UnityおとなのLT大会
VRゲーム制作楽しいよ! @UnityおとなのLT大会
Kazuya Hiruma
ElminaAR - Unity x ARKit 入門Meetup
ElminaAR - Unity x ARKit 入門Meetup
Kazuya Hiruma
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
Kazuya Hiruma
UnityでARKitハンズオン
UnityでARKitハンズオン
Kazuya Hiruma
すぐそこにある未来〜AR〜
すぐそこにある未来〜AR〜
Kazuya Hiruma
VRで酔わないコンテンツ作り
VRで酔わないコンテンツ作り
Kazuya Hiruma
WebVRコンテンツ制作入門
WebVRコンテンツ制作入門
Kazuya Hiruma
WebVRってこんなことできるよ!
WebVRってこんなことできるよ!
Kazuya Hiruma
そしてWebVR
そしてWebVR
Kazuya Hiruma
Unity入門ハンズオン
Unity入門ハンズオン
Kazuya Hiruma
WebVR 酔いづらいコンテンツの作り方
WebVR 酔いづらいコンテンツの作り方
Kazuya Hiruma
WebVRことはじめ
WebVRことはじめ
Kazuya Hiruma
集まっTail #5 LT
集まっTail #5 LT
Kazuya Hiruma
Mehr von Kazuya Hiruma
(20)
MESONプロジェクトから学ぶこれからのAR開発に必要なこと
MESONプロジェクトから学ぶこれからのAR開発に必要なこと
PORTAL with Nreal in CES 2020 開発の学び @XR Hub
PORTAL with Nreal in CES 2020 開発の学び @XR Hub
ARグラスで 魅力的な絵作り
ARグラスで 魅力的な絵作り
AWE Nite ARKit3 Hackathon
AWE Nite ARKit3 Hackathon
レイマーチ入門勉強会資料
レイマーチ入門勉強会資料
MESONで手がけたARアプリ AR Developer Meetup #2
MESONで手がけたARアプリ AR Developer Meetup #2
みんなレイ飛ばしてる?
みんなレイ飛ばしてる?
VRゲーム制作楽しいよ! @UnityおとなのLT大会
VRゲーム制作楽しいよ! @UnityおとなのLT大会
ElminaAR - Unity x ARKit 入門Meetup
ElminaAR - Unity x ARKit 入門Meetup
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
UnityでARKitハンズオン
UnityでARKitハンズオン
すぐそこにある未来〜AR〜
すぐそこにある未来〜AR〜
VRで酔わないコンテンツ作り
VRで酔わないコンテンツ作り
WebVRコンテンツ制作入門
WebVRコンテンツ制作入門
WebVRってこんなことできるよ!
WebVRってこんなことできるよ!
そしてWebVR
そしてWebVR
Unity入門ハンズオン
Unity入門ハンズオン
WebVR 酔いづらいコンテンツの作り方
WebVR 酔いづらいコンテンツの作り方
WebVRことはじめ
WebVRことはじめ
集まっTail #5 LT
集まっTail #5 LT
Kürzlich hochgeladen
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Kürzlich hochgeladen
(8)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
1.
ライブラリにあらず! ∼Google
Closure Toolsの事始め∼ 面白法人カヤック HTMLファイ部 比留間和也
2.
自己紹介 • 面白法人カヤック HTMLファイ部所属 比留間 和也 •
最近はJSばっかりで、 あんまりHTML書いてません。
3.
ちょっと書きました すべての人に知っておいてほしい HTML5 & CSS3
の基本原則 すべての人に知っておいてほしい スタイルシートデザインの基本原則
4.
Google Closure Toolsとは
5.
Google Closure Toolsは、 いわゆる一般的なJavaScriptライブラリ
6.
7.
ではありません
8.
GCTは3種の神器
9.
• Google Closure
Library • Google Closure Compiler • Google Closure Template
10.
これら3つが組み合わさって初めて 「Google Closure Tools」の真価が発揮される
11.
Google Closure Template
12.
SoyToJsSrcCompiler.jarというファイルを使います
13.
14.
Buildする $ java -jar
SoyToJsSrcCompiler.jar --shouldProvideRequireSoyNamespaces --outputPathFormat simple.js simple.soy
15.
Buildする $ java -jar
SoyToJsSrcCompiler.jar --shouldProvideRequireSoyNamespaces --outputPathFormat simple.js simple.soy
16.
17.
Google Closure Compiler
18.
弊社社内でも最後の仕上げとして、圧縮する ために使われたりしています
19.
Compileする SRC = js/hoge.js
js/fuga.js COMBINE = js/hoge.prod.js COMPRESS = js/hoge.prod.min.js $(COMBINE) : $(SRC) cat $^ > $@ java -jar /Applications/gcc/compiler.jar --js $(COMBINE) --js_output_file $(COMPRESS) .PHONY: clean clean : rm -f $(COMBINE) $(COMPRESS) 弊社で使われているshell script
20.
Compileする SRC = js/hoge.js
js/fuga.js COMBINE = js/hoge.prod.js COMPRESS = js/hoge.prod.min.js $(COMBINE) : $(SRC) cat $^ > $@ java -jar /Applications/gcc/compiler.jar --js $(COMBINE) --js_output_file $(COMPRESS) .PHONY: clean clean : rm -f $(COMBINE) $(COMPRESS) 弊社で使われているshell script
21.
Google Closure Library
22.
Google Closure Toolsの中でもコア機能 Googleの集大成ともいえるライブラリ群
23.
24.
25.
Build $ python
./closure-library/closure/bin/build/ closurebuilder.py --root=./js --root=./closure-library --namespace="hoge" --output_mode=compiled --output_file=hoge.min.js --compiler_jar=/Applications/gcc/compiler.jar -f "--define=goog.DEBUG=false" 圧縮のレベルを指定するオプション #-f "--compilation_level=ADVANCED_OPTIMIZATIONS"
26.
Build $ python
./closure-library/closure/bin/build/ closurebuilder.py --root=./js --root=./closure-library --namespace="hoge" --output_mode=compiled --output_file=hoge.min.js --compiler_jar=/Applications/gcc/compiler.jar -f "--define=goog.DEBUG=false" 圧縮のレベルを指定するオプション #-f "--compilation_level=ADVANCED_OPTIMIZATIONS"
27.
• JavaScriptで手軽にクラスベース風の継承機能 を提供 • require的な各ファイルの依存関係を解決して くれるPythonベースのツール •
依存関係の解決から圧縮までをコマンドライ ン一発でやってくれるPythonベースのツール
28.
Google Closure Toolsは、 こうしたツール群を駆使してつくり上げる 巨大なフレームワーク
29.
ライブコーディング
30.
Appendix • Google Closure
Tools • Google Closure Library • Google Closure Templates • Google Closure Compiler • Google Closure compilerをオンラインで • Closure Libraryによるアプリ開発のはじめ方
31.
ご清聴ありがとうございました
Hinweis der Redaktion
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Jetzt herunterladen