SlideShare ist ein Scribd-Unternehmen logo
1 von 67
Downloaden Sie, um offline zu lesen
@albatrosary
http://albatrosary.hateblo.jp/
http://html5experts.jp/albatrosary/
HTML5最前線
佐川 夫美雄 HTML5 Experts.jp エキスパート
html5j(スタッフ)
AngularJS Japan User Group(スタッフ)(Fumio SAGAWA)
Web Components
Custam Elements
HTMLTemplate
HTMLImports
Shadow DOM
Multimedia
video/audio
Web Audio API
WebVTT
HTML Media Capture
Graphics
SVG
WebGL
Canvas
Device Access
Calendar API
Geolocation API
Network Information API
USB, Bluetooth, etc
Web Speech API
Device Orientation API
Battery Status API
HTML5
Indexed Database
Offline Web Application
File System API
WebStorage
online/offline events
ApplicationCache
Service Workers
Realtime Connectivity
WebRTC
Notifications
WebSocket
Server-SentEvents
XMLHttpRequest(Level2)
WebMessageing
Offline Web Application
Web Storage
Application Cache
File System API
Indexed Database
online/offline events
Service Workers
Web Storage
Local Storage/Session Storage
JavaScriptで制御可能
サイズが5MBとクッキーに比べ大容量
Session Storageでは別ウィンドウ/タブを閉じるまで有効
Local Storageでは永続的に有効であり別ウィンドウでもデー
タが共有される
Application Cache
オフライン ブラウジング: ユーザーがオフラインのときでも、
すべてのサイトにアクセスできる。
高速: キャッシュされたリソースはローカルなので、高速に読
み込まれる。
サーバー負荷の軽減: ブラウザは、変更があったリソースのみ
をサーバーからダウンロードする。
File System API
ファイルの読み取りと操作: File/Blob、FileList、FileReader
作成と書き込み: BlobBuilder、FileWriter
ディレクトリとファイル システムのアクセス:
DirectoryReader、FileEntry/DirectoryEntry、
LocalFileSystem
Indexed Database
KVSでローカルに保持する標準インターフェース
Online and Offline events
オンライン/オフラインの把握
Service Workers
Offline Web ApplicationのためのApplication Cacheに
変わる仕様
Web Applicationのローカルプロキシとしてバックエンド
プロセスで動作
個別ファイル単位でキャッシュするかどうかJavaScriptで
制御
Offline Web Application
http://www.ashiras.xyz/
Realtime Connectivity
WebSocket
Server-Sent Events
Web Messaging
XMLHttpRequest(Level2)
Notifications
WebRTC
WebSocket
リアルタイムな双方向通信を実現
Ajaxのように単方向単一データのやり取りではなく、一度
コネクションを確立すれば自由にデータのやり取りが可能
WebRTC
Web Real----Time Communications
ブラウザ上でリアルタイムコミュニケーションを実現する
ための仕様
双方方向性のあるコミュニケーションを必要とする様々な
アプリケー ションを開発できる
ビデオ/音音声チャット テキストの共同編集 ゲーム etc...
WebRTCの2つの仕様
Media Capture and Streams(getUserMedia)
ローカルのカメラやマイクからストリームデータを取得 す
る仕様
WebRTC 1.0: Real----time Communication
Between Browsers
主にP2P通信のための仕様が定義されている
WebSocketとの違い
WebRTCは、P2P通信を利用して端末間の相互接続が可能
サーバーを経由しないため、高高速な通信ができる
WebRTCでは、データ通信方方式がUDPのため品質よりも
リアルタイム性を重視したデータに適している
SkyWay
WebRTC(SkyWay)サンプル
http://albatrosary.github.io/skyway/
Web Components
HTMLを部品化する仕組み
Custom Elements
HTML Templates
HTML Imports
Shadow DOM
Custom
Elements
独自タグを定義
HTML
Templates
HTMLを部品化
HTML
Imports
HTMLを取り込む
Shadow
DOM
DOMのカプセル化
Graphics
Canvas: 2D Graphics
WebGL: 3D Graphics
SVG: Vector Graphics
Multimedia
video/audio
WebVTT
Web Audio API
HTML Media Capture
video/audio
動画/音楽再生
WebVTT
字幕・トラック情報を追加
Web Audio API
音声処理・合成
HTML Media Capture
メディアの取り込み
WebRTCのgetUserMediaへ移行しつつある
Device Access Geolocation API
Web Speech API
Device Orientation API
Calendar API
Battery Status API
Network Information API
USB, Bluetooth, etc.
The Physical Web
HTML5はWebだけでなく、様々なデバイスの アプリケーショ
ンプラットフォームとなりつつある。 また、そういったデバイ
スが身身近にあることでWebの利用方法も変化している。
Internet of Things
Ethereum
Smart Contract
Internet of Things
デバイスに広がるHTML5
- モノ(機器)をネットに繋いでやりとりさせる
ECMAScript
Object.observe()
JavaScriptオブジェクトの変更を監視
ECMAScript 標準(ECMA7)
Object.observe()はOo()と書くときがあります。
Oo()を使うとAngularJSやEmber.jsなどで実装され
ている双方向データバインディングが可能となる。
フレームワークなしで2Wayデータバインディング
が可能となります。
Styling(CSS3)
CSS3 Selectors
border-radius
text-shadow/box-shadow
gradient
Webfonts
Transforms
Transitions/Animations
Web Application
どうやってアプリケーションを開発していくか
HTML5 Architectures
Page Display
Page Generation
Logic & State
Data
Integration
User Interface
Interface
Management
Logic & State
Data
Integration
APIs
HTML5
(Single-page Application)
Browser
App Server
OLD Web
HTML & CSS
JavaScript
JSON
https://angularjs.org/
特徴
双方向バインディング
テンプレートとしてのHTML
簡単なものならJavaScriptを書かない
Web Componentsを意識した作り
Object.observe()に似た機能
主な機能
ビルトインディレクティブ
フィルター・サービス・フォームバリデーション
グローバルAPI
モジュールとDI
スコープとコントロール
ルーティングと通信
カスタムフィルター・カスタムサービス・カスタムディレ
クティブ
導入目的
コーティングルールを強制
書き方の統一
つまらないミスを軽減
開発効率を上げる
学習コストが低い
altJS
導入目的
設定ファイルからプログラミング
オブジェクト指向CSSの導入(OOCSS)
開発効率を上げる
idやclassへの命名規則は決める必要がある
49
CSS Preprocessor
http://yeoman.io/
http://yeoman.io/
Scaffolding
YEOMAN - feature
テンプレートがそろってる
Web開発に必要なツールがたくさんある
lint,hint,ビルド,テストが行える
html,css,js,画像をminifyしてくれる
まだまだ色々あります
Development Life Cycle
generator-angular-eggs
https://www.npmjs.com/package/generator-angular-eggs
まとめ
やることの多いWeb開発
YEOMANを使って道具を活用する
進化し続けるHTML5
END

