Fork me on GitHub

2015-02-23のJS: Underscore.js 1.8.0、CodeMirror 5.0、Web Audio入門

Edit on GitHub 編集履歴を見る

JSer.info #216 - Underscore.js 1.8.0がリリースされています。

1.8.0ではファイルサイズの削減を目的としたコミットによりIE8の互換性がなくなる問題がありましたが、1.8.1と1.8.2で一部修正されています。また1.8.0では_.isError_.mapObjectなどいくつかメソッドが追加されています。

リリース直前に1.8.0に入る予定だったメソッド名の一部が変更されているので、masterを直接使っていた場合には注意が必要です。

1.8.0のリリースにおいて色々問題ありしたが、とりあえず普通のユーザーに与える影響は_.matchesのリネーム以外は大体修正されたように見えます。

2014-09-01のJS: Underscore 1.7.0、Browserify入門、Gravit - JSer.infoで書いていましたがunderscore.jsをアップデートする際には気をつけたほうがいいと思います。


CodeMirror 4.13と5.0がリリースされました。

CodeMirror 5.0ではcontentEditableを使って、iOSなど今まで表示のみに近かったモバイル端末等のサポートを開始しました。

まだ状況によって上手く行ってない気がしますが、JavaScript Promiseの本のCodeMirrorを5.0にアップデートしてあるので、試してみるといいかもしれません。


HTML5で音を扱う3つの方法というスライドでは、JavaScriptから音を扱う方法としてAudio要素、Web Audio API、MediaStream Processing APIについて簡単に紹介されています。

また、音を扱う場合に中心となるWeb Audio APIについては音を扱うJavaScriptライブラリや記事 - Qiitaという記事でどこを参照したらいいかがまとまっていて、これから始めるにあたってアタリが付けやすいと思います。

自分もJavaScriptとWeb Audio事始めという簡単に触ってみて引っかかりそうな点などについてまとめてたスライドを作りました。

Web Audio APIはAudioNodeが基本的に使い捨てであったり、setTimeoutなどより正確なスケジューリングを行う方法が用意されていたりして、DOM TreeのAPIなどとは少し違うパラダイムを持っていて一度触ってみると面白いと思います。


ヘッドライン


Underscore.js

underscorejs.org/

JavaScript library

Underscore.js 1.8.0(現在1.8.2まで出てる)リリース。
ファイルサイズの削減、エイリアスとして使われていたメソッド名を一部変更、削除などのBreaking Changeを含んでいる。
詳しくは下記のIssueを参照。
1.8.0はIE8との互換性がないので、1.8.1と1.8.2で互換性の修正が行われている。


ESLint 0.15.0 released - ESLint

eslint.org/blog/2015/02/eslint-0.15.0-released/

JavaScript ECMAScript Tools

ESLint 0.15.0リリース。
Spread operator、Rest parameters、Destructuringのサポート。
ES6についてはESTreeでASTの仕様の議論をしてるので、それに従う形で実装を進めて行く


node-browserify/changelog.markdown at 9.0.3 · substack/node-browserify

github.com/substack/node-browserify/blob/9.0.3/changelog.markdown

browserify ReleaseNote

Browserify 9.0.0リリース。
umd 3.0.0へのアップデート。$_もモジュール名として利用できるようになったため--standalone $foo_barのような指定をした時の挙動がBreaking Changeとなる


jsdom/Changelog.md at 4.0.0 · tmpvar/jsdom

github.com/tmpvar/jsdom/blob/4.0.0/Changelog.md

JavaScript DOM library

jsdom 4.0.0リリース。
io.jsの新しいvmモジュールに依存するため、4.xはio.jsでの動作のみで、Node.jsの場合は3.xを使うように推奨されてる。


Wallaby.js hits version 1.0 · Artem Govorov

dm.gl/2015/02/23/wallaby-version-one/

WebStorm plugin testing

JetBrains IDEのpluginとして動作するテストフレームワークwallaby.js 1.0リリース。
今後は他のエディタサポートやAPIの公開、AltJSのサポートなどを予定している。


New releases 4.13 and 5.0 - discuss.CodeMirror

discuss.codemirror.net/t/new-releases-4-13-and-5-0/163

JavaScript library ReleaseNote

CodeMirror 4.13と5.0リリース。
5.0ではcontentEditableを使ったモバイルブラウザのサポートが追加されてる


Knockout.js 3.3 Released - Knock Me Out

www.knockmeout.net/2015/02/knockout-3-3-released.html

JavaScript library ReleaseNote

Knockout.js 3.3リリース。
Componentsの値を変更した時のレンダリングを同期か非同期の設定が可能に、$componentの追加、computesが"awake"と"sleep"のイベントを通知するように


rev9-ecma-402-draft-now-available

esdiscuss.org/topic/rev9-ecma-402-draft-now-available

ecma spec i18n

ECMA-402(ECMA i18n API) 2.0ドラフト Rev 9リリース


harmony:specification_drafts [ES Wiki]

wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#february_20_2015_rev_34_release_candidate_1

ECMAScript spec ReleaseNote

ES6 Draft RC1リリース(Rev 34)


Release 0.7.0 · airportyh/testem

github.com/airportyh/testem/releases/tag/v0.7.0

JavaScript testing ReleaseNote

testem 0.7.0リリース。
io.jsやNode.js 0.12のサポート、Windowsでもci-modeが動くように修正、実行ページをよりisolateに


