Fork me on GitHub

2015-11-03のJS: Vue.js 1.0.0、Babel 6.0、Node.js 5.0

Edit on GitHub 編集履歴を見る

JSer.info #251 - Vue.js 1.0.0がリリースされました。
0.12.16から1.0.0までの変更はリリースノートに詳しく書かれていますが、テンプレート周りの改善や非推奨のAPIの削除やAPIの整理が行われています

同時にVue.jsに再入門するという趣旨の記事が作者によって書かれているので一緒に見てみるといいです。


JavaScript変換ツールであるBabel 6がリリースされました。

NOTE: Not all integrations have been updated yet. This is a very disruptive major so please bear with us as we smooth out the edges.

と書かれているようにかなり大きな変更が入っています。

簡単にまとめると

  • babelではなくbabel-cliまたはbabel-coreを使うように
  • デフォルト(設定なし)では何も変換しないように
  • 設定や依存するパッケージをチェックするBabel Doctorというツールもある

参考

今までのBabelはデフォルトでベースとなる変換(ES2015やCommonJS、Reactなど)が含まれていましたが、Babel 6からはそれらの変換が個別のモジュールとして分けられています。

このモジュール化によって人によっては不要だった変換がそもそも行われなくなり、必要な変換だけを設定していく形に変更されています。
今までは、whitelistblacklistなどの設定がありましたが、これにともない削除されています。

またBabel 6ではプラグインによる変換の仕組みが変わっているため、コミュニティにより開発されてるプラグインは大体がまだ未対応となってます。

ドキュメントもまだ更新されてなかったり、リグレッション的なバグなどもまだあるので、もう少し落ち着いてからBabel 6.xへ移行しても遅くはないと思います。


Node.js v5.0.0がリリースされました。

fs.readFileがfile descriptorをサポート、npm 3.xがデフォルトへと変更などが行われています。

Node.js v4.2.1から始まったLTSについてはWhat You Should Know about Node.js v5 and More | Node.jsにて解説されています。


ヘッドライン


Vue.js 1.0.0 Released - vue.js

vuejs.org/2015/10/26/1.0.0-release/

JavaScript library ReleaseNote

Vue.js 1.0.0リリース。
テンプレートの改善、非推奨なAPIを削除、初期表示の速度改善など


6.0.0 Released · Babel

babeljs.io/blog/2015/10/29/6.0.0

babel ReleaseNote

Babel 6.0.0リリース。
まだ関連プラグインが追いついていないため扱いに注意。
Babelの内部的に使っていたモジュールがそれぞれパッケージとして利用できるようになった。
プラグインがオプトインとなり、同時にプラグインプリセットが用意された。
また変換の速度改善やプラグインのAPI変更が行われている。


Node v5.0.0 (Stable) | Node.js

nodejs.org/en/blog/release/v5.0.0/

node.js ReleaseNote

Node.js 5.0.0リリース。
fs.readFileがfile descriptorをサポート、npm 3.xがデフォルトへと変更、ALPNサポート、util.inheritsがES6 Classesからも継承できるようになるなど


New in bluebird 3.0 | bluebird

bluebirdjs.com/docs/new-in-bluebird-3.html

JavaScript Promises library ReleaseNote

Promiseライブラリであるbluebird 3.0リリース。
Cancellation APIのデザインを変更、 Promisificationの挙動を変更、Promise.configで警告についてを設定可能になるなど


Dev.Opera — Opera 33 released

dev.opera.com/blog/opera-33/

Opera Chrome ReleaseNote

Opera 33リリース。
<link rel=preconnect>、ES6 new.target、spread operator、DOMException、CSS.escape、HTTP Client Hintsなどのサポート


Release 1.20.0 · jquery/qunit

github.com/jquery/qunit/releases/tag/1.20.0

JavaScript testing library ReleaseNote

QUnit 1.20.0リリース
assert.raises()の追加、Symbolの比較をサポート、QUnit.moduleのネストに対応するなど


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

github.com/substack/node-browserify/blob/master/changelog.markdown#1200

