SlideShare a Scribd company logo
Extensible Web
by new Low-Level Capabilities
#tng15
Jack
● id: Jxck
● github: Jxck
● twitter: @jxck_
● about: http://jxck.io
● blog: http://jxck.hatenablog.com
● podcast: http://mozaic.fm
● Love: music
Extensible Web
HTTP2JP
so What ?
“Shut the fuck up and
write some code”
Extensible Web is ...
Standarization
Problem
New API ?
standarization
implementation
● Lead by Standarize
○ long term discussion
○ made a Camel some time
● Lead by Browser Vender
○ depends on vender imple
○ depends on vender priority
Standarization Problem
Web Devs
Standarize
Browser
1. spec
2. impl
3. feedback
Was
Extend the Web Forward
Extend the Web Forward
by
Developer
Web Devs
Standarize
Browser
1. PoC
Now
3. impl
2. spec
Proof of Concept
based on
Low Level API
Web プラットフォームは、 HTML や CSS などの
既存の特徴を説明する低レベルな機能
を提供することで、開発者がそれを理解し
再現することが可能となるようにすべきです。
Expose low-level capabilities
that explain existing features,
such as HTML and CSS,
allowing authors to understand and replicate them.
Low Level API/Capability
● Terminology
○ what is fetching on Web?
● API
○ what is lowest api for fetch
ex: Fetch
fetch('http://my.api.org/')
.then(res => {
console.log(res.status);
});
● Terminology
○ what is URL on Web?
● API
○ what is lowest api for URL ?
ex: URL
var url = new URL('http://my.api.
org/');
console.log(url.host);
console.log(url.port);
● Terminology
○ which en/decoder web needs ?
● API
○ what is lowest api for Encoding ?
ex: Encoding
var enc = new TextEncoder();
var u = enc.encode('foo');
console.log(u);
// [102, 111, 111]
● Terminology
○ how we customize elements ?
● API
○ what is lowest api for that ?
ex: Custom Elements
document.registerElement('x-form', {
extends: 'form',
prototype: Object.create(HTMLFormElement.prototype)
});
XHR
Fetch
URL
Encoding
Service Worker
Stream
Promise
Notification
Blob
ArrayBuffer
File
HTML
Templates
TCP/UDP
IndexedDB
WebCrypto
DataView
ArrayBufferView
HTML Imports
Shadow DOM
Custom Elements
LocalStorage
FormData
URLSearchParams
WebGL
WebRTC
WebSocket
Canvas
getUserMedia
CSP
WebAudio
QuerySelector
Application Cache
Cache
HIGH
LOW
CORS
Extensible web
● Wrap a Low Level API
● Publish the new Library
● Develop the new Frame Work
● Extend the Web Forward
Build the Next Web
“Shut the fuck up and
write some code
over New Low Level
Capabilities”
Extensible Web is ...
Extensible web
Problem
Web Devs
Standarize
Browser
1. Spec of
Low Level
3. Extensible Web
Real...
2. Imple of
Low Level
My Work
Fetch shim
● sim for browser
● imple for node/io
● in pure javascript
Implement Fetch
fetch = fetch || require(‘fetch’);
fetch('http://my.api.org/')
.then(res => {
console.log(res.status);
});
● sim for browser
● imple for node/io
● in pure javascript
Implement Fetch
fetch = fetch || require(‘fetch’);
fetch('http://my.api.org/')
.then(res => {
console.log(res.status);
});
TRULY
ISOMORPHIC !!!
Fetch
load to Fetch
Extensible web
Fetch
└── URL
load to Fetch
Extensible web
Fetch
└── URL
└── URLSearchParams
load to Fetch
Extensible web
Fetch
└── URL
└── URLSearchParams
└── Encoding
load to Fetch
Extensible web
Fetch
└── URL
└── URLSearchParams
└── Encoding
├── obtain-unicode
└── String.fromCodePoint
load to Fetch
Extensible web
Fetch
└── URL
└── URLSearchParams
└── Encoding
├── obtain-unicode
└── String.fromCodePoint
load to Fetch
Fetch
└── URL <- now
└── URLSearchParams
└── Encoding
├── obtain-unicode
└── String.fromCodePoint
load to Fetch
XHR(GOAL!)
└── Fetch
└── URL
└── URLSearchParams
└── Encoding
├── obtain-unicode
└── String.fromCodePoint
load to Fetch XHR
thanks :)
Extend the Web Forward
Jack

