Fork me on GitHub

2015-01-13のJS: 6to5、ES6とjspm、リファクタリングJavaScript

Edit on GitHub 編集履歴を見る

JSer.info #210 - ES6+のコードをES5に変換するツールである6to5の公式サイトがリニューアルされました。

また、同じくES6のコードを変換するツールであるesnextが6to5に合流して、移行していくようです。

ちょうどライブラリをES6で書いて公開する所から始めよう | Web Scratchという、6to5を使いES6で書いたライブラリを公開する流れについての記事も公開したので6to5を試してみるといいかもしれません。


JavaScript in 2015 - Glen Maddern: Internet Proという記事では、jspmというパッケージ管理ツールについて紹介しています。

jspmはnpmやGitHubからライブラリをインストールするコマンドラインツールとSystemJSを使ったモジュールローダから成っています。

上記の動画では、redditからgifを抽出して表示するという流れをjspmで行っていて、とてもテンポよく紹介しています。

開発中はRequireJSのように動的にES6 modulesやCommonJS、AMD等を読み込み、最後にProduction Workflowsにあるように一つのファイルにバンドルする流れで紹介されています。

また、現在の多くのモジュール周りのツールはHTTP/1での配信を考えてひとつのファイルに結合します。
しかし、HTTP/2ではモジュール的なデータの通信効率がよくなるため、モジュールそのままで配信するとどうなるかという話がjspmの作者でもある@guybedfordによって話されています。


The Refactoring Talesという電子書籍ではJavaScriptのリファクタリングについて書かれています。

まだ未完成ですが、jQueryでかかれたテストがしにくいレガシーコードをどうやって修正していくのかなどについて紹介されています。

簡単な概要はThe Refactoring Tales - JavaScriptのリファクタリング本を読んだ | Web Scratchにて紹介しています。


ヘッドライン


6to5 · Turn ES6+ code into readable vanilla ES5

6to5.org/

ECMAScript JavaScript Tools

包含的にES6のコードをES5に変換する6to5の公式サイトリニューアル。
JSXやFlowとか多くの部分に対応、polyfill出来るところは外部のpolyfillを読み込み対応、可読性が高いコードを吐くようになっている。


アーティクル


ライブラリをES6で書いて公開する所から始めよう | Web Scratch

efcl.info/2015/01/09/write-es6/

JavaScript ECMAScript library testing document

ES6でライブラリを書いて、テストしてnpmに公開するまでの流れ。
6to5+power-assert+mochaの組み合わせを設定ファイルレスで行う話


Shape Security Labs: A Technical Comparison of the Shift and SpiderMonkey AST Formats

engineering.shapesecurity.com/2015/01/a-technical-comparison-of-shift-and.html

JavaScript AST spec

Shift ASTとSpiderMonkey ASTの違いについて。
改善点、拡張された点、まだ議論すべき点について


A Good Front-End Architecture

www.sitepoint.com/good-front-end-architecture/

JavaScript CSS

フロントエンド(HTML、JavaScript、CSS、リソース)のディレクトリ構造について


Modularizing Underscore.js | &yet Blog

blog.andyet.com/2015/01/07/modularizing-underscorejs

JavaScript npm document library

小さいモジュールを大量に作って公開する場合にも問題となる点がある事について。
Amp.jsという小さなモジュールの組み合わせでUnderscoreライクなものを作り、それぞれのモジュールがどのような構造になっているかについて


What's New in QUnit 1.16

www.sitepoint.com/whats-new-qunit-1-16/

JavaScript testing

QUnit 1.16について。
2.0に向けて変更、非同期のテストの新しい方法の追加、Promiseのサポート、QUnit.skip()などについて


Cross-tab Communication

ponyfoo.com/articles/cross-tab-communication

JavaScript

localStorageを使ったタブ間のやり取りをする方法。
より簡単に行うlocal-storageというライブラリについて


スライド、動画関係


JavaScript in 2015 - Glen Maddern: Internet Pro

glenmaddern.com/articles/javascript-in-2015

JavaScript ECMAScript Tools 動画

jspmの紹介記事 + 動画。
redditのAPIを使いGIFを表示する画面をjspm+npm+ES6をつかって書く動画。
テンポ良く紹介されている動画で、開発中はビルド等不要でローダで読み込み、プロダクションでは一つのファイルにbundle出来るという特徴を紹介してる。


サイト、サービス


gist.github.com/ericelliott/d576f72441fc1b27dace

JavaScript まとめ links

JavaScriptに関するリソースリンク集


Internet ExplorerのどのバージョンからどのHTML/CSS/JSに対応しているかの一覧|Web制作 W3G

w3g.jp/blog/ie_supportlist

IE まとめ WebPlatformAPI

IEバージョン別のサポート終了日、対応したHTML/CSS/JSの機能のまとめ


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


azu/espower-6to5 · GitHub

github.com/azu/espower-6to5

ECMAScript testing JavaScript library

power-assert + 6to5 ES6でpower-assertのテストを書ける。
使用例: https://github.com/azu/textlint-rule-helper


conceptsandtraining/modernie_selenium

github.com/conceptsandtraining/modernie_selenium

IE Selenium

modern.ieを使ったSeleniumの設定ツール。
自動で必要なものをインストール + Windowsの余計な設定をオフにしてくれる


es-shims/es7-shim

github.com/es-shims/es7-shim

ECMAScript library

ES7のpolyfillライブラリ


bevacqua/local-storage

github.com/bevacqua/local-storage

JavaScript library

localStorageのAPIをシンプルにしたライブラリ

タブ間のコミュニケーションに使うような監視機能も持ってる


Zhouzi/TheaterJS

github.com/Zhouzi/TheaterJS

JavaScript library

タイプライター的な文字表示効果等を行えるライブラリ


mirek/node-unused-deps

github.com/mirek/node-unused-deps

node.js module Tools console

使用してないNode.jsモジュールがあるかどうかをチェックするコマンドラインツール


tejasmanohar/npm-algos

github.com/tejasmanohar/npm-algos

node.js JavaScript library アルゴリズム

コンピュータサイエンス、アルゴリズムの実装ライブラリのまとめ


Headless Browser Testing With Xvfb

tobyho.com/2015/01/09/headless-browser-testing-xvfb/

console firefox browser

Firefoxなどヘッドレスで動かすのにXvfbが必要なアプリをxvfb-run firefoxという感じで起動できるコマンドラインツール


Amp.js

amp.ampersandjs.com/

JavaScript library

Underscore.js的なユーティリティ関数のコレクションライブラリ。
それぞれの機能をちゃんと個別のnpmモジュールとしてインストール出来る


書籍関係


Node.js Design Patterns | Packt

www.packtpub.com/web-development/nodejs-design-patterns

node.js デザインパターン book

Node.jsのデザインパターンについての書籍


The Refactoring Tales

javascriptplayground.com/the-refactoring-tales/refactoring-tales.html

JavaScript book jQuery

JavaScriptのリファクタリングについてのウェブで公開されてる書籍。(まだ執筆中)

1,2章はjQueryべったりな書き方のリファクタリング、3章は不必要な複雑性を分離、4章はデザインパターン、5章はFat Controller等


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