browser ReleaseNote

Browserify 12.0.0リリース。
Node.js 4.xが対象となり、0.8はサポートから外れた。
Source Mapで日本語などが化けないように、シンボリックリンクされたモジュールは変換の対象外へと変更など


ESLint v1.8.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2015/10/eslint-v1.8.0-released/

JavaScript Tools ReleaseNote

ESLint v1.8.0リリース。
--cacheでキャッシュを作るファイル・ディレクトリを指定できるように


アーティクル


Vue.js: a (re)introduction

blog.evanyou.me/2015/10/25/vuejs-re-introduction/

JavaScript library tutorial

Vue.js 1.0.0がリリースされたため、Vue.jsについて改めて紹介する記事


express実践入門

gist.github.com/mitsuruog/fc48397a8e80f051a145

node.js サーバー tutorial

expressの入門記事
基本的な使い方、ミドルウェア、プロジェクト構造、テンプレート、エラーハンドリング、ログの取り方などについて書かれている


Bitovi.com | DoneJS Release

blog.bitovi.com/donejs-release/

JavaScript MVC library ReleaseNote

JavaScriptMVCの後継であるDoneJSリリース。
DoneJSの特徴について紹介されてる


Firebug & DevTools Integration ★ Mozilla Hacks – the Web developer blog

hacks.mozilla.org/2015/10/firebug-devtools-integration/

firefox Firebug debug

FirebugとFirefox開発者ツールについて。
Firebug 3ではFirefox開発者ツール上で動くものとなる。
HAR exportやServer側からconsole APIを利用できるChrome Loggerのプロトコルに対応するなど


React+Flux can do in just 137 lines what jQuery can do in 10 | A geek with a hat

swizec.com/blog/reactflux-can-do-in-just-137-lines-what-jquery-can-do-in-10/swizec/6740

JavaScript 設計 jQuery React Flux

メールを出すだけの機能を作るのにjQueryだと10行、React+Fluxだと137行となった。
行数で見ると無駄に見えるが、
Fluxはパターンであるため他の人が見た時に理解がしやすかったり、新しい機能を追加しやすいなどの違いがあるという話。


ES7: Async await

tagtree.io/es7-async-await

ECMAScript JavaScript 動画

async/awaitについてのスクリーンキャスト。
PromiseでGitHub APIを叩くものを書いて、それをasync/awaitに書き換えながら紹介している


Easier Concurrent Programming in JavaScript with Async Functions

amasad.me/2015/10/31/javascript-async-functions-for-easier-concurrent-programming/

JavaScript

自動販売機的なプログラミングを題材とした、非同期処理とレースコンディションについて
ステートマシンベースのもの、Promiseキューとasync/awaitを使ったものをそれぞれ見ていく話


スライド、動画関係


Vue.js入門

www.slideshare.net/nazone/vuejs-54412741

JavaScript library スライド

Vue.jsについてのスライド
1.0での変更点や基本的な使い方について


サイト、サービス、ドキュメント


React Cheat Sheet

reactcheatsheet.com/

React チートシート 検索

ReactのAPIから該当ドキュメントへ移動出来るチートシート


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


codemix/fast.js

github.com/codemix/fast.js

JavaScript library

ArrayやStringなどのネイティブメソッドと似たような処理を実装し直してるライブラリ。
100%の互換性ではなくエッジケースへの対応などは落とすことで速度を稼いでいる


samccone/drool

github.com/samccone/drool

Chrome webdriver debug

ChromeDriver(via selenium)を使ってメモリリークが起きてないかを自動チェックするためのツール。


書籍関係


Why Isomorphic JavaScript? - O'Reilly Media

www.oreilly.com/web-platform/free/why-isomorphic-javascript.csp

JavaScript book

Isomorphicについての薄い電子書籍


Learning JavaScript, 3rd Edition - O'Reilly Media

shop.oreilly.com/product/0636920035534.do

JavaScript book

2016年1月発売
初めてのJavaScript 第3版


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