Weitere ähnliche Inhalte

Was ist angesagt?

Flux react現状確認会
Flux react現状確認会Flux react現状確認会
Flux react現状確認会
VOYAGE GROUP
 
CA流 フロントエンドエンジニアの働きかた
CA流 フロントエンドエンジニアの働きかたCA流 フロントエンドエンジニアの働きかた
CA流 フロントエンドエンジニアの働きかた
Kazunari Hara
 

Was ist angesagt? (20)

Flux react現状確認会
Flux react現状確認会Flux react現状確認会
Flux react現状確認会
 
React を導入した フロントエンド開発
React を導入したフロントエンド開発React を導入したフロントエンド開発
React を導入した フロントエンド開発
 
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
 
開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJS開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJS
 
俺とAngular JS 2
俺とAngular JS 2俺とAngular JS 2
俺とAngular JS 2
 
Angular#Kanazawa
Angular#KanazawaAngular#Kanazawa
Angular#Kanazawa
 
AngularJSの高速化
AngularJSの高速化AngularJSの高速化
AngularJSの高速化
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェスト
 
Angular1&2
Angular1&2Angular1&2
Angular1&2
 
Angular2
Angular2Angular2
Angular2
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
CA流 フロントエンドエンジニアの働きかた
CA流 フロントエンドエンジニアの働きかたCA流 フロントエンドエンジニアの働きかた
CA流 フロントエンドエンジニアの働きかた
 
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみようReact NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
 
