今日(11/3)
HappyBirthday HTML5!
https://atnd.org/events/71001
を聞いてきたので、その内容をメモメモ
(表題の講演は、真ん中あたりにある)
■あいさつ
注意事項
人脈づくり
■HTML5はたのしいよ!
・HTML5で自己紹介
Video,audio
CSS
Javascript
・HTML5誕生日 2014年10月28日(W3C勧告)
・広義のHTML5
狭義のHTML5
CSS3(デザイン):リッチ変形、アニメ、3D
Javascript(プログラム):計算,GPS,API
・editable属性
・こんなこともできるHTML5
・すくー?シンセサイザー
・3次元CSS3 preserve-3D,perspective
アニメーション linear,rotate
・3次元CSSをJavascriptで操作 divで回転
■いまさら聞けない超基本 チームで使うコーディングルール
・自己紹介:
50社落ちまくり、面接までたどり着けない。子供はどうするんですか?
東京アプリワークショップに参加した
実は初登壇
・コーディング自己流だと、後輩が入ってきたら焦る
・テーブルレイアウトって、もう使わないんですね・・・使わないです
1.コーディングこれはだめ編
・テーブルレイアウト、だめです
要素を追加するのすごい大変
柔軟性ない
・テーブルレイアウトっぽいレイアウトもだめです
→背景が1枚の絵とか
・安易にheightを指定しちゃだめです
余白はmarginやpaddingで調整
・安易にabsoluteを使っちゃだめです
ループ等、動的な仕様をつけ足せないのでだめ
・ID/クラス名を色名にしちゃダメです
light-pink;やっぱり青でとか言われたら終わる
・自分ルールの記号や番号にするのもだめ
→番号付けはガイドラインをつける
・デバイス幅が狭いとき、中身が飛び出るコーディングはだめです
・HTMLファイル内にCSSを記述してはだめです
CSSの優先度がわからなくなる。!importantを使うはめになる
・大きなimageはだめです(CSSで小さくするのは)
ページが重くてユーザーが離脱するのでだめ
2.コーディングこうしよう編
・コメントはいっぱいつける
Head内のコメントは割と重要
・ID、クラス名は意味のある英単語にする
・HTMLの意味が破たんしないよう、構造を考えてマークアップする
・ユーザーの行動を想像しながら、ページ全体の仕様を細部まで予測する
3.もっと楽しく仕事するために編
・人と会おう
開催側にもまわってみよう
悪い人には気をつけよう
・セミナーの内容をシェアしよう
アウトプットすることで、知識が定着する
・役立つ本や記事もシェアしよう
・なかしまあ先生の講座をすすめよい
・仲間の情熱を信じよう
覚えていますか?はじめてHTMLで何かを作った日のことを
自分がだめになりそうな時こそ、チームメンバーの作る力を信じてみよう
・Google HTML/CSS Style Guideより おわりのことば
一貫性を保て
・基本のルールを意識しながら仲間と(ごめん、以下自分のメモが読めん・・・^^;)
■LPI Japanからあいさつ
・せまんくん、10こ、あげます(はやいものがち)。
■WebAPIでつくるロボットライフ
・自己紹介
ゲスト:コミュニケーションロボット 2つ
・第三次ロボットブーム
第一次ロボットブーム 1970s~1991 産業用ロボット
→バブル崩壊で終了
第二次ロボットブーム 2000 ~2008 民生用ロボット
ASIMO,AIBOなど→リーマンショックで崩壊
第三次ロボットブーム サービス分野におけるロボット
Jibo:クラウドファウンディング
・いままでのブームとの違い
インターネット通信 環境の発達
クラウドの登場・・・Webエンジニア参入可能
Makerブーム LPC1768,えじそん、Arduino、らずぱい
Javascriptのハード進出
Johnny-five,cyron-js,mraa→ネイティブコードのラッパー
TESSEL,KinomaCreate Espruino
デバイス連携に相性のいいWebAPI
→クラウドの登場
・開発環境もクラウド
データ取得
解析してデータを返す
デバイスの制御
ロボットの制御
クラウドに情報を挙げて処理
ロボットを介してデバイス制御、ロボットに返す
セキュリティ化(見守りロボット)
例1:コミュニケーションロボット BOCCO
例2:そうじロボット だいそん eye 360 ,COCOROBO
・便利なAPIがたくさん登場
画像認識API
Docomo画像認識API
Microsoft Project Oxford
Watson
音声認識
Docomo音声認識SDK
Google Speach API
Microsoft Oxford SpeachAPI
音声合成
Docomo 音声合成
シナリオ対話API
Twillo(とうーりお)
IoT制御API COCOROBO API
・Web標準のAPI
マルチメディア WebMIDI,WebRTC,WebSocket
デバイスWebAPIコンソーシアム
・だけど、自分好みのデバイス制御を簡単にしたくないですか?
IR Kit→赤外線→いろいろ(エアコンとか操作)
・手順
デバイス情報の取得
IR KITのIPアドレスを取得
赤外線情報の取得
データ送信
・外から操作
Client Token情報
Device IDとDevice Key
データ送信
・R2R(ロボット ツー ロボット)
・WebAPI
入出力開発しなくていい
マルチプラットフォーム
再利用
・クラウド上での開発環境
再利用 ROS:Ubuntuほぼ一択
Renv:連舞(れんぶ)
・ロボット
Xデバイス
X万能
○コミュニケーションの対象
○失敗ゆるせる
X便利だから
○愛情持てるから
■HTML5とその先 新技術は「使える」のか
・自己紹介
ECMA262 (エディション)5.1 勉強会
・はじめに
HTML5
HTMLの仕様としてのHTML5
WebテクノロジーのパラダイムとしてのHTML5
・レガシーなWeb
リクエスト→レスポンス→画面遷移
・モダンなWeb例
API→シングルページWebアプリケーション→非同期通信
・HTML5
狭義のHTML5 まわりにいろいろ 全体でモダンなWeb
・仕様の進化
What WG Living Standard
W3C HTML5.1
W3C HTML/next より先へ
Javascript
ECMAScript 2015 6月標準化
ECMAScript 2016 ECMA6
CSS
W3C css3/css4
・実装状況
HTML5 http://caniuse.com/#cats=HTML5
100%はない。Opera miniは機能制限版
Javascript
ECMAScript 5はほぼ100%
ECMAScript 6はまだまだ マイクロソフトのedgeがいい成績
kangax.github.io
・ユースケース
Web site
Gmail
YouTube(HTTP2→edge,chrome,Firefoxが対応)
outlook.com
企業サイト
PC用ローカルアプリケーション
Electron
スマートフォンアプリ
Firefox OS
Real Time Communication(WebRTC)
Twillo,SkyWay
Serverside Javascript node.js
・まとめ
HTML5はWebテクノロジーのパラダイム
HTML5は永久進化する
HTML5はあなたのそばで活躍している
■これからのモバイルWebと最新動向
・自己紹介
・モバイルアプリ隆盛の時代、ネイティブシフト
アプリストアにおける登録アプリの数 150万アプリ
これからもどんどん Google Play 倍々で
ネイティブアプリ 86%
消費時間 ゲーム32%、ソーシャル28%、ブラウザ14%
・Facebook HTML5に賭けたのは失敗
ゲーム業界はネイティブシフトの動き顕著
・ネイティブアプリはゼロサムゲーム
ランキング上位に入らなければ儲からない
インストールしているアプリの平均36
過去30日に使用したアプリの数8
80%のアプリが3日で使われなくなる
・ネイティブアプリの問題
宣伝広告費の増大
ブースと広告に挙げられるランキング操作等
プラットフォームに依存するリスク
審査でりじぇくと
リリースに時間かかる
手数料
利用率、離脱率
・Webの良いところを取り込もうとする流れ
ランキング外
→Webからの検索などでアプリへの導線をよりスムーズに
・3つの手法
Deeplink/Universal link
下層のほかのページに飛ぶ→androidマニュフェストに書く
App Indexing
アプリのコンテンツを検索結果に表示
AppLinks
Facebook アプリの中からアプリ起動→アプリ連携
WebはURIで自由に移動
同じようにアプリも自由に往来
→In-App Browserのように逆に囲い込もうとする流れも
・モバイルWebの最新動向
Web VS ネイティブ
従来から劣っていると言われた3つのポイント
UX(主にスピード/パフォーマンス)
オフライン
リエンゲージメント
Webのスピードパフォーマンスが遅いというのは、過去の話
差はかなり縮まっている
ネイティブのよいところを取り込もうとする流れ
UX:ホーム画面の追加、インストール花^表示、フルスクリーン、テーマ適用
WebAppマニュフェスト―W3Cで標準
オフライン/リエンゲージメント
:Service Worker(オフライン動作/プッシュ通話によりリエンゲージメント)
・サービスワーカー
Appキャッシュに代わる仕様
ローカルプロキシとしてバックグラウンドプロセスで動作
いまのところhttps上でのみ動作
個別ファイルごとにキャッシュするかJSで制御
・サービスワーカーの3つの機能
offline
Push Notification
バックグラウンドSync
Webさーばー⇔サービスワーカー | サーバー
↑↓
キャッシュ
オフライン時
サービスワーカー非対応ブラウザ:いままでと同じ
・デモの例
Google I/O 2015
Push Demo
事例
Facebook
Pinterest
Medium
Google I/O
今後
Sream APIの追加
サービスワーカーの相互連携
・ハイブリッドアプリの動向
blink
crosswalk
react native
electron
Javascript高速
web Assembly asm.js
SIMD.js
・まとめ
ネイティブアプリとモバイルWebはクルマの両輪
HappyBirthday HTML5!
https://atnd.org/events/71001
を聞いてきたので、その内容をメモメモ
(表題の講演は、真ん中あたりにある)
■あいさつ
注意事項
人脈づくり
■HTML5はたのしいよ!
・HTML5で自己紹介
Video,audio
CSS
Javascript
・HTML5誕生日 2014年10月28日(W3C勧告)
・広義のHTML5
狭義のHTML5
CSS3(デザイン):リッチ変形、アニメ、3D
Javascript(プログラム):計算,GPS,API
・editable属性
・こんなこともできるHTML5
・すくー?シンセサイザー
・3次元CSS3 preserve-3D,perspective
アニメーション linear,rotate
・3次元CSSをJavascriptで操作 divで回転
■いまさら聞けない超基本 チームで使うコーディングルール
・自己紹介:
50社落ちまくり、面接までたどり着けない。子供はどうするんですか?
東京アプリワークショップに参加した
実は初登壇
・コーディング自己流だと、後輩が入ってきたら焦る
・テーブルレイアウトって、もう使わないんですね・・・使わないです
1.コーディングこれはだめ編
・テーブルレイアウト、だめです
要素を追加するのすごい大変
柔軟性ない
・テーブルレイアウトっぽいレイアウトもだめです
→背景が1枚の絵とか
・安易にheightを指定しちゃだめです
余白はmarginやpaddingで調整
・安易にabsoluteを使っちゃだめです
ループ等、動的な仕様をつけ足せないのでだめ
・ID/クラス名を色名にしちゃダメです
light-pink;やっぱり青でとか言われたら終わる
・自分ルールの記号や番号にするのもだめ
→番号付けはガイドラインをつける
・デバイス幅が狭いとき、中身が飛び出るコーディングはだめです
・HTMLファイル内にCSSを記述してはだめです
CSSの優先度がわからなくなる。!importantを使うはめになる
・大きなimageはだめです(CSSで小さくするのは)
ページが重くてユーザーが離脱するのでだめ
2.コーディングこうしよう編
・コメントはいっぱいつける
Head内のコメントは割と重要
・ID、クラス名は意味のある英単語にする
・HTMLの意味が破たんしないよう、構造を考えてマークアップする
・ユーザーの行動を想像しながら、ページ全体の仕様を細部まで予測する
3.もっと楽しく仕事するために編
・人と会おう
開催側にもまわってみよう
悪い人には気をつけよう
・セミナーの内容をシェアしよう
アウトプットすることで、知識が定着する
・役立つ本や記事もシェアしよう
・なかしまあ先生の講座をすすめよい
・仲間の情熱を信じよう
覚えていますか?はじめてHTMLで何かを作った日のことを
自分がだめになりそうな時こそ、チームメンバーの作る力を信じてみよう
・Google HTML/CSS Style Guideより おわりのことば
一貫性を保て
・基本のルールを意識しながら仲間と(ごめん、以下自分のメモが読めん・・・^^;)
■LPI Japanからあいさつ
・せまんくん、10こ、あげます(はやいものがち)。
■WebAPIでつくるロボットライフ
・自己紹介
ゲスト:コミュニケーションロボット 2つ
・第三次ロボットブーム
第一次ロボットブーム 1970s~1991 産業用ロボット
→バブル崩壊で終了
第二次ロボットブーム 2000 ~2008 民生用ロボット
ASIMO,AIBOなど→リーマンショックで崩壊
第三次ロボットブーム サービス分野におけるロボット
Jibo:クラウドファウンディング
・いままでのブームとの違い
インターネット通信 環境の発達
クラウドの登場・・・Webエンジニア参入可能
Makerブーム LPC1768,えじそん、Arduino、らずぱい
Javascriptのハード進出
Johnny-five,cyron-js,mraa→ネイティブコードのラッパー
TESSEL,KinomaCreate Espruino
デバイス連携に相性のいいWebAPI
→クラウドの登場
・開発環境もクラウド
データ取得
解析してデータを返す
デバイスの制御
ロボットの制御
クラウドに情報を挙げて処理
ロボットを介してデバイス制御、ロボットに返す
セキュリティ化(見守りロボット)
例1:コミュニケーションロボット BOCCO
例2:そうじロボット だいそん eye 360 ,COCOROBO
・便利なAPIがたくさん登場
画像認識API
Docomo画像認識API
Microsoft Project Oxford
Watson
音声認識
Docomo音声認識SDK
Google Speach API
Microsoft Oxford SpeachAPI
音声合成
Docomo 音声合成
シナリオ対話API
Twillo(とうーりお)
IoT制御API COCOROBO API
・Web標準のAPI
マルチメディア WebMIDI,WebRTC,WebSocket
デバイスWebAPIコンソーシアム
・だけど、自分好みのデバイス制御を簡単にしたくないですか?
IR Kit→赤外線→いろいろ(エアコンとか操作)
・手順
デバイス情報の取得
IR KITのIPアドレスを取得
赤外線情報の取得
データ送信
・外から操作
Client Token情報
Device IDとDevice Key
データ送信
・R2R(ロボット ツー ロボット)
・WebAPI
入出力開発しなくていい
マルチプラットフォーム
再利用
・クラウド上での開発環境
再利用 ROS:Ubuntuほぼ一択
Renv:連舞(れんぶ)
・ロボット
Xデバイス
X万能
○コミュニケーションの対象
○失敗ゆるせる
X便利だから
○愛情持てるから
■HTML5とその先 新技術は「使える」のか
・自己紹介
ECMA262 (エディション)5.1 勉強会
・はじめに
HTML5
HTMLの仕様としてのHTML5
WebテクノロジーのパラダイムとしてのHTML5
・レガシーなWeb
リクエスト→レスポンス→画面遷移
・モダンなWeb例
API→シングルページWebアプリケーション→非同期通信
・HTML5
狭義のHTML5 まわりにいろいろ 全体でモダンなWeb
・仕様の進化
What WG Living Standard
W3C HTML5.1
W3C HTML/next より先へ
Javascript
ECMAScript 2015 6月標準化
ECMAScript 2016 ECMA6
CSS
W3C css3/css4
・実装状況
HTML5 http://caniuse.com/#cats=HTML5
100%はない。Opera miniは機能制限版
Javascript
ECMAScript 5はほぼ100%
ECMAScript 6はまだまだ マイクロソフトのedgeがいい成績
kangax.github.io
・ユースケース
Web site
Gmail
YouTube(HTTP2→edge,chrome,Firefoxが対応)
outlook.com
企業サイト
PC用ローカルアプリケーション
Electron
スマートフォンアプリ
Firefox OS
Real Time Communication(WebRTC)
Twillo,SkyWay
Serverside Javascript node.js
・まとめ
HTML5はWebテクノロジーのパラダイム
HTML5は永久進化する
HTML5はあなたのそばで活躍している
■これからのモバイルWebと最新動向
・自己紹介
・モバイルアプリ隆盛の時代、ネイティブシフト
アプリストアにおける登録アプリの数 150万アプリ
これからもどんどん Google Play 倍々で
ネイティブアプリ 86%
消費時間 ゲーム32%、ソーシャル28%、ブラウザ14%
・Facebook HTML5に賭けたのは失敗
ゲーム業界はネイティブシフトの動き顕著
・ネイティブアプリはゼロサムゲーム
ランキング上位に入らなければ儲からない
インストールしているアプリの平均36
過去30日に使用したアプリの数8
80%のアプリが3日で使われなくなる
・ネイティブアプリの問題
宣伝広告費の増大
ブースと広告に挙げられるランキング操作等
プラットフォームに依存するリスク
審査でりじぇくと
リリースに時間かかる
手数料
利用率、離脱率
・Webの良いところを取り込もうとする流れ
ランキング外
→Webからの検索などでアプリへの導線をよりスムーズに
・3つの手法
Deeplink/Universal link
下層のほかのページに飛ぶ→androidマニュフェストに書く
App Indexing
アプリのコンテンツを検索結果に表示
AppLinks
Facebook アプリの中からアプリ起動→アプリ連携
WebはURIで自由に移動
同じようにアプリも自由に往来
→In-App Browserのように逆に囲い込もうとする流れも
・モバイルWebの最新動向
Web VS ネイティブ
従来から劣っていると言われた3つのポイント
UX(主にスピード/パフォーマンス)
オフライン
リエンゲージメント
Webのスピードパフォーマンスが遅いというのは、過去の話
差はかなり縮まっている
ネイティブのよいところを取り込もうとする流れ
UX:ホーム画面の追加、インストール花^表示、フルスクリーン、テーマ適用
WebAppマニュフェスト―W3Cで標準
オフライン/リエンゲージメント
:Service Worker(オフライン動作/プッシュ通話によりリエンゲージメント)
・サービスワーカー
Appキャッシュに代わる仕様
ローカルプロキシとしてバックグラウンドプロセスで動作
いまのところhttps上でのみ動作
個別ファイルごとにキャッシュするかJSで制御
・サービスワーカーの3つの機能
offline
Push Notification
バックグラウンドSync
Webさーばー⇔サービスワーカー | サーバー
↑↓
キャッシュ
オフライン時
サービスワーカー非対応ブラウザ:いままでと同じ
・デモの例
Google I/O 2015
Push Demo
事例
Medium
Google I/O
今後
Sream APIの追加
サービスワーカーの相互連携
・ハイブリッドアプリの動向
blink
crosswalk
react native
electron
Javascript高速
web Assembly asm.js
SIMD.js
・まとめ
ネイティブアプリとモバイルWebはクルマの両輪