Fork me on GitHub

2014-04-29のJS: Firefox29、Promises、ES6へ向けて

Edit on GitHub 編集履歴を見る

JSer.info #172 - Firefox 29がリリースされました。 UI的にも大きな変更がありますが、ES6 PromisesやSharedWorker、ECMAScript i18n APIの実装など追加されています。 特にWebWorker内からconsoleに触れるようになったり、worker周りの変更が色々あるみたいです。

またオプションの変更が必要ですがCSS variablesの実装等もされています


Firefox29、Chrome35で実装されているES6 PromisesのpolyfillであるES6-Promisesも1.0.0がリリースされて、結構前にあったES6の仕様変更に追従されています。(ES6 PromisesのAPIの変更はもうないと思います)

また、Angularでは2.0に入れるPromisesを使った実装がについてのデザインとDIの仕組みがAngular 2.0 Deferred/Promiseで進められています。(1.xでは$qというのがそれ)

Node.js 0.12でもV8経由でPromisesが入るので、この機会に触ってみるといいかもしれませんね。

自分の方でも、ES6 PromiseについてPromises book(仮)というものを書いています。

基本的な使い方の部分については大体書いたので、その辺については参考になるかもしれません。

今は最終章を進めてるのでそれが終わったら細かいところを直していきます。 (結構勢いで書いてる部分も多いので、修正Pull Requests待ってます!)


Regenerator, AST, and ES6 at Facebook で公開されている動画スライドでは、JavaScript ASTを使った変換ツール、またそれを社内でどう運用するか等について話されています。

facebookでのJavaScriptにおいて、オレオレクラスとLintツールと解説を用意して運用しても、だれも解説を読まないし、オレオレクラスについて学ぼうとは思わないとなった。

そのため、ES5でES6のようなもの(オレオレclass)を書くのではなく、ES6で書いたものをES5に変換して運用した方がよりシンプルで人間やツールにとっても優しい という話など結構踏み込まれた内容が話されています。

また、発表者はregeneratorの作者でもありますが、そのような難しいサイドプロジェクトをするモチベーションフィードバックを受けやすくするにはどうするか等についても話されていてJavaScript関係なく参考になる話が多いです。


ヘッドライン

firefoxReleaseNote

Firefox29リリース。

box-sizingがunprefixに、ECMAScript i18n APIの実装、ES6 Promises、SharedWorker、webworkerから扱えるものが増えた、Gamepad APIが有効に

jQueryUIReleaseNote

jQuery UI 1.11.0βリリース

IE7のサポート終了、ワークアラウンドはまだ残ってるけど1.12でコードベースから削除される

jQueryReleaseNote

jQuery 1.11.1 RC2と2.1.1 RC2リリース。

JavaScriptlibraryReleaseNote

Vue.js 0.10.4リリース

JavaScriptPromisesReleaseNote

ES6 Promisesのpolyfillライブラリであるes6-promise 1.0.0リリース。

ES6の仕様に追従した変更としてcastがなくなり、resolveを使うようになった

アーティクル

IEdebugTools

IE11のDevToolsのアップデート内容について。

CSSの変更履歴の表示、SourceMapの対応、デバッグ対象のフィルタリング、メモリリーク等を見つけられるスナップショット機能等

JavaScript翻訳

http://bredele.github.io/async/ の翻訳。

非同期処理のパターンについて

JavaScript

Proxy APIについて。 Proxyを使ってObject.sealやpreventExtensionsみたいなプロパティアクセスの制御

画像SVGfonts

アイコンフォントとインラインSVの比較。

IE+9/Android3+ならSVGを使う方が良いとこの話

JavaScript関数型プログラミング

JavaScriptで関数型スタイルを取るときに気をつけるべきこと。

Immutableにするためにコピーが必要なこと、末尾最適化がないためトランポリン、関数合成と部分適応について

スライド、動画関係

node.jsスライド

Node.js 0.12についてのスライド。

ES6の機能の追加、Stream3(又stream1,2の問題点)、動機child_process、beforeExitイベント、新しいvmモジュールについて等

ECMAScriptJavaScriptスライド

ES6の機能を実際に実行しながら紹介してるスライド。

実際に今使う方法としてTraceur、es6fyについて

JavaScriptスライド

JavaScriptの非同期処理のスライド。

Async+コールバックのウォーターフォールな書き方。

Promiseを使って行う場合に、コールバックスタイルをPromiseに変換、既存の関数を利用する方法について。

Generator、thunk、coを使った方法に ついてバランスよくまとまってる。

コールバックベースの関数をPublic APIとして用意して、自分orチームに最適な方法を選んで使うという方針についても書かれてる

JavaScriptAST動画スライド

regeneratorの作者(Facebook社)によるJavaScript ASTによる変換についてのスライド。

ES6 -> ES5の変換の仕組みやfacebook.com内のコードの置き換えた結果やそこから学んだ事について。

変換ツールを運用する際のTipsについても書かれてる。

React、regeneratorの変換、動作の仕組みについて。

また何故このような難しいものをサイドプロジェクトとしてやっているのかについて話されてる。

JavaScript動画イベント

MountainWest JavaScript 2014の動画が公開された。

http://mtnwestjs.org/2014/

サイト、サービス

githubJavaScriptCSScolor

GithubのJavaScriptとCSSの色が変更された。

JSConf color と bootstrapc color

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

JavaScriptPromisestestinglibrary

Promisesを使ったDeferred(主にDIのため)

PromiseMockという同期的にPromise APIのテストをするためのモジュールと、Promiseをモックに置き換えるzoneを提供するPromiseBackendの構成。

JavaScriptPromiseslibrary

underscoreのpromises版みたいなライブラリ。

JavaScriptMozillalibrary

Mozillaのサービス等で使ってるJavaScriptテンプレートエンジン。

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