Fork me on GitHub

2018-06-25のJS: Node.js 10.5.0 Workerサポート、ESLint 5.0.0、AirbnbとReact Native

Edit on GitHub 編集履歴を見る

JSer.info #389 - Node.js 10.5.0がリリースされました。

この中で--experimental-workerの試験的なフラグ付きでworker_threadsモジュールが利用できるようになっています。
このWorker Threadsについては次のPRとFAQでまとめられています。

現在は、1 Worker Thread = 1 Threadとなっていることや、現在はMessageChannel APIに沿った作りとなっていること、Transferring dataやSharedArrayBufferをサポートしていることなどについて書かれています。


ESLint 5.0.0がリリースされました。

ESLint 4.xから具体的な変更点やマイグレーション方法については次のページにまとめられています。

Node.js 4のサポート終了、eslint:recommendedの更新、ルールのデフォルトオプションの変更、Lint対象がないときにfatal errorとなるように変更されています。
また、ルールを作成する側のAPIなども一部変更がはいっています。


React Native at Airbnb – Airbnb Engineering & Data Science – Medium日本語訳)という一連の記事ではAirbnbでReact Nativeを使った結果について書かれています。

Airbnbでは、開発速度、品質、クロスプラットフォーム対応、開発者の体感を良くするのを目的にReact Nativeを使ったアプリを開発した経験と結果について5パートに分けた記事が書かれています。

  1. React Native at Airbnb/日本語訳
  2. React Native at Airbnb: The Technology /日本語訳
  3. Building a Cross-Platform Mobile Team/日本語訳
  4. Sunsetting React Native/日本語訳
  5. What’s Next for Mobile at Airbnb/日本語訳

React Nativeの技術的解説、上手くいった点、上手くいかなかった点。
クロスプラットフォームアプリ開発の技術的/組織的な難しさなどから、当初の目標を達成できなかったためAirbnbではReact Nativeからネイティブに移行するという決断をした話。
また、Airbnbが採用したReact Nativeのアプローチ(ハイブリッドモデル)からくる問題とアプローチによってはまた異なる結果になるだろうという話。

最後のパートではAirbnbでの"次の"モバイル開発に向けてのコンポーネントや手法など将来の予定について書かれています。


ヘッドライン


V8 JavaScript Engine: V8 release v6.8

v8project.blogspot.com/2018/06/v8-release-68.html

V8 ReleaseNote

V8 v6.8リリース。
関数自身が外の関数の不要な情報を持っていたのをリファクタリングしてメモリの改善。
Object.assignをC++からJSの実装に変更してパフォーマンス改善、TypedArray.prototype.sortのパフォーマンス改善など


Node v10.5.0 (Current) | Node.js

nodejs.org/en/blog/release/v10.5.0/

node.js ReleaseNote

Node.js 10.5.0リリース。
fs.statなどがBigIntをサポート、--experimental-workerのフラグ付きでWorkerのサポートなど


Release Notes for Safari Technology Preview 59 | WebKit

webkit.org/blog/8332/release-notes-for-safari-technology-preview-59/

safari ReleaseNote

Safari Technology Preview 59リリース。
ITP 2.0への更新、Web Animationsのデフォルト有効化。
ES ProposalのSymbol.prototype.descriptionのサポート、BitIntの実装など


ESLint v5.0.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2018/06/eslint-v5.0.0-released

ESLint ReleaseNote

ESLint 5.0.0リリース。
Node.js 4のサポート終了、eslint:recommendedの更新、ルールのデフォルトオプションの変更、Lint対象がないときにfatal errorとなるように。
プラグイン周りの変更など


Announcing winston@3.0.0! — GoDaddy Open Source Center

godaddy.github.io/2018/06/12/announcing-winston-3/

node.js library ReleaseNote

ロガーライブラリであるwinston 3.0.0リリース。


アーティクル


React Native at Airbnb – Airbnb Engineering & Data Science – Medium

medium.com/airbnb-engineering/react-native-at-airbnb-f95aa460be1c

React ios Android JavaScript article

AirbnbでのReact Nativeについて。
React Nativeの技術的解説、上手くいった点、上手くいかなかった点。
クロスプラットフォームアプリ開発の技術的/組織的な難しさなどから、当初の目標を達成できないためAirbnbではReact Nativeからネイティブに移行するという話。


社内勉強会TechLunchで"JavaScript ASTことはじめ"という発表をしました - Medley Developer Blog

developer.medley.jp/entry/2018/06/22/130000

JavaScript AST article

JavaScriptのASTやAST Explorerの使い方について


Understanding Jest Mocks – Rick Hanlon II – Medium

medium.com/@rickhanlonii/understanding-jest-mocks-f0046c68e53c

JavaScript testing article

jestのmock機能について解析。
jest.mockjest.spyなどについて


react-ideal-image/introduction.md at master · stereobooster/react-ideal-image

github.com/stereobooster/react-ideal-image/blob/master/introduction.md

JavaScript React article

react-ideal-imageの画像表示の実装について。
Lazy Loading、プレースホルダー、LQIP、レスポンシブ、アダプティブな表示方法について解説している。


スライド、動画関係


The Critical Request - Speaker Deck

speakerdeck.com/benschwarz/the-critical-request

browser performance slide

First Meaningful Paintまでに必要なリソースへのリクエストと優先度についてのスライド。
preloadなどによるwebfontの読み込み改善について


Automated Dependency Updates with Renovate

www.slideshare.net/teppeis/automated-dependency-updates-with-renovate-102769685

JavaScript npm slide

リポジトリが依存するパッケージのバージョン更新をRenovateを使って自動化することについてのスライド。


Redux Refactoring Patterns with @ngrx/platform - Speaker Deck

speakerdeck.com/gregonnet/platform

redux Angular リファクタリング slide

ngrxについてのスライド。
Reduxのパターン、switch-caseのパターンとFactoryパターン、どのようにStateを扱うかについて


サイト、サービス、ドキュメント


Progressive web apps - App Center | MDN

developer.mozilla.org/en-US/Apps/Progressive

PWA tutorial

MDNのPWAチュートリアルガイド


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


Microsoft/license-checker-webpack-plugin: Webpack plugin that verifies licenses of all external dependencies in a compilation, and outputs them to a file.

github.com/Microsoft/license-checker-webpack-plugin

webpack license

利用してるライブラリのライセンスチェックやまとめたライセンスファイルを生成するwebpackプラグイン


Simonwep/pickr: Flat, simple and hackable Color-Picker. No dependencies, no jQuery. Compatible with all CSS Frameworks e.g. Bootstrap, Materialize.

github.com/Simonwep/pickr

color JavaScript UI library

依存のないカラーピッカーライブラリ


書籍関係


Amazon.com: Mastering JavaScript Design Patterns - Third Edition: Create scalable and reliable applications with advanced JavaScript Design Patterns using reliable code. eBook: Tomas Corral: Kindle Store

www.amazon.com/dp/B07D6LQNK3/

JavaScript book

2019年1月9日発売
Mastering JavaScript Design Patternsの第3版


動かしながらさくっと身につく 今こそホンキで覚えるJavaScript[JS/ES2016対応] | 狩野 祐東 |本 | 通販 | Amazon

www.amazon.co.jp/dp/4802611242/

JavaScript book

2018年7月17日発売


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