JSer.info #190 - Underscore 1.7.0がリリースされました。
破壊的な変更も多いですが、主な変更内容はChangeLogに、掲載されてない変更内容は以下のコメントにまとめられています。
大きな変更としては、_.template
が初期化時にdataを受け取らなくなり、常に関数を返すようになったこと、_.extend
の挙動がES6 Object.assignに近いものに変わったことや、ネイティブのArray.prototype.*
を使わなくなった事による高速化や(疎の配列における)挙動の違い等が含まれています。
互換性のない変更がminorバージョンでも含まれる傾向があるため、npmでは^
よりも~
とした方が安全だと思います。
今後のリリース方針については以下を参照するといいかと思います。
A Gentle Browserify Walkthrough - Pony Fooという記事はBrowserifyの入門的な内容について書かれています。
CommonJSとは何かという所からBrowserifyの基本的な使い方、CommonJSを扱えることのメリット等が分かりやすく書かれています。
より詳しくBrowserifyについて知りたい方はsubstack/browserify-handbookも参照するといいと思います。
Gravit というnode-webkit製のデザインツールのβ版が公開されています。
ブラウザで動くバージョンやソースコードもquasado/gravitにて公開されています。
ウェブ技術で作られていて、プロジェクトの構造もキレイにまとまってるのでソースコードを見てみると面白いかもしれません。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Announcing Sencha Touch 2.4 | Blog | Sencha
www.sencha.com/blog/announcing-sencha-touch-2-4/
Sencha Touch 2.4リリース。
BlackBerry 10のサポート強化とtoast コンポーネントの追加
Underscore.js
Underscore 1.7.0 リリース。
Arrayのネイティブ関数では無く独自の実装を使うように変更し高速化、_.iteratee
がカスタマイズ可能に、_.before
のメソッド追加、_.extend
の挙動がES6 Object.assign
にあわせた形へ変更するなど。
"Sparse" arrays、extend、union、template等破壊的な変更も多く含まれている。
CoffeeScript
CoffeeScript 1.8.0リリース。
sourcemapのファイル名が.js.mapに変更、CLIの改善、require("coffee-script/repl")
をrequire出来るように
harmony:specification_drafts [ES Wiki]
wiki.ecmascript.org/doku.php?id=harmony:specificationdrafts#august242014draftrev27
ECMAScript 6 Draft Rev 27リリース。
Array/generator comprehensionsの削除、Array.prototype.sortの実装依存についての明文化等
Dart News & Updates: Dart 1.6 adds support for deferred loading
news.dartlang.org/2014/08/dart-16-adds-support-for-deferred.html
Dart 1.6リリース。
loadLibraryというDeferred loadingを提供するlibraryが入った。
MooTools - 1.5.1 is out!
mootools.net/blog/2014/08/29/mootools-1-5-1-release/
MooTools 1.5.1リリース。
パッケージ周りの改善
Release 1.6.0 · jscs-dev/node-jscs
github.com/jscs-dev/node-jscs/releases/tag/v1.6.0
コードスタイルチェックツールのjscs 1.6.0リリース。
Googleプリセットの改善やバグ修正等
Ember.js - Ember 1.7.0 and 1.8 Beta Released
emberjs.com/blog/2014/08/23/ember-1-7-0-released.html
Ember 1.7.0 と 1.8 Betaリリース
Chromium Blog: Chrome 38 Beta: New primitives for the next-generation web
blog.chromium.org/2014/08/chrome-38-beta-new-primitives-for-next.html
Chrome 38βリリース。
picture要素、Map/Set、for...of
、Symbol、Math周りの追加。
Network Information API、 Screen Orientation API、Encoding APIでXHRでバイナリを取得しながらデコードが出来るようになるなど。
- Collecting and Iterating, the ES6 Way - HTML5Rocks Updates
- Easier ArrayBuffer <-> String conversion with the Encoding API - HTML5Rocks Updates
Introducing Meteor 0.9.0 and the official Meteor packaging system
www.meteor.com/blog/2014/08/26/meteor-090-new-packaging-system
Meteor 0.9.0リリース
アーティクル
Important Announcement Regarding YUI | Yahoo Engineering
yahooeng.tumblr.com/post/96098168666/important-announcement-regarding-yui
YUIは新規開発を終了し、今後はYahoo内部向けの修正に留めるとの事。
Unicode-aware regular expressions in ES6 · Mathias Bynens
mathiasbynens.be/notes/es6-unicode-regex
ES6で導入された正規表現のu
フラグについての解説とES5でも使えるようにするtranspilerについて。
正規表現でユニコード文字を正しく扱うためのフラグ。
ES5やES6でのユニコード文字の扱いについては以下のスライドと動画で詳しく解説されてる。
Virtual DOMを持つMV*ライブラリのmercuryについて | Web Scratch
mercuryのModel(State)、View(Virtual DOM)、Controller(Event)について。
モジュールを組み合わせた構造と関数型プログラミング的なアプローチがベースのライブラリ
A Gentle Browserify Walkthrough - Pony Foo
blog.ponyfoo.com/2014/08/25/a-gentle-browserify-walkthrough
Browserifyについての丁寧なチュートリアル。
CommonJSとは何か、Browserifyの基本的な使い方、利点としてnpmのモジュールが使える点やCJS以外のモジュールをbrowserify-shimで扱う事について等
Journey from browserify to webpack — Medium
medium.com/@tomchentw/why-webpack-is-awesome-9691044b6b8e
webpackを使ったビルドについて。 Browserifyとの比較
webpackがデフォルトでwebpack-dev-serverや差分コンパイル、bower統合、js以外を読み込めるloaderを持ってる点について書かれている
aster
rreverser.com/aster-ast-based-code-builder/
JavaScript ASTを処理するビルドツール。
GruntやGulp等はtaskごとにパースと生成を繰り返すため非効率な部分がある。
asterはASTに対して変換の処理をパイプラインで行うため無駄な処理が減る。
スライド、動画関係
Forward JS
Forward JSの動画が公開されている
JavaScript Memory Management Masterclass // Speaker Deck
speakerdeck.com/addyosmani/javascript-memory-management-masterclass
JavaScriptでのメモリリークとそもそも何故起きるのかについてのスライド。
DOM leakやV8のメモリ管理の方法、世代別GC、DevToolsを使っての見つけ方、Performance Toolsの使い方についてなどかなり詳しく紹介されている。
サイト、サービス
Run CasperJS scripts online - CasperBox
CasperJSのコードをオンラインで書いて実行、REST APIとAPIを使って実行出来るライブラリを提供してるサービス
ソフトウェア、ツール、ライブラリ関係
mathiasbynens/regexpu
github.com/mathiasbynens/regexpu
ES6の正規表現のu
フラグをES5でも使えるように変換するtranspiler
Chartist - Simple responsive charts
gionkunz.github.io/chartist-js/
SVGベースのレスポンシブなグラフライブラリ。
media queriesを使って指定
twistdigital/es6-promisify
github.com/twistdigital/es6-promisify
nodeスタイルのコールバックを受け取る関数のPromiseラッパーを作るモジュール。
Gravit – unlock your design potential.
Illustratorライクなデザインツール。
ドローやレイヤー等の機能を持ってる
ブラウザで動かすこともできるオープンソースなアプリ。
https://github.com/quasado/gravit
Cheerp homepage
C++からJavaScriptのコードへのコードコンパイラ。
LLVMを使用、DOM等扱うC++のラッパライブラリ的なのを持っている
書籍関係
O'Reilly Japan - モダンWeb
www.oreilly.co.jp/books/9784873116921/
2014年09月10日 発売
大規模開発でも小規模開発でも使える TypeScript実践入門:書籍案内|技術評論社
gihyo.jp/book/2014/978-4-7741-6711-4
2014年9月12日発売
TypeScriptについての書籍
The Pragmatic Bookshelf | Dart 1 for Everyone
www.pragprog.com/book/csdart1/dart-1-for-everyone
2014年10月10日発売
Google Dartについての書籍
Manning: Firefox OS in Action
2015年春発売
Firefox OS本
Amazon: JavaScript逆引きレシピ jQuery対応
www.amazon.co.jp/dp/4798135461?tag=amazon0abac-22
2014年8月29日発売
電子版も同時リリース