JSer.info #416 - WebDriverを扱うテストフレームワークであるWebdriverIO v5がリリースされました。
パッケージ構造やAPI周りの変更が行われています。
基本的なパッケージが@wdio
に移動され、同梱されていたCLIが@wdio/cli
に移動しています。
API周りではコマンドがselectorを受け取らないようになり、メソッドチェーンではなくasync/awaitベースに変更されています。
// v4ではセレクタを渡せた
browser.click('#elem')
// v5からはelementを取得してから操作する
const elem = $('#elem')
elem.click()
その他にもisVisible
がisDisplayed
にリネームされるなど多くのコマンドのリネームが行われています。
詳しくはCHANGELOG.mdに掲載されています。
モジュールBundlerであるRollup v1.0.0がリリースされました。
破壊的な変更として、非推奨となっていたオプションやオプションのリネームが含まれています。
bundle.generate
とbundle.write
の返す値のフォーマットの変更、acorn@6
へアップデートなどが行われています。
Comlink + Rust で言語とスレッドの垣根を越えた WebAssembly 開発 - Qiitaという記事では、Zip展開アプリの例にしたRustとWebAssemblyを使った開発について書かれています。
Rustやwasm-packを使った開発環境の設定から、wasm-bindgenでRustとJavaScriptのバインディングの作成、webpackでの読み込みとブラウザでの実行についてまで書かれています。
また、メインスレッドで重たい処理を行うのを避けるために、WebAssemblyの処理をWebWorker上で行い、そのメッセージのやり取りにComlinkを使う方法などについても紹介されています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
WebdriverIO v5 Released · WebdriverIO
webdriver.io/blog/2018/12/19/webdriverio-v5-released.html
WebdriverIO v5リリース。
wdio
CLIは@wdio/cli
に移動、コマンドがselectorを受け取らないように、メソッドチェーンではなくasync/awaitベースに変更。
その他にもコマンドのリネームなどの破壊的な変更を多く含む
Release v1.0.0 · rollup/rollup
github.com/rollup/rollup/releases/tag/v1.0.0
Rollup 1.0.0リリース。
破壊的な変更としてオプションのリネーム、bundle.generate
の返す値のフォーマットの変更、acorn@6
へアップデートなど
アーティクル
「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える!
employment.en-japan.com/engineerhub/entry/2018/12/26/103000
GraphQLの入門記事。
GraphQLの利点、欠点、スキーマ/クエリの書き方、VariableやFragmentの使い方について。
またRelayの拡張や実際にGraphQLを使った実装例についてなど
Understanding Throttling and Debouncing – Bits and Pieces
blog.bitsrc.io/understanding-throttling-and-debouncing-973131c1ba07
ThrottlingとDebouncingについてそれぞれを実装しながら挙動を理解していく記事
Comlink + Rust で言語とスレッドの垣根を越えた WebAssembly 開発 - Qiita
qiita.com/3846masa/items/92d24e16ebb5151b08ba
Rustを使ったWebAssemblyライブラリの開発について。
Rustを使ったwasmのバインディングの作成、webpackを使ったロード方法について。
また、処理をメインスレッド外のWebWorkerで行いComlinkでのデータのやり取りする方法について
Babel 7 の主な変更点まとめ - Qiita
qiita.com/soarflat/items/21b8955f992bf7d38581
Babel 7の主な変更点やマイグレーション方法について
基礎からはじめるReact Native入門連載一覧:CodeZine(コードジン)
codezine.jp/article/corner/772
React Nativeについての連載記事。
ECMAScript modules in Node.js: the new plan
2ality.com/2018/12/nodejs-esm-phases.html
Node.jsにおけるES Modulesの扱いについてのまとめ記事。
.mjs
のサポートについてやCommonJSとの相互運用性の問題、今後どのような方針が予定されているのかについて
JavaScriptとWeb開発に関するInfoQトレンドレポート
www.infoq.com/jp/articles/javascript-web-development-trends
InfoQのJavaScriptに関するトレンドレポート。
イノベーター、アーリーアダプター、アーリーマジョリティ、レイトマジョリティ、ラガードに分けて関連するライブラリ/フレームワーク/ツールについて紹介している。
TypeScriptで実現する型安全な多言語対応(Angularを例に) | 株式会社カブク
www.kabuku.co.jp/software_engineer/typescript-angular-i18n/
翻訳ファイルをTypeScriptのコードとして表現することで型安全な翻訳定義を作成する方法について。
翻訳ファイルをコードにするメリットとデメリットについてなど
takefumi-yoshii/react-hooks-ogiri: Advent calendar of 2018. This is a showreel using a reaction hook.
github.com/takefumi-yoshii/react-hooks-ogiri
React Hooks APIを使ったUIコンポーネントのサンプル実装集
ソフトウェア、ツール、ライブラリ関係
FontoXML/fontoxpath: A minimalistic XPath 3.1 implementation in pure JavaScript
github.com/FontoXML/fontoxpath
XPath 3.1、XQuery 3.1の実装ライブラリ
jsincss | A JS-in-CSS stylesheet loader
JavaScriptからテンプレートでCSSを生成でき、イベントによってリアクティブにCSSを変更できるライブラリ。
プラグインで拡張できるようになっている。
BabelEdit - Editor for JSON translation files for Angular & React
JSONベースの翻訳ファイルエディタ。
AngularやReactとの連携としたワークフローが紹介されている