Fork me on GitHub

2016-11-22のJS: Firefox 50、React v15.4.0、Custom Element v1

Edit on GitHub 編集履歴を見る

JSer.info #306 - Firefox 50がリリースされました。

Firefox 50では、Symbol.hasInstanceの実装、コンソールがSource Mapを解釈するようになり、addEventListener{ once }オプションをサポートしました。
DOMにおいては、NodeListDOMTokenListがIterableとなったため、次のようにNodeList#querySelectorAllの結果に対してforEachメソッドなどが利用できます。

document.querySelectorAll("button").forEach(node => console.log(node));

また、セキュリティ面では__Secure-などのCookie prefixesX-Content-Type-Options: nosniffに対応しています。


React v15.4.0がリリースされました。

React v0.14reactreact-domにパッケージが分割されていましたが、内部的にはReact DOMの実装がreactパッケージにも含まれていました。
これに起因する問題があったため、React v15.4.0では内部的に残っていたReact DOMの実装をreactパッケージから削除されました。

この変更に影響を受けるのは、require("react/lib/merge")のように直接ReactのPrivate APIを利用していた場合のみです。
このrequire()を使った直接参照は、React 0.12頃から非推奨となっています。

また、React v15.4.0では?react_perfをURLにつけることにより、User Timing APIでのパフォーマンス計測ができるようになっています。
performance.markperformance.measureを利用し実現しているので、次の記事を見てみると面白いかもしれません。


Introducing Custom Elements | WebKitでは、WebKitのCustom Elements実装者によるCustom Elements(v1)の解説が書かれています。

Custom Elementsのライフサイクルの話などが詳しく書かれているので、興味がある人は読んでみるといいです。


ヘッドライン


Firefox 50.0 リリースノート

www.mozilla.jp/firefox/50.0/releasenotes/

firefox ReleaseNote

Firefox 50リリース。
WebM EMEのサポート、Symbol.hasInstanceの実装、コンソールがSource Mapを解釈するように。
addEventListeneronceオプション、X-Content-Type-Optionsヘッダーのサポート、など


Release Notes for Safari Technology Preview 18 | WebKit

webkit.org/blog/7078/release-notes-for-safari-technology-preview-18/

webkit ReleaseNote

Safari Technology Preview Release 18リリース。


React v15.4.0 - React Blog

facebook.github.io/react/blog/2016/11/16/react-v15.4.0.html

React ReleaseNote

React v15.4.0リリース。
内部的に存在していた react/lib/* のPrivate APIを削除、?react_perfを付けることでUser Timingベースのプロファイリングを取れるようになるなど


6.19.0 Released · Babel

babeljs.io/blog/2016/11/16/6.19.0

babel ReleaseNote

Babel v6.19.0リリース。
babel-plugin-transform-object-rest-spreadが単独のPluginとして動くように。
stage-2 presetにbabel-plugin-syntax-dynamic-importを追加など


Release 0.17.0 · avajs/ava

github.com/avajs/ava/releases/tag/v0.17.0

node.js testing ReleaseNote

AVA 0.17.0リリース。
process.cws()package.jsonと同じディレクトリに変更、Node.js v4>=のみのサポート、--require CLIオプションの削除、karma-avaのサポートなど


Release fetch 2.0.0 · github/fetch

github.com/github/fetch/releases/tag/v2.0.0

JavaScript github library

Fetch APIのpolyfillライブラリであるfetch 2.0.0リリース。
Header.get()の挙動変更、Headers.getAll()の削除など


Angular 2.2.0 Now Available

angularjs.blogspot.com/2016/11/angular-220-now-available.html

AngularJS ReleaseNote

AngularJS 2.2.0リリース。
@anguar/upgradeを使い1.xと2.xを共存させる場合にRouterでどちらも扱えるようにする仕組みの追加、JavaScriptで使う場合のガイドの追加など


These Weeks in Firefox: Issue 5 | Firefox Nightly News

blog.nightly.mozilla.org/2016/11/16/these-weeks-in-firefox-issue-5/

firefox ReleaseNote

Firefox Nightly 52における変更点のハイライト。
async/awaitの対応、ネットワークのスロットリングツールの追加、<input type="time">のUI改善など


アーティクル


Introducing Custom Elements | WebKit

webkit.org/blog/7027/introducing-custom-elements/

WebComponents

Custom Elementについて。
HTMLElementのサブクラスでの定義、ライフサイクルのコールバックイベントは同期的に呼ばれる点について。
また、非同期でCustom ElementがdeinfeされたことをwhenDefinedで検知する方法について


How to win in Web Framework Benchmarks – Medium

medium.com/@localvoid/how-to-win-in-web-framework-benchmarks-8bc31af76ce7

JavaScript DOM VirtualDOM benchmark

kiviというReactのようなUIライブラリを作っていくにあたりベンチマークを見てどのような最適化をしていくかという話。
色々なDOMライブラリのベンチマークを試し、どのような点を改善すれば結果がよくなったかという話


Choosing Ember over React in 2016

blog.instant2fa.com/choosing-ember-over-react-in-2016-41a2e7fd341

JavaScript

Instant 2FAというサービスをEmberで作ってみて良かったところと良くなかったところについて。
ember-cliについて


for..in versus for..of Loops

bitsofco.de/for-in-vs-for-of/

JavaScript

for...offor...inの違いについて


スライド、動画関係


React with Reduxによる大規模商用サービスの開発 / nodefest2016 // Speaker Deck

speakerdeck.com/yoshidan/nodefest2016

React redux スライド

React + Reduxにおける注意点について。
画面遷移とJavaScriptファイルの分割、サーバサイドレンダリングの手法とコストについて


💓 Vue.js

nakajmg.github.io/s/161119-vue/

JavaScript library スライド

Vue.jsについてのスライド。
コンソールにTranscriptが出る。
Vue.js 2.xの特徴やエコシステム、ツールなどについて


about_hiroppyさんの「ECMAScript」 / about_hiroppy さん - ニコナレ

niconare.nicovideo.jp/watch/kn1937

JavaScript スライド

ECMAScriptの策定プロセスとES2016/2017について


ソフトウェア、ツール、ライブラリ関係


paulirish/pwmetrics: Progressive web metrics at your fingertipz

github.com/paulirish/pwmetrics

performance Tools

lighthouseを使ったパフォーマンスメトリクスの可視化ツール


dylanb/react-axe: Accessibility auditing for React.js applications

github.com/dylanb/react-axe

React accessibility library

axe-coreをつかったアクセシビリティチェックを行うReactライブラリ


Victory

formidable.com/open-source/victory/

React グラフ library

React Componentとしてグラフを書く事ができるライブラリ。


この記事へ修正リクエストをする
JSer.info Slackに参加する