More Related Content

PDF
Extensible web #html5j
PDF
ORTC SVC SimulCast
PDF
Http2 on go1.6rc2
PDF
HTTP2Study chronicle #http2conf
PDF
Python Static Site Generator in Pelican
PDF
PHP QA Tools
PDF
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
PDF
Docker & PHP - Practical use case
Extensible web #html5j
ORTC SVC SimulCast
Http2 on go1.6rc2
HTTP2Study chronicle #http2conf
Python Static Site Generator in Pelican
PHP QA Tools
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
Docker & PHP - Practical use case

What's hot (20)

PDF
Chromium: NaCl and Pepper API
PDF
Cache in Chromium: Disk Cache
PDF
Як РНР розробник пише код на Kotlin
PDF
Dev + DevOps для PHP розробника
PDF
Making your first contribution to Foreman
PDF
Helpful pre commit hooks for Python and Django
PDF
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
PDF
Opensource pnp container based waf
PPTX
Docker session I: Continuous integration, delivery and deployment
PDF
Last Month in PHP - June 2016
PDF
Working with npm packages
PDF
Introduction to NPM and building CLI Tools with Node.js
PDF
Perl Dancer on Android (first attempt)
PDF
Types - slice, map, new, make, struct - Gopherlabs
PDF
Desarrollo web backend: Spring Boot, MongoDB y Azure
PDF
kikstart journey of Golang with Hello world - Gopherlabs
ODP
How We Bacame a 'Go' Company
PDF
NPM THE GUIDE
PDF
markedj: The best of markdown processor on JVM
PDF
Power-up services with gRPC
Chromium: NaCl and Pepper API
Cache in Chromium: Disk Cache
Як РНР розробник пише код на Kotlin
Dev + DevOps для PHP розробника
Making your first contribution to Foreman
Helpful pre commit hooks for Python and Django
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
Opensource pnp container based waf
Docker session I: Continuous integration, delivery and deployment
Last Month in PHP - June 2016
Working with npm packages
Introduction to NPM and building CLI Tools with Node.js
Perl Dancer on Android (first attempt)
Types - slice, map, new, make, struct - Gopherlabs
Desarrollo web backend: Spring Boot, MongoDB y Azure
kikstart journey of Golang with Hello world - Gopherlabs
How We Bacame a 'Go' Company
NPM THE GUIDE
markedj: The best of markdown processor on JVM
Power-up services with gRPC
Ad

Viewers also liked (20)

PDF
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
PDF
東京Node学園 今できる通信高速化にトライしてみた
PPTX
Socket.ioを使ってライフゲームで遊ぶ
PDF
Loop backを使った極初歩的なapiとswiftで作るオシャレアプリ()
PPTX
いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく
PDF
Node.jsで対戦ゲーム作ったよ
PDF
PWA e Hybrid App VS Native
PDF
Building a Progressive Web App
PDF
Nodeを稼働させる
PDF
Scalable Node.js with Redis Store
PDF
9 anti-patterns for node.js teams
PDF
Progressive Web Apps / GDG DevFest - Season 2016
PDF
Real World Progressive Web Apps (Building Flipkart Lite)
PDF
RICOH THETAの全天球画像でペーパークラフト
PDF
Progressive web apps
PDF
Node-v0.12のTLSを256倍使いこなす方法
PPTX
Why Progressive Web App is what you need for your Business
PDF
智慧應用與物聯網發展趨勢 (A Development Trend of Smart Applications and IoT)
PDF
Progressive web apps
PDF
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
東京Node学園 今できる通信高速化にトライしてみた
Socket.ioを使ってライフゲームで遊ぶ
Loop backを使った極初歩的なapiとswiftで作るオシャレアプリ()
いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく
Node.jsで対戦ゲーム作ったよ
PWA e Hybrid App VS Native
Building a Progressive Web App
Nodeを稼働させる
Scalable Node.js with Redis Store
9 anti-patterns for node.js teams
Progressive Web Apps / GDG DevFest - Season 2016
Real World Progressive Web Apps (Building Flipkart Lite)
RICOH THETAの全天球画像でペーパークラフト
Progressive web apps
Node-v0.12のTLSを256倍使いこなす方法
Why Progressive Web App is what you need for your Business
智慧應用與物聯網發展趨勢 (A Development Trend of Smart Applications and IoT)
Progressive web apps
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
Ad

