Fork me on GitHub

2020-04-28のJS: Node.js 14.0.0、Got 11.0.0、Cost of JavaScript Frameworks

Edit on GitHub 編集履歴を見る

JSer.info #485 - Node.js v14.0.0がリリースされました。

Node.js 14は2020-10-20にLTSとなる予定のメジャーバージョンです。

V8 8.1へアップデート、クラッシュレポートなどを取得できるDiagnostic ReportがStableに、fs/promisesの追加などが行われています。
またExperimentalとしてWASIのサポート、ECMAScript ModulesのExperimental Warningの削除(警告が出なくなっただけでStabilityはExperimental)なども行われています。


Node.js向けのHTTPクライアントであるGot 11.0.0がリリースされました。

Electronのnetモジュールのサポートを終了し、Pagination APIがStableとなっています。
また、オプトインですがHTTP/2のサポートが行われています。

その他には、agentオプションをhttp/https/http2と個別に指定できるようになり、
dnsCacheオプションの設定方法の変更などが行われています。


The Cost of Javascript Frameworks - Web Performance Consulting | TimKadlec.comという記事では、HTTP Archiveデータを使ってフレームワークを利用しているサイトのメトリクスを比較しています。

jQuery、Vue、Angular、Reactを使っているサイトのファイルサイズ、モバイル/デスクトップでのCPU消費時間などのメトリクスをパーセンタイルで比較しています。
また複数のライブラリを組み合わせているサイト(主にjQuery+別のフレームワーク)と単独のフレームワークを使っているサイトでの傾向の違いについても書かれています。
React単独のサイトではJavaScriptが使用するメインスレッドのCPU処理時間のゆらぎが増える傾向についても触れています。


[PR] JavaScript Primerを発売開始しました

JavaScript Primerの書籍版が出版され、購入できるようになりました。

詳しくは次の記事で解説しています。


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

JSer.info Sponsors

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


ヘッドライン


Release v11.0.0 · sindresorhus/got

github.com/sindresorhus/got/releases/tag/v11.0.0

node.js library ReleaseNote

Node.js向けHTTPクライアントのGot 11.0.0リリース。
HTTP2をオプトインでサポート。
electron.netのサポート終了、Pagination APIがStableに、got.streamencodingオプションの変更、dnsCacheオプションの変更など


Node v14.0.0 (Current) | Node.js

nodejs.org/en/blog/release/v14.0.0/

node.js ReleaseNote

Node.js 14.0.0リリース。
V8 8.1へアップデート、Diagnostic ReportがStableに、fs/promisesの追加など。
ExperimentalとしてWASIのサポート、ECMAScript ModulesのExperimental Warningの削除など


Release 1.0.0 · markedjs/marked

github.com/markedjs/marked/releases/tag/v1.0.0

Markdown library ReleaseNote

Markdownパーサ、コンパイラのmarked 1.0.0リリース。
marked.useでパーサに対してカスタマイズ処理ができるように


ESLint v7.0.0-rc.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2020/04/eslint-v7.0.0-rc.0-released

ESLint ReleaseNote

ESLint v7.0.0-rc.0リリース。
非同期処理の対応をした新しいESLint APIの追加、Node関係のルールはeslint-plugin-nodeが扱うためコアに含まれるNode関係のルールを非推奨化。
エラーレポート位置情報の修正など


Release 10.0.0 · highlightjs/highlight.js

github.com/highlightjs/highlight.js/releases/tag/10.0.0

JavaScript library ReleaseNote

シンタックスハイライトライブラリのhighlight.js 10.0.0リリース。
コードベースをES2015に変更しIEのサポート終了。
before:highlightafter:highlight プラグインAPIの追加、それぞれの言語にname属性を追加など


Release Notes for Safari Technology Preview 105 | WebKit

webkit.org/blog/10428/release-notes-for-safari-technology-preview-105/

safari webkit ReleaseNote

Safari Technology Preview 105リリース。
仕様に準拠してtype=modulecross-originのデフォルト値をanonymousに変更。
Stage 3のES Proposalであるproposal-logical-assignmentを実装など


アーティクル


node-fetch v3 beta is out! - Antoni Kepinski - Medium

medium.com/@kepinski/node-fetch-v3-beta-is-out-9fbb8091999

node.js HTTP article

node-fetch 3の変更予定について。
Node.js 10未満のサポート終了、browserフィールドの削除、res.textConverted()の削除。
Data URLのサポート、Blobの実装、UTF8 URLハンドリングの改善、highWaterMarkオプションの追加など


The Cost of Javascript Frameworks - Web Performance Consulting | TimKadlec.com

timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-frameworks/

browser JavaScript performance article

HTTP Archiveのデータを元にjQuery、Vue、Angular、Reactを使っているサイトでのメトリクスの比較について。
それぞれのライブラリを利用しているサイトのファイルサイズ、モバイル/デスクトップでのCPU消費時間について。
またjQueryと組み合わせているサイトとそうでないサイトの比較。
React単独のサイトではメインスレッドのCPU処理が増える傾向について


A Taste of WebGPU in Firefox - Mozilla Hacks - the Web developer blog

hacks.mozilla.org/2020/04/experimental-webgpu-in-firefox/

WebGL WebGPU Firebug

WebGPUについての記事。
WebGLとWebGPUの違い、コンテキストの分離、パイプラインの状態のカプセル化、バインディングモデルについて。
またFirefoxのWebGPU実装について


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


zeit/swr: React Hooks library for remote data fetching

github.com/zeit/swr

React library Fetch

データの取得を扱うReact Hooksライブラリ。
データの取得、リトライ、mutateによる再取得、定期的な取得、SSRの対応、Suspenseの対応など


developit/web-worker: Consistent Web Workers in browser and Node.

github.com/developit/web-worker

JavaScript node.js browser webworker library

UniversalなWebWorkerライブラリ。
Node.jsのworker_threadsとブラウザのWorkerに対応している。


ezhmd/opencv-wasm: Precompiled OpenCV 4.3.0 to JavaScript + WebAssembly for node.js environment

github.com/ezhmd/opencv-wasm

WebAssembly graphic library

OpenCV.jsのWebAssemblyビルドをパッケージとして配布しているライブラリ


bikeshaving/crank: Write JSX-driven components with functions, promises and generators.

github.com/bikeshaving/crank

JavaScript library React

ReactのようにJSXでコンポーネントを扱うライブラリ。
非同期コンポーネントをPromiseとGeneratorを使って扱えるようにしている。


mohebifar/vidact: A compiler that converts React-compatible codes to VanillaJS with no Virtual DOM

github.com/mohebifar/vidact

babel React JavaScript library

ReactライクなコードをプレーンなJavaScriptに変換するコンパイラとランタイム。
Svelteと似たコンセプトで、Babelプラインとして実装したコンパイラでReact/JSXなコードを同等のDOM表現に変換する目的


lukeed/rosetta: A general purpose internationalization library in 292 bytes

github.com/lukeed/rosetta

JavaScript i18n library

シンプルなローカライズライブラリ


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