Fork me on GitHub

2018-06-12のJS: MobX 5.0.0、PhantomJS EOL、Node.jsにおける設計ミス

Edit on GitHub 編集履歴を見る

JSer.info #387 - ステート管理ライブラリのMobX 5.0.0がリリースされました。

MobX 5.0.0ではObservableの実装にデフォルトでES Proxyが利用されるようになりました。
これによりgetterではできなかった、宣言時になかったプロパティを動的に追加した場合も検知できるようになっています。
詳しくは次の記事でも解説されています。

またProxyをサポートしてないブラウザ(IE)はサポート対象外となり、npmで配布されるパッケージもES2015のコードベースで配布されるようになっています。

IEなどでも利用したい場合はMobX 4を利用することが推奨されています。


QtWebKitベースのヘッドレスブラウザであるPhantomJSのリポジトリがアーカイブ化されました。

ariya/phantomjs

Securityリリースの予定なども特にないことから事実上のEOL(End Of Life)になっています。

次の記事で詳細を書いています。


10 Things I Regret About Node.js - Ryan Dahl - JSConf EU 2018 - YouTubeという発表ではNode.jsのオリジナルの作者である@ry (Ryan Dahl)によるNode.js初期におけるデザインミスついての発表がされています。
また現在開発中のTypeScriptのruntimeとして作成してるDenoの紹介も行われています。
Denoのゴールはsandbox firstのセキュリティ、モジュールシステムの簡素化、ブラウザとの互換性などがあげられています。

次の記事で補足も合わせた抜粋訳が公開されているので見てみるといいかもしれません。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Safari Technology Preview 58, with Safari 12 Features, is Now Available | WebKit

webkit.org/blog/8327/safari-technology-preview-58-with-safari-12-features-is-now-available/

safari ReleaseNote

Safari Technology Preview Release 58リリース。
Safari 12相当の機能が含まれている。


Release v6.1.0 · npm/npm

github.com/npm/npm/releases/tag/v6.1.0

npm ReleaseNote

npm 6.1.0リリース。
npm audit fixの追加、npm init <pkg>がgit urlをサポートなど


Chromium Blog: Chrome 68 Beta: add to home screen, payment handler, page lifecycle

blog.chromium.org/2018/06/chrome-68-beta-add-to-home-screen.html

Chrome ReleaseNote

Chrome 68βリリース。
Payment Handler API、Page Lifecycle API、customElements.upgrade()、 Keyboard lock APIのサポートなど


mobx/CHANGELOG.md at master · mobxjs/mobx

github.com/mobxjs/mobx/blob/master/CHANGELOG.md#500

JavaScript ReleaseNote library

MobX 5.0.0リリース。
ObservableにProxyを利用するようになり、IEなどProxyがない環境は非サポートに。
また、公開されるパッケージのコード自体もES2015となった。


Release Inferno v5.1.0 · infernojs/inferno

github.com/infernojs/inferno/releases/tag/v5.1.0

JavaScript React library ReleaseNote

Inferno v5.1.0 リリース。
Inferno-devtoolsの書き直しなど


アーティクル


Yarn import now uses package-lock.json | Yarn Blog

yarnpkg.com/blog/2018/06/04/yarn-import-package-lock/

ReleaseNote article npm yarn

yarn 1.7.0でpackage-lock.jsonyarn.lockとしてimportできるようになった。


You Probably Don't Need Derived State - React Blog

reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html

React article

React 16.3で導入されたgetDerivedStateFromPropsのケーススタディ。
getDerivedStateFromPropsはpropsの変化を元にstateを更新するために利用する。どのような時に利用するべきか、しないべきかについて


Flow から TypeScript に移行しました - てくすた

texta.pixta.jp/entry/2018/06/07/120000

flowtype TypeScript article

FlowからTypeScriptへの移行について。
移行の理由、移行の手順やツールの組み合わせについてなどについて


Assessing Loading Performance in Real Life with Navigation and Resource Timing  |  Web Fundamentals  |  Google Developers

developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/

browser performance article JavaScript

Navigation TimingとResource Timingについて。
それぞれのAPIの使い方や取得できるデータの意味、クロスオリジンのリソースのTiming-Allow-Originヘッダによる対応。
またRUMのデータとして集める場合のデータの送信方法としてnavigation.sendBeaconの使い方やfailbackについてなど


これからpjaxを使う人に知っておいてほしいこと – Design Report – デザインレポート

glitter-style.jp/labo/web-resource/master-the-pjax/

JavaScript ajax article

pjaxについての連載記事。
pjaxの動作原理や利点、代表的な実装方法、利用する際の注意点、イベント管理、メモリリークの問題など、設計について書かれている


Almin 0.17リリース – executeの型付け、新しいReact Contextのサポート | Web Scratch

efcl.info/2018/06/11/almin-0.17/

almin JavaScript library ReleaseNote

Almin 0.17リリース。
TypeScriptでexecuteの引数の型チェックができるように、React Context APIを使ったモジュールの公開、ファイルサイズの削減など


Deprecating cssnext

moox.io/blog/deprecating-cssnext/

CSS PostCSS article

cssnextがdeprecatedとなり、postcss-preset-envの利用が推奨されるようになった。
マイグレーション方法や違いについてなど


2018 年の tree shaking | 株式会社カブク

www.kabuku.co.jp/developers/tree-shaking-in-2018

JavaScript article webpack

Tree Shakingと呼ばれるビルドの最適化がどのように行われるかについて。 webpackにおいてES modulesで書いてもTree Shankingされない場合について。 またRxJsでの例など


PhantomJSの開発が終了しリポジトリがアーカイブ化された - JSer.info

jser.info/2018/06/11/phantomjs-ended/

JavaScript browser article

PhantomJSのリポジトリがArchived(read-only)になり正式に開発が終了となった。


スライド、動画関係


10 Things I Regret About Node.js - Ryan Dahl - JSConf EU 2018 - YouTube

www.youtube.com/watch?v=M3BM9TB-8yA&feature=youtu.be

node.js video

Node.jsの作成者であるryによるNode.js初期のデザインミスついての発表。
またTypeScriptのruntimeとして作成してるDenoの紹介。
Denoのゴールはsandbox firstのセキュリティ、モジュールシステムの簡素化、ブラウザとの互換性など


JSConf EU 2018 - YouTube - YouTube

www.youtube.com/playlist?list=PL37ZVnwpeshG2YXJkun_lyNTtM-Qb3MKa

JavaScript イベント video

JSConf EU 2018の動画まとめ


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


WaldoJeffers/conductor: Mix both synchronous and asynchronous code without hassle

github.com/WaldoJeffers/conductor

JavaScript library

syncとasyncな処理を同様のコードフローで扱うためのUtilityライブラリ。
map、compose、pluckなど LodashやRamdaによく似たAPIを持つライブラリ。


garris/BackstopJS: Catch CSS curve balls.

github.com/garris/BackstopJS

CSS testing library Tools

CSSのリグレッションテストツール。
ヘッドレスブラウザでレンダリングして、描画結果の違いをテストできる


書籍関係


Introduction · React

chrisnoring.gitbooks.io/react/content/

React book

ReactやRedux、MobXなどについての電子書籍


The GraphQL Guide

graphql.guide/

GraphQL book

GraphQLについての書籍


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