2014年9月14日日曜日

Web MIDI API update at Chrome 39

これが最初で最後になるとは思うのですが、ECMAScript 6との親和性を高く保つため、既存のJavaScriptコードに修正が必要になる変更がChrome 39で導入されます。現在はCanaryとDevのみの変更ですが、年内には安定版も含めて新APIへ移行します。

Chrome 37, 38, 39で動作するコードを考えた場合に気をつける点としては、ES6のfor...of構文が導入されたのがChrome 38という点に注意する必要があります。この構文を含むコードは、例えこの構文が実行されないパスにある場合でも文法エラーになってしまいます。そのため、Chrome 37以降で動作させるためには、next()とdoneを使ってforループを回す必要があります。

具体的な例としてYAMAHAさんがGitHubに公開しているコードに対してパッチを作ってみたので参考にしてみて下さい。



To be more friendly with ECMAScript 6, we will introduce incompatible change to Web MIDI API that requires applications' JavaScript code being modified in Chrome 39. It's in Canary and Dev channel for now, but all channels including Stable will migrate to the new API by the end of this year.

If you want to support Chrome 37, 38, and 39, you should be careful about that the ES6 'for...of' syntax can be available in 38 and laters. It will raise a syntax error. To avoid this problem, you need to use next() and done to run a for loop correctly.

Here are two examples for YAMAHA's GitHub projects that may help you.


0 件のコメント: