Enviar búsqueda
Cargar
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
•
3 recomendaciones
•
3,323 vistas
Kazuya Hiruma
Seguir
ありえるえりあ勉強会で使ったGoogle Closure Toolsの簡単な説明資料。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 31
Descargar ahora
Descargar para leer sin conexión
Recomendados
本当の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
Más contenido relacionado
La actualidad más candente
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
La actualidad más candente
(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
Similar a ライブラリにあらず! 〜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
Similar a ライブラリにあらず! 〜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
Más de 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
Más de 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
Último
2024 04 minnanoito
2024 04 minnanoito
arts yokohama
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
ssuser370dd7
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
Shumpei Kishi
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
arts yokohama
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
arts yokohama
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
Tetsuya Nihonmatsu
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
ssuser539845
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
Matsushita Laboratory
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
Sadao Tokuyama
2024 03 CTEA
2024 03 CTEA
arts yokohama
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
Ayachika Kitazaki
Último
(12)
2024 04 minnanoito
2024 04 minnanoito
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
2024 03 CTEA
2024 03 CTEA
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
1.
ライブラリにあらず! ∼Google
Closure Toolsの事始め∼ 面白法人カヤック HTMLファイ部 比留間和也
2.
自己紹介 • 面白法人カヤック HTMLファイ部所属 比留間 和也 •
最近はJSばっかりで、 あんまりHTML書いてません。
3.
ちょっと書きました すべての人に知っておいてほしい HTML5 & CSS3
の基本原則 すべての人に知っておいてほしい スタイルシートデザインの基本原則
4.
Google Closure Toolsとは
5.
Google Closure Toolsは、 いわゆる一般的なJavaScriptライブラリ
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というファイルを使います
14.
Buildする $ java -jar
SoyToJsSrcCompiler.jar --shouldProvideRequireSoyNamespaces --outputPathFormat simple.js simple.soy
15.
Buildする $ java -jar
SoyToJsSrcCompiler.jar --shouldProvideRequireSoyNamespaces --outputPathFormat simple.js simple.soy
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の集大成ともいえるライブラリ群
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.
ご清聴ありがとうございました
Notas del editor
\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
Descargar ahora