Fork me on GitHub

2015-02-09のJS: Node v0.12.0、Esprima 2.0、CSS Reference

Edit on GitHub 編集履歴を見る

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というテーマに対するブログ記事の集合のようになっています。
そのためそれぞれの項目がかなり詳しく書かれていて、リファレンス+具体例+読み物のような内容になっています。


ヘッドライン


Node v0.12.0 (Stable)

blog.nodejs.org/2015/02/06/node-v0-12-0-stable/

node.js ReleaseNote

Node v0.12.0リリース。
Streams 3、maxSocketsのデフォルト値がInfinityになった、spawnSync/execSyncの追加、ECMA i18n APIのサポートなど


io.js/CHANGELOG.md at v1.1.0 · iojs/io.js

github.com/iojs/io.js/blob/v1.1.0/CHANGELOG.md

node.js ReleaseNote

io.js 1.1.0リリース。
cryptoのパフォーマンス改善、エラーメッセージを作るときにJSON.stringify()だと循環参照でエラーとなるため、util.inspect()を使うように変更された


Scala.js no longer experimental | The Scala Programming Language

scala-lang.org/news/2015/02/05/scala-js-no-longer-experimental.html

scala JavaScript

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

JavaScript library ReleaseNote

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

JavaScript ReleaseNote

closure-compiler v20150126リリース。
TypeScript的な型アノテーションのサポートを開始、ES6のサポート改善


Release 0.11.5 · yyx990803/vue

github.com/yyx990803/vue/releases/tag/0.11.5

JavaScript library ReleaseNote

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/

JavaScript Tools ReleaseNote

ESLint 0.14.0リリース。
Arrow Functionのサポート、インデントルールの追加(JSCSからのポート)


WebStorm 10 EAP | JetBrains WebStorm Blog

blog.jetbrains.com/webstorm/2015/02/webstorm-10-eap/

WebStorm ReleaseNote

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

JavaScript Tools ReleaseNote

Flow v0.2.0リリース。


Esprima 2.0 Released | Official jQuery Blog

blog.jquery.com/2015/02/06/esprima-2-0-released/

JavaScript AST library ReleaseNote

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

ECMAScript spec ReleaseNote

ES6 Draft Rev 32リリース。
class syntax周りの記述の更新が中心。
classで定義されたmethodがnon-enumerableに変更。


アーティクル


Google SoundScript: faster OOP for JavaScript

www.2ality.com/2015/02/soundscript.html

JavaScript google AngularJS

JavaScriptエンジンのHidden class等の典型的な最適化とSoundScriptについて。
SoundScriptは最適化が効きやすいようなstrict modeの拡張的な話


ES6時代のJavaScript - クックパッド開発者ブログ

techlife.cookpad.com/entry/2015/02/02/094607

ECMAScript JavaScript

ES6で入る機能や構文の一部を紹介する記事。
具体的にどういう目的で使うかについて書かれてる。


Variables and scoping in ECMAScript 6

www.2ality.com/2015/02/es6-scoping.html

ECMAScript JavaScript

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/

JavaScript ECMAScript

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

JavaScript library

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/

JavaScript WebPlatformAPI

BroadcastChannelについて。
タブやウィンドウをまたぎsame origin間でメッセージングでやり取りするAPI。


Measuring Client-side JavaScript Test Coverage With Istanbul | Quick Left

quickleft.com/blog/measuring-clientside-javascript-test-coverage-istanbul/

JavaScript

mocha-phantomjs + istanbulでコードカバレッジを取る方法について


Muscula/json-schema-benchmark

github.com/Muscula/json-schema-benchmark

node.js JavaScript JSON benchmark

JSONスキーマバリデーターのベンチマーク比較。


スライド、動画関係


VOYAGE GROUP エンジニアブログ : 今、クライアントサイドのJavaScriptを書く前に知っておきたいこと ~ 2014年トレンド総まとめ

tech.voyagegroup.com/archives/8046369.html

JavaScript スライド

2014年のJavaScriptのパラダイムの変化についてまとめられたスライド。
AltJSとES6、非同期処理、モジュールパッケージ管理とビルドツール、テスト、ライブラリについて


サイト、サービス


CSS Reference | Codrops

tympanus.net/codrops/css_reference/

CSS リファレンス

CSSのリファレンスサイト。
擬似クラスやプロパティ、Flexboxといったコンセプトや@mediaなどのruleなどそれぞれ詳しく書かれていて網羅的


Try Flow online — Typechecker for Javascript by Facebook

tryflow.org/

flowtype JavaScript editor

Flowによる型チェックをオンラインで試せるサイト


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


NativeScript for Cross-Platform Native App Development with JavaScript

www.telerik.com/nativescript

JavaScript mobile app

JavaScript + CSS + XMLを使ったクロスプラットフォームなモバイルアプリを開発できるツール


jareware/flotate

github.com/jareware/flotate

JavaScript flowtype Tools

FlowTypeの型アノテーションをコメントで書けるようにするツールとライブラリ


CSS polyfills from the future | GSS

gridstylesheets.org/

CSS

CSSのGrid Layoutを扱うCSS preprocessor。CocoaのAutoLayoutのVisual Format LanguageみたいなVisual Grid Languageを持ちGridを扱う。


js-data/js-data

github.com/js-data/js-data

JavaScript library

データストア部分をadapterで変更出来るモデルライブラリ。
observe-jsを使ってdirtyチェックをするため、特別なgetter/settterなしでバインディングを行える。
Ember DataのようなREST APIをバックエンドとするhttp adapterも持っている。


voronianski/flux-comparison

github.com/voronianski/flux-comparison

Flux library サンプル

FluxライブラリのTodoMVCみたいな感じのサンプル実装集。
オンラインショップカートをサンプルケースとして実装されてる


jquense/react-widgets

github.com/jquense/react-widgets

React UI library

Reactを使ったUI widgets。
カレンダーやドロップダウンリスト等のUIコンポーネント集


書籍関係


Make: JavaScript Robotics - O'Reilly Media

shop.oreilly.com/product/0636920031390.do

JavaScript ハードウェア book

JavaScriptとハードウェアの組み合わせについての書籍


この記事へ修正リクエストをする
記事を紹介する