JSer.info #214 - ついにNode v0.12.0がリリースされました。
最近ではforkであるio.js v1.1.0がリリースされたりしていますが、Nodeも久々のメジャー?アップデートがされました。
どのような変更があったかは以下を読むといいと思います。
JavaScript ASTパーサであるEsprima 2.0がリリースされました。
Esprima 2.0では今まで"Harmony"ブランチで開発されていたES6のサポートがマージされています。
React Tools等で使われているEsprima-FBはこの"Harmony"ブランチベースにJSXやFlow対応を入れたものといえば、どの程度ES6がサポートされてるかがわかるかもしれません。
2.0リリース直前に最近のASTパーサの動きというスライドにJavaScript ASTの現状をまとめたのでこちらを見てみると関係性がわかるかもしれません。
また、今まではGoogle CodeのIssueがメインでしたが、下記にあるようにGitHub Issueを積極的に使うようになり、Maintainer's Guide · jquery/esprima Wikiというガイドラインも設けられています。
Note that the project is now using GitHub for issues rather than Google Code.
EsprimaはjQuery Foundationに移管されていますが、開発者でもあるariyaさんが最近は多くコミットしてるので、今後の動きに注目な感じです。
CSS Reference | CodropsというCSSリファレンスサイトが公開されています。
Is it “the new MDN”?
-- I Wrote A CSS <del>Book</del> Reference.
著者である@SaraSoueidanのブログにも書かれていますが、リファレンスというよりもCSSというテーマに対するブログ記事の集合のようになっています。
そのためそれぞれの項目がかなり詳しく書かれていて、リファレンス+具体例+読み物のような内容になっています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v0.12.0 (Stable)
blog.nodejs.org/2015/02/06/node-v0-12-0-stable/
Node v0.12.0リリース。
Streams 3、maxSocketsのデフォルト値がInfinityになった、spawnSync/execSyncの追加、ECMA i18n APIのサポートなど
- StrongLoop | What’s New in io.js 1.0 Beta? – Streams3
- Stream今昔物語 - from scratch
- Node-v0.12の新機能について
- StrongLoop | Node.js v0.12 is Now Available With Improvements to Clustering and Performance
- Node.js v0.12 がリリースされました。 - from scratch
io.js/CHANGELOG.md at v1.1.0 · iojs/io.js
github.com/iojs/io.js/blob/v1.1.0/CHANGELOG.md
io.js 1.1.0リリース。
cryptoのパフォーマンス改善、エラーメッセージを作るときにJSON.stringify()
だと循環参照でエラーとなるため、util.inspect()
を使うように変更された
- DailyJS | Node 0.11.16 と io.js 1.1.0 がリリース | JSお散歩
- assert: use util.inspect() to create error messages by cjihrig · Pull Request #668 · iojs/io.js
- iojs-jp/2015-02-06.md at master · iojs/iojs-jp
Scala.js no longer experimental | The Scala Programming Language
scala-lang.org/news/2015/02/05/scala-js-no-longer-experimental.html
Scala.js v0.6.0リリース
Ember.js - Ember.js 1.10.0 and 1.11 Beta Released
emberjs.com/blog/2015/02/07/ember-1-10-0-released.html
Ember.js 1.10.0と1.11βリリース。
1.10でHTMLBarsをテンプレートエンジンとして利用するようになった
Releases · google/closure-compiler Wiki
github.com/google/closure-compiler/wiki/Releases#february-2-2015-v20150126
closure-compiler v20150126リリース。
TypeScript的な型アノテーションのサポートを開始、ES6のサポート改善
Release 0.11.5 · yyx990803/vue
github.com/yyx990803/vue/releases/tag/0.11.5
Vue.js 0.11.5リリース。
Vue.nextTick
でMutationObserverが使える時は使うように、v-with
で親子間でバインディングが働くように
ESLint 0.14.0 released - ESLint
eslint.org/blog/2015/02/eslint-0.14.0-released/
ESLint 0.14.0リリース。
Arrow Functionのサポート、インデントルールの追加(JSCSからのポート)
WebStorm 10 EAP | JetBrains WebStorm Blog
blog.jetbrains.com/webstorm/2015/02/webstorm-10-eap/
WebStorm 10 EAPリリース。
JavaScriptサポートの改善、spy-jsが多段SourceMapに対応しAltJSなどでも元ソースへジャンプできるように、Firefoxでのデバッグに再対応
flow/Changelog at v0.2.0 · facebook/flow
github.com/facebook/flow/blob/v0.2.0/Changelog
Flow v0.2.0リリース。
Esprima 2.0 Released | Official jQuery Blog
blog.jquery.com/2015/02/06/esprima-2-0-released/
jQuery Fundationに移管したEsprimaのVer 2.0がリリース。
"harmony"ブランチをマージしたリリースとなりES6の機能を多く含んでいる。
また、IssueのメインがGoogle CodeからGitHubへ移行した。
harmony:specification_drafts [ES Wiki]
wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#february_2_2015_draft_rev_32
ES6 Draft Rev 32リリース。
class syntax周りの記述の更新が中心。
classで定義されたmethodがnon-enumerableに変更。
アーティクル
Google SoundScript: faster OOP for JavaScript
www.2ality.com/2015/02/soundscript.html
JavaScriptエンジンのHidden class等の典型的な最適化とSoundScriptについて。
SoundScriptは最適化が効きやすいようなstrict modeの拡張的な話
ES6時代のJavaScript - クックパッド開発者ブログ
techlife.cookpad.com/entry/2015/02/02/094607
ES6で入る機能や構文の一部を紹介する記事。
具体的にどういう目的で使うかについて書かれてる。
Variables and scoping in ECMAScript 6
www.2ality.com/2015/02/es6-scoping.html
letやconstのスコープやconstでのimmutableデータの扱いについて。
constとObject.freeze、TDZ、デフォルトパラメータとスコープ、グローバル空間でのvar/functionとlet/const/classの違いについて
Temporal Dead Zone (TDZ) demystified - ES6 Rocks
es6rocks.com/2015/01/temporal-dead-zone-tdz-demystified/
ES6のTDZ(Temporal Dead Zone)について。
ES6ではlet
によりlexical scopeが増えた、またvar
と違い変数宣言は巻き上げされないため、宣言より前方などには変数にアクセスできない領域(TDZ)が存在する事について
Tech — Switching from immutable.js to seamless-immutable
noredinktech.tumblr.com/post/107617838018/switching-from-immutable-js-to-seamless-immutable
immutable.jsは専用のオブジェクトになるため、既存のライブラリと連携がしにくい、またAPIも独特。
その辺を扱いやすく使えるseamless-immutableというライブラリについて
BroadcastChannel API in Firefox 38 ✩ Mozilla Hacks – the Web developer blog
hacks.mozilla.org/2015/02/broadcastchannel-api-in-firefox-38/
BroadcastChannelについて。
タブやウィンドウをまたぎsame origin間でメッセージングでやり取りするAPI。
Measuring Client-side JavaScript Test Coverage With Istanbul | Quick Left
quickleft.com/blog/measuring-clientside-javascript-test-coverage-istanbul/
mocha-phantomjs + istanbulでコードカバレッジを取る方法について
Muscula/json-schema-benchmark
github.com/Muscula/json-schema-benchmark
JSONスキーマバリデーターのベンチマーク比較。
スライド、動画関係
VOYAGE GROUP エンジニアブログ : 今、クライアントサイドのJavaScriptを書く前に知っておきたいこと ~ 2014年トレンド総まとめ
tech.voyagegroup.com/archives/8046369.html
2014年のJavaScriptのパラダイムの変化についてまとめられたスライド。
AltJSとES6、非同期処理、モジュールパッケージ管理とビルドツール、テスト、ライブラリについて
サイト、サービス
CSS Reference | Codrops
tympanus.net/codrops/css_reference/
CSSのリファレンスサイト。
擬似クラスやプロパティ、Flexboxといったコンセプトや@mediaなどのruleなどそれぞれ詳しく書かれていて網羅的
Try Flow online — Typechecker for Javascript by Facebook
Flowによる型チェックをオンラインで試せるサイト
ソフトウェア、ツール、ライブラリ関係
NativeScript for Cross-Platform Native App Development with JavaScript
JavaScript + CSS + XMLを使ったクロスプラットフォームなモバイルアプリを開発できるツール
jareware/flotate
FlowTypeの型アノテーションをコメントで書けるようにするツールとライブラリ
CSS polyfills from the future | GSS
CSSのGrid Layoutを扱うCSS preprocessor。CocoaのAutoLayoutのVisual Format LanguageみたいなVisual Grid Languageを持ちGridを扱う。
js-data/js-data
データストア部分をadapterで変更出来るモデルライブラリ。
observe-jsを使ってdirtyチェックをするため、特別なgetter/settterなしでバインディングを行える。
Ember DataのようなREST APIをバックエンドとするhttp adapterも持っている。
voronianski/flux-comparison
github.com/voronianski/flux-comparison
FluxライブラリのTodoMVCみたいな感じのサンプル実装集。
オンラインショップカートをサンプルケースとして実装されてる
jquense/react-widgets
github.com/jquense/react-widgets
Reactを使ったUI widgets。
カレンダーやドロップダウンリスト等のUIコンポーネント集
書籍関係
Make: JavaScript Robotics - O'Reilly Media
shop.oreilly.com/product/0636920031390.do
JavaScriptとハードウェアの組み合わせについての書籍