61

Click here to load reader

みんなの知らないChrome appsの世界

Embed Size (px)

Citation preview

Page 1: みんなの知らないChrome appsの世界

みんなの知らない Chrome Apps の世界The world of Chrome Apps everyone don't knowGoogle Developers Meetup #2

Page 2: みんなの知らないChrome appsの世界
Page 3: みんなの知らないChrome appsの世界
Page 4: みんなの知らないChrome appsの世界

History of Chrome Apps

Page 5: みんなの知らないChrome appsの世界

May 10, 2011

Chrome OS released

1st Chromebook released

Page 6: みんなの知らないChrome appsの世界

July 16, 2012

Chrome Packaged Apps were enabled by default.

Page 7: みんなの知らないChrome appsの世界

September 5, 2013

The name was changed to Chrome Apps

Page 8: みんなの知らないChrome appsの世界

June 26, 2014

Native Client Library

Page 9: みんなの知らないChrome appsの世界

June 26, 2014

Chrome Dev Editor

Page 10: みんなの知らないChrome appsの世界

April 7, 2015

ARC Welder

Page 11: みんなの知らないChrome appsの世界

Are you using Chrome Apps?

Page 12: みんなの知らないChrome appsの世界
Page 13: みんなの知らないChrome appsの世界

Are you developing Chrome Apps?

Page 14: みんなの知らないChrome appsの世界
Page 15: みんなの知らないChrome appsの世界

manifest.json

{ "manifest_version": 2, "name": "Hello, world", "version": "1.0", "app": { "background": { "scripts": ["background.js"] } }, "icons": { "16": "16.png", "128": "128.png" }}

Page 16: みんなの知らないChrome appsの世界

background.js

chrome.app.runtime.onLaunched.addListener( function() { chrome.app.window.create( "window.html", { "outerBounds": { width: 400, height: 500 } } ); });

Page 17: みんなの知らないChrome appsの世界

window.html

<!DOCTYPE html>

<html> <head> </head> <body> <div>Hello, world!</div> </body></html>

Page 18: みんなの知らないChrome appsの世界

Yo!

(After installing node.js ...)$ sudo npm install -g yo$ sudo npm install -g generator-chromeapp$ make simple_app$ cd simple_app$ yo chromeapp(Type ENTER key for all questions ...)

Page 19: みんなの知らないChrome appsの世界

Yo!

.├── Gruntfile.js├── app│ ├── _locales│ │ └── en│ │ └── messages.json│ ├── bower_components│ ├── images│ │ ├── icon-128.png│ │ └── icon-16.png│ ├── index.html│ ├── manifest.json│ ├── scripts│ │ ├── chromereload.js│ │ ├── index.js│ │ └── main.js│ └── styles│ └── main.css├── bower.json└── package.json

Page 20: みんなの知らないChrome appsの世界

Installing

Page 21: みんなの知らないChrome appsの世界

Installing

Page 22: みんなの知らないChrome appsの世界

Installing

Page 23: みんなの知らないChrome appsの世界

Installing

Page 24: みんなの知らないChrome appsの世界
Page 25: みんなの知らないChrome appsの世界
Page 26: みんなの知らないChrome appsの世界
Page 27: みんなの知らないChrome appsの世界
Page 28: みんなの知らないChrome appsの世界
Page 29: みんなの知らないChrome appsの世界

.├── _locales│ └── ...├── _metadata│ └── ...├── css│ └── ...├── html│ └── ...├── images│ ├── dev│ │ └── ...│ ├── ...│ └── stable│ └── ...

├── js│ └── ...├── manifest.json└── plugin └── pnacl ├── ssh_client.nmf ├── ssh_client_nl_arm.nexe ├── ssh_client_nl_x86_32.nexe └── ssh_client_nl_x86_64.nexe

Page 30: みんなの知らないChrome appsの世界
Page 31: みんなの知らないChrome appsの世界

.├── _metadata│ └── ...├── data│ ├── data.unity3d│ └── unity_nacl_files│ ├── License│ │ ├── COPYING.LIB│ │ └── README│ ├── i686│ │ ├── libc.so│ │ ├── libdl.so│ │ ├── libgcc_s.so│ │ ├── libm.so│ │ ├── libmono-2.0.so│ │ ├── libnacl_dyncode.so│ │ ├── libppapi_cpp.so│ │ ├── libppapi_gles2.so│ │ ├── libpthread.so│ │ ├── librt.so│ │ ├── libstdc++.so│ │ ├── runnable-ld.so│ │ └── unity.nexe│ ├── nacl_resources.unity3d│ ├── unity.nmf│ ├── unity_nacl.js

│ ├── unitylogo.png│ ├── unityprogress.png│ ├── unityprogressframe.png│ └── x86_64│ ├── libc.so│ ├── libdl.so│ ├── libgcc_s.so│ ├── libm.so│ ├── libmono-2.0.so│ ├── libnacl_dyncode.so│ ├── libppapi_cpp.so│ ├── libppapi_gles2.so│ ├── libpthread.so│ ├── librt.so│ ├── libstdc++.so│ ├── runnable-ld.so│ └── unity.nexe├── images│ └── ...├── js│ ├── jquery.js│ ├── json.js│ ├── silvertree.js│ └── silvertree.js~├── manifest.json└── ...

Page 32: みんなの知らないChrome appsの世界

What APIs can we use?

Page 33: みんなの知らないChrome appsの世界

