2018 年の Web 標準ということで… ‣ Service Worker ‣ これからの Web において、導⼊しない理由がない ‣ Web Components ‣ たまにはライブラリに頼らず Web UI を構築してみたい ‣ Web Payments ‣ Web の決済は全て Web Payments に統⼀されるべき
self.addEventListener('fetch', e => { e.respondWith(preferCache(e.request)); }); async function preferCache(request) { // get cache via Cache API const cache = await caches.match(request); // request if cache is empty const response = cache || await fetch(request.clone()); return response; } service-worker.js Cache API Service Worker
Web Components を司る Web 標準技術 Custom Elements Shadow DOM ES Modules const doc = document; const btn = doc.querySelector('button'); const shadowRoot = btn.attachShadow({ mode: 'open' // or 'close' }); // readonly property console.log(btn.shadowRoot); Shadow DOM を⽣やす Shadow DOM を参照する
Web Components を司る Web 標準技術 Custom Elements Shadow DOM ES Modules export default class FancyButton { ... } import FancyButton from './fancy-button.js'; モジュールを export する モジュールを import する
決済代⾏サービスに遷移する例 Card Number CVC Confirm Submit Back to EC Pay on PSP 3. 決済確認 4. 決済完了 2. カード情報⼊⼒ 1. 商品選択 5. 完了 Card Number CVC 1111-1111-1111-1111 111 You bought!