アーティクル


Flow | Flow Comments

flowtype.org/blog/2015/02/20/Flow-Comments.html

flowtype Tools ReleaseNote

Flow 0.4.0でコメントによる型指定が追加された。
https://github.com/jareware/flotate のプロジェクトのシンタックスがマージされた形


Classes in ECMAScript 6 (final semantics)

www.2ality.com/2015/02/es6-classes-final.html

JavaScript ECMAScript

ES6 Classesについての詳しい解説。
Classの挙動、使い方、Iterator、継承、super()new.targetの値、ES5では無理だったビルトインコンストラクタのサブクラスが可能になる点などについて


音を扱うJavaScriptライブラリや記事 - Qiita

qiita.com/mohayonao/items/d79e9fc56b4e9c157be1

JavaScript audio library まとめ

Web Audio API関連のライブラリやpolyfill、fallback実装などのリソースまとめ


React Tips and Best Practices - ÆFLASH

aeflash.com/2015-02/react-tips-and-best-practices.html

JavaScript React Tips

ReactのTips。
shouldComponentUpdateとMixin、propTypesとプロダクション、component内のstateを避けて全体のデータフローを一方通行にする話など


The npm Blog — Welcome, jQuery developers!

blog.npmjs.org/post/111385956875/welcome-jquery-developers

jQuery npm

jQuery plugin registryはread onlyモードとなり、pluginの公開にnpmを推奨してるのを受けて、jQuery pluginをnpmで公開する方法についてのサポートをしていくとの事


JSX - ESLintについての細かいあれこれ - Qiita

qiita.com/suisho/items/8610d3806a3f94d7d1d0

JavaScript Tools

ESLintの設定について


JavaScript - ぼくのかんがえたさいきょうのES6プロジェクトテンプレート - Qiita

qiita.com/mohayonao/items/9b0655b8b4979bffda31

JavaScript ECMAScript

ES6でのプロジェクト構成について。
ビルド、npm run-script、Browserify、テスト、Lint、コードカバレッジなどの設定について


スライド、動画関係


HTML5で音を扱う3つの方法

150217-html5sound.fnobi.com/

HTML audio API スライド

Audioタグ、Web Audio API、MediaStream Processing APIについてのスライド。
それぞれがどのような用途や機能を持っているかについて書かれている


Reactive Programming in JavaScript

ahomu.github.io/s/150221-frontrend_conference/index.html#1

JavaScript program スライド

Reactiveプログラミングについてのスライド。"Reactive = 片方の変化を他方に自動で伝播する仕組み"
Actor、FRP等Reactiveは色々あるがFRPについて詳しく書かれている。
RxJSやBacon.jsを使ったサンプルについて


Introduction to Service Worker // Speaker Deck

speakerdeck.com/1000ch/introduction-to-service-worker

JavaScript browser スライド

オフラインを実現するために関連するAPI、主にService Workerについてのスライド。
Cache API、Push APIについて解説されている。


Introduction To React // Speaker Deck

speakerdeck.com/hokaccha/introduction-to-react

JavaScript React スライド

既存のDOMの再描画の流れとReactでのUI再描画の仕組みの違いについて。
再描画のコストの違いや設計への影響、Fluxアーキテクチャへの流れが分かりやすく書かれているスライド


サイト、サービス


super-script.us/2015/essential-js-links.html

JavaScript まとめ links

JavaScriptについてのリソースリンク集。
スクリーンショット付きで紹介してる


mking/react-hn

github.com/mking/react-hn

React サンプル tutorial

Reactを使ったHackerNewsのクローン。
どういうComponentの粒度になってるかや構造についての解説が書かれている


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


mzabriskie/axios

github.com/mzabriskie/axios

JavaScript library XHR

Node.js/ブラウザどちらでも動くPromiseベースのHTTPリクエストライブラリ。
リクエスト/レスポンスに対してコールバックを呼ばれる前に処理を挟んだりすることも出来る


yahoo/preceptor

github.com/yahoo/preceptor

JavaScript browser testing library

Mocha、Cucumberなどに対応したTest Runner。
設定によりレポーターやテスト対象などを細かく設定することができ、何をテストするかはTaskという塊で定義でき、Taskを並列で動かすこともできる。


yahoo/kobold

github.com/yahoo/kobold

JavaScript browserify testing

スクリーンショットを比較して視覚的なレグレッションがないかをテストするコマンドラインツール


hughsk/disc

github.com/hughsk/disc

JavaScript browserify Tools gurai

Browserifyでビルドしたコードから、ディレクトリ別(モジュール別)でファイルサイズやファイル数をグラフで可視化してくれるツール


gabelerner/canvg

github.com/gabelerner/canvg

JavaScript SVG canvas

SVGをCanvasでレンダリングするライブラリ


書籍関係


Amazon: コーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション: ヘイドン・ピカリング, Heydon Pickering, 伊原力也, 太田良典, 株式会社Bスプラウト

www.amazon.co.jp/dp/4862462669?tag=amazon0abac-22

WAI-ARIA book 翻訳

2015年3月30日発売
"Apps For All - Coding Accessible Web Applications"の日本語版


The Pragmatic Bookshelf | CoffeeScript

pragprog.com/book/tbcoffee2/coffeescript

CoffeeScript book

CoffeeScriptについての書籍


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