React.js + Flux
React.js + FluxReact.js + Flux
React.js + Flux
 
Amebaプラットフォームの作りかた
Amebaプラットフォームの作りかたAmebaプラットフォームの作りかた
Amebaプラットフォームの作りかた
 
angular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1clubangular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1club
 
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティスコンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
 
AMD basic and practice
AMD basic and practiceAMD basic and practice
AMD basic and practice
 
クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性
 
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
 

Ähnlich wie HTML5最前線

Html5 seminar 1_pac
Html5 seminar 1_pacHtml5 seminar 1_pac
Html5 seminar 1_pac
1PAC. INC.
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
Masakazu Muraoka
 

Ähnlich wie HTML5最前線 (20)

Web on Kernel
Web on KernelWeb on Kernel
Web on Kernel
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5
 
Kilimanjaro Event
Kilimanjaro EventKilimanjaro Event
Kilimanjaro Event
 
Workshop1-01
Workshop1-01Workshop1-01
Workshop1-01
 
HTML5 OS
HTML5 OSHTML5 OS
HTML5 OS
 
Html5 seminar 1_pac
Html5 seminar 1_pacHtml5 seminar 1_pac
Html5 seminar 1_pac
 
Workshop1-03
Workshop1-03Workshop1-03
Workshop1-03
 
Browser and Mozilla
Browser and MozillaBrowser and Mozilla
Browser and Mozilla
 
Web Technology Meeting
Web Technology MeetingWeb Technology Meeting
Web Technology Meeting
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
 
HTML2013 Web=OS
HTML2013 Web=OSHTML2013 Web=OS
HTML2013 Web=OS
 
Workshop1-02
Workshop1-02Workshop1-02
Workshop1-02
 
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
IE10とWindows 8とHTML5
IE10とWindows 8とHTML5IE10とWindows 8とHTML5
IE10とWindows 8とHTML5
 
JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywords
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
 

Mehr von Fumio SAGAWA (9)

三大フレームワーク(Angular, react, vue.js) 比較によるweb components 入門
三大フレームワーク(Angular, react, vue.js) 比較によるweb components 入門三大フレームワーク(Angular, react, vue.js) 比較によるweb components 入門
三大フレームワーク(Angular, react, vue.js) 比較によるweb components 入門
 
NativeScript with angular2
NativeScript with angular2NativeScript with angular2
NativeScript with angular2
 
どういったフレームワークを選ぶべきか
どういったフレームワークを選ぶべきかどういったフレームワークを選ぶべきか
どういったフレームワークを選ぶべきか
 
イマドキのフロントエンド開発
イマドキのフロントエンド開発イマドキのフロントエンド開発
イマドキのフロントエンド開発
 
Start angular2
Start angular2Start angular2
Start angular2
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
 
次世代Web業務アプリケーション
次世代Web業務アプリケーション次世代Web業務アプリケーション
次世代Web業務アプリケーション
 
Single-page application
Single-page applicationSingle-page application
Single-page application
 
開発スタイルのこれから for Backbone (powerd by Yeoman)
開発スタイルのこれから for Backbone (powerd by Yeoman)開発スタイルのこれから for Backbone (powerd by Yeoman)
開発スタイルのこれから for Backbone (powerd by Yeoman)
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

HTML5最前線