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: Scriptable Headless Browser
- Archiving the project: suspending the development · Issue #15344 · 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をおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub 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 Technology Preview Release 58リリース。
Safari 12相当の機能が含まれている。
Release v6.1.0 · npm/npm
github.com/npm/npm/releases/tag/v6.1.0
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 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
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
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/
yarn 1.7.0でpackage-lock.json
をyarn.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 16.3で導入されたgetDerivedStateFromProps
のケーススタディ。
getDerivedStateFromProps
はpropsの変化を元にstateを更新するために利用する。どのような時に利用するべきか、しないべきかについて
Flow から TypeScript に移行しました - てくすた
texta.pixta.jp/entry/2018/06/07/120000
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/
Navigation TimingとResource Timingについて。
それぞれのAPIの使い方や取得できるデータの意味、クロスオリジンのリソースのTiming-Allow-Origin
ヘッダによる対応。
またRUMのデータとして集める場合のデータの送信方法としてnavigation.sendBeacon
の使い方やfailbackについてなど
これからpjaxを使う人に知っておいてほしいこと – Design Report – デザインレポート
glitter-style.jp/labo/web-resource/master-the-pjax/
pjaxについての連載記事。
pjaxの動作原理や利点、代表的な実装方法、利用する際の注意点、イベント管理、メモリリークの問題など、設計について書かれている
Almin 0.17リリース – executeの型付け、新しいReact Contextのサポート | Web Scratch
efcl.info/2018/06/11/almin-0.17/
Almin 0.17リリース。
TypeScriptでexecute
の引数の型チェックができるように、React Context APIを使ったモジュールの公開、ファイルサイズの削減など
Deprecating cssnext
moox.io/blog/deprecating-cssnext/
cssnext
がdeprecatedとなり、postcss-preset-env
の利用が推奨されるようになった。
マイグレーション方法や違いについてなど
2018 年の tree shaking | 株式会社カブク
www.kabuku.co.jp/developers/tree-shaking-in-2018
Tree Shakingと呼ばれるビルドの最適化がどのように行われるかについて。 webpackにおいてES modulesで書いてもTree Shankingされない場合について。 またRxJsでの例など
PhantomJSの開発が終了しリポジトリがアーカイブ化された - JSer.info
jser.info/2018/06/11/phantomjs-ended/
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の作成者であるryによるNode.js初期のデザインミスついての発表。
またTypeScriptのruntimeとして作成してるDenoの紹介。
Denoのゴールはsandbox firstのセキュリティ、モジュールシステムの簡素化、ブラウザとの互換性など
JSConf EU 2018 - YouTube - YouTube
www.youtube.com/playlist?list=PL37ZVnwpeshG2YXJkun_lyNTtM-Qb3MKa
JSConf EU 2018の動画まとめ
ソフトウェア、ツール、ライブラリ関係
WaldoJeffers/conductor: Mix both synchronous and asynchronous code without hassle
github.com/WaldoJeffers/conductor
syncとasyncな処理を同様のコードフローで扱うためのUtilityライブラリ。
map、compose、pluckなど LodashやRamdaによく似たAPIを持つライブラリ。
garris/BackstopJS: Catch CSS curve balls.
CSSのリグレッションテストツール。
ヘッドレスブラウザでレンダリングして、描画結果の違いをテストできる
書籍関係
Introduction · React
chrisnoring.gitbooks.io/react/content/
ReactやRedux、MobXなどについての電子書籍
The GraphQL Guide
GraphQLについての書籍