accessibilityFeatures, alarms, app.runtime, app.window, bluetooth, bluetoothLowEnergy, bluetoothSocket, browser, commands, contextMenus, documentScan, events, extensionTypes, fileSystem, gcm, hid, i18n, identity, idle, instanceID, mdns, mediaGalleries, notifications, permissions, power, printerProvider, runtime, serial, socket, sockets.tcp, sockets.tcpServer, sockets.udp, storage, syncFileSystem, system.cpu, system.display, system.memory, system.network, system.storage, tts, types, usb, vpnProvider, wallpaper

Page 34: みんなの知らないChrome appsの世界

accessibilityFeatures, alarms, app.runtime, app.window, bluetooth, bluetoothLowEnergy, bluetoothSocket, browser, commands, contextMenus, documentScan, events, extensionTypes, fileSystem, gcm, hid, i18n, identity, idle, instanceID, mdns, mediaGalleries, notifications, permissions, power, printerProvider, runtime, serial, socket, sockets.tcp, sockets.tcpServer, sockets.udp, storage, syncFileSystem, system.cpu, system.display, system.memory, system.network, system.storage, tts, types, usb, vpnProvider, wallpaper

Page 35: みんなの知らないChrome appsの世界

accessibilityFeatures, alarms, app.runtime, app.window, bluetooth, bluetoothLowEnergy, bluetoothSocket, browser, commands, contextMenus, documentScan, events, extensionTypes, fileSystem, gcm, hid, i18n, identity, idle, instanceID, mdns, mediaGalleries, notifications, permissions, power, printerProvider, runtime, serial, socket, sockets.tcp, sockets.tcpServer, sockets.udp, storage, syncFileSystem, system.cpu, system.display, system.memory, system.network, system.storage, tts, types, usb, vpnProvider, wallpaper

Page 36: みんなの知らないChrome appsの世界

https://chrome.google.com/webstore/detail/cog-system-info-viewer/difcjdggkffcfgcfconafogflmmaadco

Cog - System Info Viewer

Page 37: みんなの知らないChrome appsの世界

sockets.tcp

Page 38: みんなの知らないChrome appsの世界

We can develop ANYTHINGas Chrome Apps!

Page 39: みんなの知らないChrome appsの世界

I must prove that!

Page 40: みんなの知らないChrome appsの世界

https://github.com/yoichiro/mysql_js_driver

Page 41: みんなの知らないChrome appsの世界

https://dev.mysql.com/doc/internals/en/client-server-protocol.html

Page 42: みんなの知らないChrome appsの世界

https://github.com/yoichiro/mysql_js_driver/blob/master/src/mysql_types.js

Page 43: みんなの知らないChrome appsの世界

https://github.com/yoichiro/chrome_mysql_console

Page 44: みんなの知らないChrome appsの世界

https://github.com/yoichiro/chrome_mysql_admin

Page 45: みんなの知らないChrome appsの世界

ChromeMyAdmin

sockets.tcp

digitalbazaar/forge (TLS)

libssh2 (NaCl Module)

AngularJS + ng-grid

jcanvas

jqplot

Page 46: みんなの知らないChrome appsの世界

fileSystemProvider

Page 47: みんなの知らないChrome appsの世界

https://github.com/yoichiro/chromeos-filesystem-dropbox

For Dropbox

Identity API

Dropbox Core API (Ajax)

Page 48: みんなの知らないChrome appsの世界

https://github.com/yoichiro/chromeos-filesystem-sftp

For SFTP

nacl_io

libssh2 (NaCl Module)

Page 49: みんなの知らないChrome appsの世界

https://github.com/yoichiro/chromeos-filesystem-sftp/blob/master/app/nacl_src/read_file_command.cc

Page 50: みんなの知らないChrome appsの世界

For Windows

sockets.tcp

SMB1 / CIFS / SMB2

NTLMSSP

DCE/RPC

Domain / Workgroup

https://github.com/yoichiro/chromeos-filesystem-cifs

Page 51: みんなの知らないChrome appsの世界

https://github.com/yoichiro/chromeos-filesystem-cifs/blob/master/app/scripts/smb_client/dce_rpc/dcerpc_bind.js

Page 52: みんなの知らないChrome appsの世界

Other apps I'm using...

Page 53: みんなの知らないChrome appsの世界

Pixlr Editor

https://chrome.google.com/webstore/detail/pixlr-editor/icmaknaampgiegkcjlimdiidlhopknpk?utm_source=chrome-ntp-icon

Page 54: みんなの知らないChrome appsの世界

Text

https://chrome.g1oogle.com/webstore/detail/text/mmfbcljfglbokpmkimbfghdkjmjhdgbg

Page 55: みんなの知らないChrome appsの世界

LINE

https://chrome.google.com/webstore/detail/line/menkifleemblimdogmoihpfopnplikde

Page 56: みんなの知らないChrome appsの世界

Chrome Dev Editor

https://chrome.google.com/webstore/detail/chrome-dev-editor-develop/pnoffddplpippgcfjdhbmhkofpnaalpg

Page 57: みんなの知らないChrome appsの世界

Chrome Apps= Can do anything!

Page 58: みんなの知らないChrome appsの世界
Page 59: みんなの知らないChrome appsの世界

https://developer.chrome.com/apps/first_app

Page 60: みんなの知らないChrome appsの世界

Many users in the world are waiting Chrome App you create.

Page 61: みんなの知らないChrome appsの世界

Any questions?