Similar to Extensible web (20)

PDF
Introduction to Performance APIs
PDF
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
PPTX
Gutenberg Extended
PDF
AWS Lambda and Serverless framework: lessons learned while building a serverl...
PPTX
Lightning Web Components
PPTX
Lightning Web Components by Abdul Gafoor
PDF
Massively Scaled High Performance Web Services with PHP
PPTX
Web summit.pptx
PDF
PDF
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
PDF
Building Kick Ass Video Games for the Cloud
PDF
Polymer
PPTX
JS digest. October 2017
PPTX
Node.js Development with Apache NetBeans
PDF
Decoupling Content Management with Create.js and PHPCR
PPTX
concept of server-side JavaScript / JS Framework: NODEJS
PPTX
JS digest. Mid-Summer 2017
PDF
Scaling WordPress - Project Lana WordPress Team
PDF
qooxdoo - Open Source Ajax Framework
PDF
Introduction to Tekton
Introduction to Performance APIs
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Gutenberg Extended
AWS Lambda and Serverless framework: lessons learned while building a serverl...
Lightning Web Components
Lightning Web Components by Abdul Gafoor
Massively Scaled High Performance Web Services with PHP
Web summit.pptx
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Building Kick Ass Video Games for the Cloud
Polymer
JS digest. October 2017
Node.js Development with Apache NetBeans
Decoupling Content Management with Create.js and PHPCR
concept of server-side JavaScript / JS Framework: NODEJS
JS digest. Mid-Summer 2017
Scaling WordPress - Project Lana WordPress Team
qooxdoo - Open Source Ajax Framework
Introduction to Tekton

More from Jxck Jxck (18)

PDF
HTTP2 時代の Web - web over http2
PDF
Isomorphic Architecture & Interface
PDF
HTTP2 RFC 発行記念祝賀会
PDF
mozaicfm-ep8 #altJS @ll-diver
PDF
Updates of socket.io@1.0
PDF
Why HTML Form dose not support PUT & DELETE ?
PDF
Next generation web talk @cross2014
PDF
HTTP2 & HPACK #pyfes 2013-11-30
PDF
Network server in go #gocon 2013-11-14
PDF
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
PDF
Http2.0 Guide 2013-08-14 #http2study
PDF
Gtug girls meetup web socket handson
PDF
Next generation web talk @cross2013
PDF
Nodefest2011-Live
PDF
Test it in Node.js
PDF
Real Time App with Node.js
PDF
I visited JSConf + NodeConf + Joyent
PDF
Nodejs Introduction
HTTP2 時代の Web - web over http2
Isomorphic Architecture & Interface
HTTP2 RFC 発行記念祝賀会
mozaicfm-ep8 #altJS @ll-diver
Updates of socket.io@1.0
Why HTML Form dose not support PUT & DELETE ?
Next generation web talk @cross2014
HTTP2 & HPACK #pyfes 2013-11-30
Network server in go #gocon 2013-11-14
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
Http2.0 Guide 2013-08-14 #http2study
Gtug girls meetup web socket handson
Next generation web talk @cross2013
Nodefest2011-Live
Test it in Node.js
Real Time App with Node.js
I visited JSConf + NodeConf + Joyent
Nodejs Introduction

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
Teaching material agriculture food technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Digital-Transformation-Roadmap-for-Companies.pptx
Teaching material agriculture food technology
Building Integrated photovoltaic BIPV_UPV.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine learning based COVID-19 study performance prediction
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
The Rise and Fall of 3GPP – Time for a Sabbatical?
Empathic Computing: Creating Shared Understanding
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Network Security Unit 5.pdf for BCA BBA.
sap open course for s4hana steps from ECC to s4
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf

Extensible web