ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

「WebAPIでつくるロボットライフ」とかを聞いてきた!

2015-11-03 21:32:23 | Weblog
今日(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はクルマの両輪
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 文系の人にプログラム教えて... | トップ | 今どきの数学科って、wordやe... »
最新の画像もっと見る

Weblog」カテゴリの最新記事