ep27 Monthly Web 201709
- published_at
- 2017-10-04
- guest
- @myakura
- toc
-
headings
Theme
第 27 回のテーマは 2017 年 9 月の Monthly Web です。
Monthly Web のモチベーションについては以下。
Show Note
Chrome 動向
-
Chrome 61 Stable
-
New in Chrome61
- https://developers.google.com/web/updates/2017/09/nic61
- ES modules
- Web Share
- Web USB
-
Visual Viewport
- https://wicg.github.io/ViewportAPI/spec.html
- https://developers.google.com/web/updates/2017/09/visual-viewport-api
- zoom した時に見えている範囲が viewport と違うので、そこを埋める API
- offset や resize event など
- Chrome breaks visual viewport - again
-
スムーズスクロールの API
- https://drafts.csswg.org/cssom-view/
- scroll 系メソッドのオプションとして behavior: 'smooth' など追加
- scroll-behavior プロパティも追加
- Firefox は 36 からサポート、他はまだ。。
-
New in Chrome61
-
Chrome 62 Beta
-
New in Chrome
- https://blog.chromium.org/2017/09/chrome-62-beta-network-quality.html
- Network Quality Estimator API
- OpenType Variable Fonts
- Media Capture from DOM Elements
- etc, etc, etc
-
Deprecations and Removals
- https://developers.google.com/web/updates/2017/09/chrome-62-deprecations
- Remove RTCPeerConnection.getStreamById()
- Remove SharedWorker.workerStart
- Remove SVGPathElement.getPathSegAtLength()
-
New in Chrome
- Chrome 63 Dev
-
V8
-
V8 Release 6.2
- https://v8project.blogspot.jp/2017/09/v8-release-62.html
-
Performance
- Object#toString (Spider Monkey を真似て)
- Proxies
- String#includes
- {Weak}{Map,Set}
-
regexp
- dotAll mode
- look behind assertion
- etc
- Temporarily disabling escape analysis
- Intent to Ship: Promise.prototype.finally
-
V8 Release 6.2
-
developer updates
-
Unified autoplay
- https://blog.chromium.org/2017/09/unified-autoplay.html
- Chrome 64 から音のあるメディアは自動再生しなくなる
-
gTLD .dev/.foo が Chrome の Preload HSTS に
- https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/
- Google 保有の gTLD は使われる前に Preload HSTS していく
- https://security.googleblog.com/2017/09/broadening-hsts-to-secure-more-of-web.html
-
An event for CSS position:sticky
- https://developers.google.com/web/updates/2017/09/sticky-headers
- 'sticky-change' event を独自に定義
- addEventListener しかできないのか
- 将来的には style-mutation observer http://xml3d.org/xml3d/specification/styleobserver/
- WebRTC の Example 直してる 話
-
Picture In Picture (PiP)
- https://developers.google.com/web/updates/2017/09/picture-in-picture
- video.requestPictureInPicture()
-
Sensors For The Web!
- https://developers.google.com/web/updates/2017/09/sensors-for-the-web
- new AbsoluteOrientationSensor();
- new RelativeOrientationSensor();
-
PSA: Blink intent process updates
-
機能公開までのプロセスの更新
- Idea Phase: (early) Intent to Implement
- Design Phase: Intent to Implement
- Implementation Phase: (origin trial) Intent to Experiment
- Implementation Phase: Intent to Ship
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/lT94DQ_-ofk/h9203BB6AwAJ
- https://sites.google.com/a/chromium.org/dev/blink/launching-features
-
機能公開までのプロセスの更新
- Aborting fetch
-
Unified autoplay
-
Intents
- Ship: JavaScript module import()
- Ship: Async Iteration / Async Generators
- Ship: ResizeObserver
- Ship: text-decoration-skip: ink objects; as default
- Implement and Ship MediaStreamTrack.applyConstraints()
- Implement and Ship HTMLTextAreaElement / HTMLSelectElement. autoComplete
- Implement and Ship: CSP exemptions for content injected by privileged callers
- Implement: Trusted Types for DOM Manipulation
- Implement: PauseFrame API
- Implement: Gesture Delegation
- Implement and Ship MediaStreamTrack.applyConstraints()
- Implement: overflow-wrap: break-spaces
- Implement: Socket Tagging
-
Deprecate: Setting cookies from
meta
tags. -
Ship: CSS Paint API
- https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/Jex3idOld48
- Worklet を ship するにあたって議論足りてないんじゃねというツッコミがきている
-
Other
-
MHTML Treatment and Improvement in Chrome
- https://docs.google.com/document/d/1FvmYUC0S0BkdkR7wZsg0hLdKc_qjGnGahBwwa0CdnHE/edit#heading=h.ey8n39382x9r
- Web Packaging など踏まえて Chrome の MHTML を改善する草案
-
SecureContext requirements for all new features?
- https://groups.google.com/a/chromium.org/d/topic/blink-api-owners-discuss/Gmxej1Ryj8c/discussion
- 新しい API は Secure Context 前提にした方がいいの? という議論
-
MHTML Treatment and Improvement in Chrome
Firefox 動向
-
Firefox 55
- https://developer.mozilla.org/en-US/Firefox/Releases/55
- Sourcemap header supported (from X-SouceMap)
- https://tools.ietf.org/html/rfc6648
-
Firefox 56 Stable
- https://developer.mozilla.org/en-US/Firefox/Releases/56
- https://www.mozilla.org/en-US/firefox/56.0/releasenotes/
<link rel="preload">
support<applet>
removed- en-US 版で住所の autofill が導入
- バックグラウンドのタブにあるビデオや音声の再生の扱いが変更
- エンコーディングまわりが Rust ベースに
-
Firefox 57 Beta
- https://developer.mozilla.org/en-US/Firefox/Releases/57
-
Firefox Quantum
- 詳細は下の Developer Edition に
-
Performance Observer
- https://groups.google.com/forum/#!topic/mozilla.dev.platform/ELX9G6OOAjw
- Intent to Ship がでた
- Chrome はサポート済み、 Safari も 11 でサポート
- for-await-of (async iterator なども)
- ReadableStream
- Windows の日本語フォントが MS PGothic から Meiryo に
-
Firefox Quantum Developer Edition
- https://hacks.mozilla.org/2017/09/firefox-quantum-developer-edition-fastest-firefox-ever/
- Firefox 57 が Beta チャンネルにうつって、 Developer Edition のビルドも出たよという話
- the fastest Firefox ever
-
Photon UI
<input type=date>
でカレンダーが出るように(Nightly, Dev のみ)
- DevTools in 57: Redesigned and better than ever
- Quantum CSS (aks Stylo)
-
今後
- Quantum Render (GPU-optimized rendering pipeline WebRender by Servo)
- Quantum DOM (scheduler)
-
Intents:
-
Implement: RTCRtpTransceiver
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/QTD7S9kAkGM/wDSHoKwJAQAJ
- ORTC の成果からフィードバックして WebRTC に入った後発の API
- 詳細は略
- Ship: WebVR on macOS
-
Implement: RTCRtpTransceiver
-
Other
-
Adding More Policy Firepower to the Mozilla Network
- 7 人の fellow が選ばれ Net Neutrality について 2 年間取り組む
- https://blog.mozilla.org/blog/2017/09/25/adding-policy-firepower-mozilla-network/
- These Weeks in Firefox: Issue 24
-
Device Memory header and JS API
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/cfydu35XdnY/3IqYn0oJAQAJ
-
Chrome チームから Device-Memory について Mozilla どうよ?というスレッド
- fingerprinting の話や Client Hints についての疑問などが出た
- CSS Grid PlayGround
-
Adding More Policy Firepower to the Mozilla Network
Safari 動向
-
Safari Technology Preview 39
- https://webkit.org/blog/7913/release-notes-for-safari-technology-preview-39/
- Beacon API
- Async Generator
- etc
-
Safari Technology Preview 40
- https://webkit.org/blog/7922/release-notes-for-safari-technology-preview-40/
- regexp named capture group
- for-await-of
- Fetch Improve
- etc
-
New WebKit Features in Safari 11
- https://webkit.org/blog/7956/new-webkit-features-in-safari-11/
- https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Safari_11_0/Safari_11_0.html
- WebRTC and Media Capture
- WebAssembly
- Variable Fonts
- Timing APIs
- Intelligent Tracking Prevention
- Video autoplay Blocking on macOS
- Safari Tech Preview 22-36 相当とのこと
-
Safari Developer Help
- https://support.apple.com/guide/safari-developer/welcome
- Safari の Web Inspector のドキュメンテーションが大更新
-
Other
-
Concurrent JavaScript: It can work!
- https://webkit.org/blog/7846/concurrent-javascript-it-can-work/
- JS で Thread をという話
-
Credential Management API の現状
- https://lists.webkit.org/pipermail/webkit-dev/2017-September/029577.html
- 実装が IDL 入れただけで止まってるので消さないというメール?
- Apple はまだ興味を持っているが、仕様がかたまってないので止まってるとのこと
-
Designing Websites for iPhone X
- https://webkit.org/blog/7929/designing-websites-for-iphone-x/
- iPhone X でスクリーンが角丸になるし、凹みもでる
- Safe Area と呼ばれる領域にコンテンツを自動で収める仕組みと、それを回避するためのやりかた
- 一部 LG が推している CSS の Round Display 仕様の機能を実装
-
Abort APIs の実装開始
- https://trac.webkit.org/changeset/222692/webkit
- Fetch とかはこれから
-
<link rel="preconnect">
が実装
-
Concurrent JavaScript: It can work!
Edge 動向
-
Windows Insider Preview (Fast) build 17004
- Fall Creators Update 公開前だからか、更新があまり上がってない
-
EdgeHTML
-
16: https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/whats-new/edgehtml-16
- unprefixed CSS Grid support
-
objecgt-fit, object-position
- アスペクト比保ったまま画像を拡縮したり、領域に収めたいときに使う
- DevTools のリファクタリング
- Rayment Request API update
- Service Worker (about:flags)
- WebVR support motion controllers
-
14: https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/whats-new/edgehtml-14
- Extensions
- Fetch API
- Web Authentication API (FIDO 2.0 Web API)
- Web Notifications
- Web Speech API
-
13: https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/whats-new/edgehtml-13
- EME
- oninvalid
-
12: https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/whats-new/edgehtml-12
- CSP 1.0
- Media Capture and Streams
<meter>
,<picture>
,<template>
, srcset, sizes,<input type=time>
- Web Audio
- Web Driver
-
16: https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/whats-new/edgehtml-16
- ChakraCore
WHATWG/W3C 標準動向
-
W3C HTML WG telecon
- HTML5.2 の話がメイン
- Proposal to retain dialog in HTML5.2
- Completing the HTML5.2 implementation report
-
Bring outdated parts of the FAQ up to date
- https://github.com/whatwg/html/commit/5d512fe6f54a332d13ff2d0fee59f12a8d1701b3#diff-e6f81a9d8df4fb4d787121a242ea6bf1
-
HTML の FAQ が更新された
spec
がstandard
に- XHTML という文字が消える
- Will HTML5 ~ が Does HTML5 ~ に
- Stable Snapshot が無く Living Standard であることについて加筆
- etc
-
W3C Recommendation
-
Encrypted Media Extensions (EME)
- https://www.w3.org/blog/news/archives/6521
- EME の議論の結果: https://www.w3.org/blog/2017/09/reflections-on-the-eme-debate/
- EME 採用で EFF が W3C をやめる
-
Encrypted Media Extensions (EME)
-
Candidate Recommendation
- Payment Request API now a Candidate Rec and being implemented in all major browsers
-
First Public Working Draft
- Paint Timing 1; Long Tasks API 1
- Web of Things
- WoT Architecture; Wot Description; Wot Scripting API
- Intersection Observer
- Payment Request API; Payment Method Identifiers
-
Working Draft
- Accessibility Conformance Testing (ACT) Rules Format 1.0
-
Call for review
- Web Content Accessibility Guidelines (WCAG) 2.1
- Semantic Sensor Network Ontology Proposed Recommendation Published
-
Chartering
- (propose) Web Authentication Working Group
-
(re) Web Commerce Interest Group
- https://www.w3.org/blog/news/archives/6515
- もと Web Payments IG
-
"Media Capture and Streams" の CfC が終わった
- https://lists.w3.org/Archives/Public/public-webrtc/2017Sep/0044.html
- 反対派なかったので CR に向けて進む
-
W3C Credentials Community Group name and mission statement status
- https://lists.w3.org/Archives/Public/public-webappsec/2017Sep/0001.html
- Credentials CG の目的を見直し
- Add a "modern" parsing API #2993
- Checkout Web Payments Demos @ Money20/20
- New Web History API Proposal
-
Declarative Shadow DOM #510
- https://github.com/whatwg/dom/issues/510
- Shadow DOM も割と固まってきたので、宣言的に書けるようにしよう。
<template attach-shadow shadow-mode="open | closed">
- Future of Text Symposium
TC39 標準動向
- ECMA-262 が 20 歳
-
TC39 July 2017
- https://maggiepint.com/2017/09/02/tc39-july-2017/
- 7 月のミーティングのまとめ
-
Proposals Diff
- 主に TC39 Seq 2017 での更新
- https://github.com/tc39/proposals/compare/master@{2017-09-01}...master@{2017-10-01}
- 収録後にアップデートサマリが出た
-
0->1
- Pipeline Operator
- Extensible numeric literals
- First-Class Protocols
- JSON superset
- Nullary coalescing operator
- Partial application
-
1->2
- Array.prototype.flat{Map,ten}
- Throw expressions
- String#matchAll
- Numeric separators
-
2->3
- import.meta
-
do-expression
- https://github.com/tc39/proposal-do-expressions
- Stage 1
- do の中ではスコープを作り文ではなく式の組み合わせで書ける
- その中では if 文も式
- 暗黙のリターンあり
- Functional Programming っぽくするための提案
-
referential-destructuring
- https://github.com/meteor/proposal-referential-destructuring
- Stage 0
- destructuring する際に、コピーではなく、参照を取得
IETF 標準動向
-
RFC
-
HTTP Immutable Responses (Cache-Control: immutable)
- https://tools.ietf.org/html/rfc8246
- キャッシュが max-age 内であればリロード時もキャッシュヒットさせる
-
RFC8187: Indicating Character Encoding and Language for HTTP Header Field
- https://tools.ietf.org/html/rfc8187
- non-ascii (
£
,€
) を含む初の RFC らしい
-
HTTP Immutable Responses (Cache-Control: immutable)
-
Draft
-
IETF Last Call: Happy Eyeballs Version 2
- https://tools.ietf.org/html/draft-ietf-v6ops-rfc6555bis-05
- https://lists.w3.org/Archives/Public/ietf-http-wg/2017JulSep/0416.html
- IPv4, v6 両方使える環境で両方試して速く繋がる方を選ぶ
-
WG Last Call The ORIGIN HTTP/2 Frame
- https://tools.ietf.org/html/draft-ietf-httpbis-origin-frame-04
- https://lists.w3.org/Archives/Public/ietf-http-wg/2017JulSep/0409.html
- H2 で複数オリジンへの接続を束ねられる
- 要求が受け取れないオリジンへのリクエストは 421 Misdirected Request
- サーバが束ねられるオリジンを送るフレームを送ることで明示する仕様
-
HTTP Random Access and Live Content
- https://tools.ietf.org/html/draft-ietf-httpbis-rand-access-live-01
- Range リクエストで Live Streaming を受け取れるように
-
A Method for Web Security Policies
- https://tools.ietf.org/html/draft-foudil-securitytxt-00
- security.txt に脆弱性連絡先とかを載せる
- https://github.com/EdOverflow/security-txt のサブセットっぽい
-
Zstandard Compression and The application/zstd Media Type
- https://tools.ietf.org/html/draft-kucherawy-dispatch-zstd-00
- Facebook 提案の圧縮形式
-
HTTP Variants draft-nottingham-variants-00
- https://tools.ietf.org/html/draft-nottingham-variants-00
- リソースに対して可能な選択肢をヘッダに載せる
- 例えばレスポンスに
Variants: Content-Language;en;de
など
-
IETF Last Call: Happy Eyeballs Version 2
-
Origin-signed responses
- https://lists.w3.org/Archives/Public/ietf-http-wg/2017JulSep/0385.html
- WebPackaging の登場により再度議論に
周辺動向
- A Guide To Virtual Reality For Web Developers
- スタバ(日本)TLS1.0/1.1 を切る
-
スタバ(USA) PWA
- https://preview.starbucks.com
- モバイルのみ?
- みんな Object(object) を最適化
-
Assemblyscript
- http://assemblyscript.org
- https://github.com/AssemblyScript/assemblyscript
- A subset of TypeScript that compiles to WebAssembly
-
Nginx Unit
- https://www.nginx.com/products/nginx-unit/
- Nginx に複数言語対応のアプリケーションサーバがデプロイできるように
-
HAProxy supports Experimental HTTP2
- https://www.mail-archive.com/haproxy@formilux.org/msg27104.html
- Experimental / broken HTTP/2 support
- Dr. Axel による mjs のまとめ
- JS の Error Message が見にくいっていう話
- HTML Imports の利用が急激に増える
-
Chrome's Plan to Distrust Symantec Certificates
- https://security.googleblog.com/2017/09/chromes-plan-to-distrust-symantec.html
- https://developers-jp.googleblog.com/2017/09/chromes-plan-to-distrust-symantec.html
- 段階的に無効になり 2018/09 Chrome70 で完全に終わる
- また Symantec の CA は DigiCert に売却される
- Chrome チームの AMA
-
Chrome が HLS をサポートしない理由
- むしろ Android からも消していく
- MSE(Media Source Extension), EME(Encrypted Media Extension) を整備
- https://bugs.chromium.org/p/chromium/issues/detail?id=761506
- 各ブラウザの開発ツールのプロトコルが統一されそう
- Building the DOM faster: speculative parsing, async, defer and preload
-
WebVR Origin Trials Result
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/HyJOhqcEtQI/LPgY2NosBAAJ
- 結果もう少し API を改善して、もう一度やり直すとのこと
-
Reinventing Web Intents
- https://paul.kinlan.me/reinventing-web-intents/
- https://paul.kinlan.me/the-web-is-my-api/
- https://github.com/GoogleChromeLabs/comlink
- Paul Kinlan が WebIntents にご執心
- Tasklets 使って Service を登録し、連携すれば Web Intents になるみたいな話
- Comlink でデモ
イベント
-
9 月
- 9/5, 6 Google Developer Days
-
9/13 Edge Summit
- https://channel9.msdn.com/Events/WebPlatformSummit/Microsoft-Edge-Web-Summit-2017
- https://summit.microsoftedge.com/
- PWA を First Class Citizen とする
- MSDN と MDN をマージして、 Edge の差分だけ MS Edge Doc にするらしい
- 9/13 WebRTC Virtual Interim
- 9/20-21 BlinkOn
- 9/22 PWA Roadshow
- 9/25 WASM WG Video meeting
-
10 月
- 10/3-5 QUIC interim
-
10/13 WebRTC Vertial Interim
- TPAC の前にもう一回 CR blocker を整理する VI をやる
- 10/16 Meet the W3C AB London - Oct 2017
- 10/23-24 Chrome Developer Summit
- 10/27-29 Mozilla Fes
-
11 月
- 11/6-10 TPAC 2017
-
12 月
- 12/5-7 W3C Workshop on WebVR Authoring: Opportunities and Challenges
- Mozilla RoadShow