SlideShare a Scribd company logo
       Chrome  Apps  for  mobile  概要
2014/5/26  
第48回HTML5とか勉強会  
Toru  Yoshikawa  (@yoshikawa_̲t)
Who?
html5j/HTML5とか勉強会スタッフ/ビ
ギナー部  (副部⻑⾧長)  
Google  Developer  Experts  (Chrome)  
HTML5  Experts.jp  エキスパートNo.3  
Web先端技術味⾒見見部  (顧問)/⽇日本jQuery  
Mobileユーザー会  (管理理⼈人)/Sublime  
Text  2  Japan  Users  Group  (管理理⼈人)など
など  
Blog:  http://d.hatena.ne.jp/pikotea/
吉川  徹  /  Toru  Yoshikawa  
@yoshikawa_̲t
Agenda
Chrome  Apps  の概要  
Chrome  Apps  の作り⽅方  
どんなことができるのか?  

Chrome  Apps  のAPIをピックアップ  
Chrome  Apps  for  mobile
Chrome  Apps  の概要
Chrome  Apps  とは?
Chrome  Web  Storeで配布、販売できるアプリケー
ションプラットフォーム  
HTML5、CSS3、JavaScriptといったWeb技術でアプ
リを開発することができる  
Chromeブラウザ上(ChromeOS)で動作するため、
HTML5をフルに利利⽤用できる  
ネイティブデバイスにアクセスするための、独⾃自の拡
張APIなどを持つ
Chrome  Apps  の種類
Chrome  Apps  
Packaged  Apps  
ファイル⼀一式をChromeに保存して利利⽤用する⽅方式  
Hosted  Apps  
通常通り公開しているWebアプリをそのままChrome  Web  
Storeで公開しているもの  
Extensions  
アプリではなく、ブラウザの機能⾃自体を拡張する⽬目的で作られるも
の
Packaged  Apps
アプリランチャーから直接起
動可能  
Chromeが⽴立立ち上がるのでは
なく専⽤用のUIを持ったアプリ  
豊富な拡張APIを持つ  
USB,  Bluetooth,  Serial
今回は対象外ですが⼀一応  
Extensions
ブラウザのUIに追加する  
ブラウザアクション  
ページアクション  
オムニボックス  
右クリックメニュー  
閲覧しているページでJavaScriptを実⾏行行する(Content  Scripts)  
例例えば、ページに特定のボタンを追加したり、逆にページの
内容を削除することもできる
Chrome  Apps  の作り⽅方
Chrome  Apps  の作成⽅方法
1.任意のフォルダを作成  
2.マニフェストファイルを作成する  
3.バックグランドで動作するJSファイルを作成する  
4.ビューであるhtmlファイルを作成する  
5.あとは普通のWebアプリと同様に作成(もちろん
拡張APIも利利⽤用できる)
https://developer.chrome.com/apps/first_app
実際に作ってみる
某もの⃝さん作成の宇宙侵略者ゲームを移植
実際に作ってみる
お試しに作ってみる場合は、こちらのハンズオン資料料
を参考に  (  http://bit.ly/chromeapps20131224  )
CSP  (Content  Security  Policy)への準拠
CSPは、W3Cで策定されているセキュリティの追加レイ
ヤー  
本来のCSPでは、HTTPのレスポンスヘッダに"Content-‐‑‒
Security-‐‑‒Policy"で指定する  
例例えば、外部スクリプトの読込みを禁⽌止したり、インライ
ンスクリプト、evalを禁⽌止したりすることができる  
https://dvcs.w3.org/hg/content-‐‑‒security-‐‑‒policy/raw-‐‑‒
file/tip/csp-‐‑‒specification.dev.html
CSPへの準拠
Chrome  Apps  では、CSPに独⾃自に準拠した作りになっている  
外部リソースの読込み禁⽌止  
<script  src="http://example.com/...">  
インラインスクリプトの禁⽌止  
<body  onload="...">  
⽂文字列列を評価して実⾏行行するJavaScriptの禁⽌止  
eval()  
Extensionsでは、上記の制限をある程度度カスタマイズすることができる  
Appsでは、sandboxページやiframeを利利⽤用して回避する必要がある
その他の制限事項
localStorageは、chrome.storageを利利⽤用する  
chrome.storageは⾮非同期API  
Googleの同期機能で他のChromeとデータを同期できる  
setIntervalやsetTimeoutは、chrome.alarmsを利利⽤用する  
バックグラウンドプロセスがシャットダウンされる可能性
があるため、setTimeoutなどは利利⽤用できない  
(バックグラウンドをpersistent:trueにすれば利利⽤用可能)
どんなことができるのか?  
Chrome  Apps  のAPI
Chrome  Apps  のAPI
独⾃自APIを利利⽤用する場合、マニフェストファイルにパーミッ
ションを追加する(不不要のものもある)  
Apps  
http://developer.chrome.com/apps/api_̲index.html  
Extensions  
http://developer.chrome.com/extensions/
api_̲index.html
Chrome  Apps  のAPI
⾯面⽩白そうなもの、便便利利なものをピックアップ  
power  …  パワーマネジメント(モバイル対応)  
serial  …  シリアル通信  
socket  …  ソケット通信  
socket.tcpServer  …  TCPサーバーを⽴立立てる  
storage  …  Chromeのブラウザデータ同期ができる  
system系  …  cpu、display、memory、network、storageへのアクセス  
tts  …  ⾳音声読み上げ  
usb  …USB接続
Chrome  Apps  のAPI
beta、dev版で追加されているAPI  
bluetooth  …Bluetooth通信  
audio  …  オーディオデバイスへのアクセス  
hid  …  ヒューマンインターフェースデバイス
(各種操作機器)へのアクセス
Chrome  Apps  APIの  
サンプル
https://github.com/GoogleChrome/chrome-‐‑‒
app-‐‑‒samples/
Chrome  Apps  for  mobile
Apache  Cordovaを使ったChrome  Appsのモバイルアプリへの
変換  
Cordovaのプラグイン群として提供されている  
現在はデベロッパープレビュー版で、まだ対応APIは限られてい
る  
https://github.com/MobileChromeApps/mobile-‐‑‒chrome-‐‑‒
apps/blob/master/README.md  
⽇日本語資料料>天使やカイザーと呼ばれて  »  Chrome  Apps  for  
mobileの開発⽅方法  (http://bit.ly/1jtaGR4)
対応APIはまだまだこれから
alarms  
fileSystem  
i18n  
identity  
idle  
notifications  
power  
pushMessaging  
socket  
storage  
syncFileSystem
最後に
今年年のGoogle  IOで何か⼤大きな発表があるかも!?
(なくても怒怒らないでね…)  
わからないことは、Chrome  API  Developers  JP  
へ  
https://sites.google.com/site/chromeapijp/  
Chrome  Appsは、Chrome本で!(宣伝)  
Chrome  Apps  の開発からChrome  Web  Store
での公開までを網羅羅  
http://amzn.to/12eKqmt
HTML5  Japan  Cup  
Chrome  Apps賞も宜しくお願いします!
html5j  えんぷら部  Webプラットフォーム部合同  勉強会  
【2014/6/10】120分聞けばドヤ顔で語れる  
Apache  Cordova  スーパー勉強会
http://atnd.org/events/51539
Cordova事例例特集(LT)の登壇者募集!
Thank  you!!
(@yoshikawa_̲t)
Resources
https://developer.chrome.com/  
https://developer.chrome.com/apps/about_̲apps  
https://github.com/MobileChromeApps/mobile-‐‑‒
chrome-‐‑‒apps/  
http://www.slideshare.net/yoshikawa_̲t/chrome-‐‑‒apps

More Related Content

What's hot

What's hot (8)

Meta1のSLAM機能を試してみた
Meta1のSLAM機能を試してみたMeta1のSLAM機能を試してみた
Meta1のSLAM機能を試してみた
 
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)
20160723 unibook lt大会_発表資料(HoloLensのアプリ開発)
 
20171015 XR動向とコミュニティ活動のすすめ(XRgirls 1st meetup)
20171015 XR動向とコミュニティ活動のすすめ(XRgirls 1st meetup)20171015 XR動向とコミュニティ活動のすすめ(XRgirls 1st meetup)
20171015 XR動向とコミュニティ活動のすすめ(XRgirls 1st meetup)
 
20160902 unity勉強会発表資料
20160902 unity勉強会発表資料20160902 unity勉強会発表資料
20160902 unity勉強会発表資料
 
20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料
 
リンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすリンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かす
 
AndroidアプリのUI/UX改善例
AndroidアプリのUI/UX改善例AndroidアプリのUI/UX改善例
AndroidアプリのUI/UX改善例
 
Meta2を動かしてみたことのまとめ
Meta2を動かしてみたことのまとめMeta2を動かしてみたことのまとめ
Meta2を動かしてみたことのまとめ
 

Viewers also liked

第4回Symfony2勉強会のワークショップ シナリオ
第4回Symfony2勉強会のワークショップ シナリオ第4回Symfony2勉強会のワークショップ シナリオ
第4回Symfony2勉強会のワークショップ シナリオ
Yusuke Ueno
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
 
Androidの本当にあった怖い話
Androidの本当にあった怖い話Androidの本当にあった怖い話
Androidの本当にあった怖い話
Yusuke Yamamoto
 
Fragment を使ってみよう
Fragment を使ってみようFragment を使ってみよう
Fragment を使ってみよう
Yuki Anzai
 

Viewers also liked (20)

PHPUnitのMockObjectの紹介
PHPUnitのMockObjectの紹介PHPUnitのMockObjectの紹介
PHPUnitのMockObjectの紹介
 
Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談
 
Google I/O 2012 Tokyo Report: Vietnam Carb and Android Design Sessions
Google I/O 2012 Tokyo Report: Vietnam Carb and Android Design SessionsGoogle I/O 2012 Tokyo Report: Vietnam Carb and Android Design Sessions
Google I/O 2012 Tokyo Report: Vietnam Carb and Android Design Sessions
 
Nexus7を触ってみました
Nexus7を触ってみましたNexus7を触ってみました
Nexus7を触ってみました
 
[Io2012]android41+開発ツール紹介
[Io2012]android41+開発ツール紹介[Io2012]android41+開発ツール紹介
[Io2012]android41+開発ツール紹介
 
第4回Symfony2勉強会のワークショップ シナリオ
第4回Symfony2勉強会のワークショップ シナリオ第4回Symfony2勉強会のワークショップ シナリオ
第4回Symfony2勉強会のワークショップ シナリオ
 
第4回Symfony2勉強会 基礎編ワークショップ.1
第4回Symfony2勉強会 基礎編ワークショップ.1第4回Symfony2勉強会 基礎編ワークショップ.1
第4回Symfony2勉強会 基礎編ワークショップ.1
 
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0
 
HTML5とか勉強会#48 ionic
HTML5とか勉強会#48 ionicHTML5とか勉強会#48 ionic
HTML5とか勉強会#48 ionic
 
Symfony2のフォームフレームワーク
Symfony2のフォームフレームワークSymfony2のフォームフレームワーク
Symfony2のフォームフレームワーク
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
 
Silex 入門
Silex 入門Silex 入門
Silex 入門
 
はじめてのSymfony2
はじめてのSymfony2はじめてのSymfony2
はじめてのSymfony2
 
Symfony2でMongoDBと仲良くする方法
Symfony2でMongoDBと仲良くする方法Symfony2でMongoDBと仲良くする方法
Symfony2でMongoDBと仲良くする方法
 
PhoneGapとハイブリッド開発
PhoneGapとハイブリッド開発PhoneGapとハイブリッド開発
PhoneGapとハイブリッド開発
 
はじめてのChrome extension
はじめてのChrome extensionはじめてのChrome extension
はじめてのChrome extension
 
Androidの本当にあった怖い話
Androidの本当にあった怖い話Androidの本当にあった怖い話
Androidの本当にあった怖い話
 
キャバァーン! サツバツエアアイオー弐〇壱弐
キャバァーン! サツバツエアアイオー弐〇壱弐キャバァーン! サツバツエアアイオー弐〇壱弐
キャバァーン! サツバツエアアイオー弐〇壱弐
 
Fragment を使ってみよう
Fragment を使ってみようFragment を使ってみよう
Fragment を使ってみよう
 
My cordovaprojectstory
My cordovaprojectstoryMy cordovaprojectstory
My cordovaprojectstory
 

Similar to Chrome apps for mobile 概要

初めてのHtml5 20120612
初めてのHtml5 20120612初めてのHtml5 20120612
初めてのHtml5 20120612
yohei iwakura
 
Html5 seminar 1_pac
Html5 seminar 1_pacHtml5 seminar 1_pac
Html5 seminar 1_pac
1PAC. INC.
 
Chrome DevTools for beginners v1.2
Chrome DevTools for beginners v1.2Chrome DevTools for beginners v1.2
Chrome DevTools for beginners v1.2
yoshikawa_t
 

Similar to Chrome apps for mobile 概要 (20)

jQuery MobileとHTML5
jQuery MobileとHTML5jQuery MobileとHTML5
jQuery MobileとHTML5
 
最近のブラウザ状況
最近のブラウザ状況最近のブラウザ状況
最近のブラウザ状況
 
Chrome packaged appsをデバッグ
Chrome packaged appsをデバッグChrome packaged appsをデバッグ
Chrome packaged appsをデバッグ
 
Chrome Devtools for beginners (v1.1)
Chrome Devtools for beginners (v1.1)Chrome Devtools for beginners (v1.1)
Chrome Devtools for beginners (v1.1)
 
Chrome Apps 概要
Chrome Apps 概要Chrome Apps 概要
Chrome Apps 概要
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
 
HTML5が創り出す新たな世界
HTML5が創り出す新たな世界HTML5が創り出す新たな世界
HTML5が創り出す新たな世界
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
 
Thing.jsについて
Thing.jsについてThing.jsについて
Thing.jsについて
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
 
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
 
初めてのHtml5 20120612
初めてのHtml5 20120612初めてのHtml5 20120612
初めてのHtml5 20120612
 
Html5 seminar 1_pac
Html5 seminar 1_pacHtml5 seminar 1_pac
Html5 seminar 1_pac
 
Chrome DevTools for beginners v1.2
Chrome DevTools for beginners v1.2Chrome DevTools for beginners v1.2
Chrome DevTools for beginners v1.2
 
Androidとは何か
Androidとは何かAndroidとは何か
Androidとは何か
 
Chatter Chrome Extension
Chatter Chrome ExtensionChatter Chrome Extension
Chatter Chrome Extension
 
Html5概要 & デモ
Html5概要 & デモHtml5概要 & デモ
Html5概要 & デモ
 
html5とcss3実例紹介とデモ
html5とcss3実例紹介とデモhtml5とcss3実例紹介とデモ
html5とcss3実例紹介とデモ
 
Chrome Apps のデバイスAPI
Chrome Apps のデバイスAPIChrome Apps のデバイスAPI
Chrome Apps のデバイスAPI
 

More from yoshikawa_t

More from yoshikawa_t (14)

Ionicで作るTechfeed
Ionicで作るTechfeedIonicで作るTechfeed
Ionicで作るTechfeed
 
Chrome DevTools Awesome 10 Features +1
Chrome DevTools Awesome 10 Features +1Chrome DevTools Awesome 10 Features +1
Chrome DevTools Awesome 10 Features +1
 
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like databaseオフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
 
jQuery Mobile is not dead!
jQuery Mobile is not dead!jQuery Mobile is not dead!
jQuery Mobile is not dead!
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線
 
いまさら聞けないCSSレイアウト入門
いまさら聞けないCSSレイアウト入門いまさら聞けないCSSレイアウト入門
いまさら聞けないCSSレイアウト入門
 
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!
 
Let's begin WebRTC
Let's begin WebRTCLet's begin WebRTC
Let's begin WebRTC
 
Chrome DevTools for beginners
Chrome DevTools for beginnersChrome DevTools for beginners
Chrome DevTools for beginners
 
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
 
Devtools.next
Devtools.nextDevtools.next
Devtools.next
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
jQuery Mobileカスタマイズ自由自在 v1.2
jQuery Mobileカスタマイズ自由自在 v1.2jQuery Mobileカスタマイズ自由自在 v1.2
jQuery Mobileカスタマイズ自由自在 v1.2
 
jQuery Mobileバレしないモバイルサイトの作り方
jQuery Mobileバレしないモバイルサイトの作り方jQuery Mobileバレしないモバイルサイトの作り方
jQuery Mobileバレしないモバイルサイトの作り方
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (11)

【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 

Chrome apps for mobile 概要