【翻訳】「Front-end Developer Handbook 2017」 2016年のまとめと2017年の予測

会社のWebフロントエンドチームによる活動で、[Cody Lindley](http://codylindley.com/)の[front-end-handbook-2017](https://www.gitbook.com/book/frontendmasters/front-end-handbook-2017/details) を読んで2017年のWebフロントエンド開発のトレンドをつかむことにしました。多少のバイアスはあると思うものの全体感を得るにはちょうど良さそうと思います。2016年のまとめと2017年の予測が面白いのでここだけ翻訳しました。原文には至る所にリンクが貼られておりリンク先も面白いので原文もオススメします。誤訳があったらご指摘ください。

## 2016年のまとめ
- UIコンポーネントやUIコンポーネントツリーの一年だった。
- 1ファイルにHTML、CSS、JSを詰め込むのは、もはや神への冒涜ではなくなった。
- React, Redux, Webpack, ECMAScript 2015 (またはES6), Babelが非常によく使われるようになった。投票の結果、これらのソリューションが最も使われる技術のトップにたった。
- 開発者はネイティブアプリ開発の多くの場合で、WebViewベースのHTML5モバイル・ハイブリッドがよくない選択肢であると悟った。
- React NativeやNativeScriptがWebViewモバイル・ハイブリッドアプリに取って代わりはじめた。
- Gulpを捨ててNPM Scriptを選ぶことが増えた。でもGulpはまだ人気がある。
- SASSは人気のツールにとどまったが、PostCSS(+CSSNext)が地位を得た。
- ほとんどの開発者がHTML, CSS, JSのLinting/Hintingを行っている。ESlintがJShintやJSCSに取って代わった。
- SublimeやAtomは捨てられて、Visual Studio Codeが使われ始めた。
- JQueryは残っているものの利用や興味は減ってきている。JQuery 3がリリースされたものの誰も気づいていない。
- Vue.js がコンバート先に選ばれ続けている。当然でしょ！
- JavaScriptでの関数型プログラミングやパターンが注目を得ている。
- オフラインで動くアプリや、プログレッシブWebAppがメインストリームになった。
- Microsoftが出てきて、コントリビュートした。
- Windows, OSX, Linux向けのネイティブアプリ開発でNW.jsやElectronといったWeb技術が使われ始めた。
- Angular 2(将来的には単にAngular)がじれったい感じになった。多くの開発者がAngular 1のようにメインストリームにはならないだろうと思った。
- JavaScriptが広い範囲でソフトウェアテクノロジーの中心にとどまった。
- より多くの開発者が自動化などのツールやテストに関心を持ち始めた。
- 静的サイトジェネレータが真剣に受け止められた
- CSSのグリッドレイアウトの興奮さめやらず、未来は輝いているようだ。
- NPMがYARNのライバルになった。
- Reactのようなソリューションの次の進化系として、Preact, Deku, Rax, Infernoが出てきた。APIの変更はあまりない進化。
- 多くの人々がJSXを受け入れるだけでなく、JSXを使わないなんて信じられないという状況に。
- CSSモジュールバターン(CSSのカプセル化)が実用的になって使われだした。多くの人にとってCSS in JSが実行可能なソリューションとなった。
- 多くの人がCSSやレスポンシブデザインといったビジュアル領域の機能テスト、インテグレーションテストに取り組み始めた。
- IEの古いバージョンを使ったり開発対象にすることへの強い抵抗があり、ブラウザAPIの不整合の闘いの日々はほとんど終わりを迎えた。
- ほとんどの人がWeb開発のときにはマルチデバイス戦略を持たないといけないことに気づいた。
- クラスやオブジェクト指向の妄想を抱く多言語からの開発者がJavaScript界に流入し続けて影響を与えている。
- フロントエンド開発に、Hot ReloadingやTime travel debuggingといったテクニックが紹介された。
- JavaScript標準のモジュールローダーの登場がますます待ち望まれている。
- CSSやJSのスタイル規則を強制することがますます重要になっている。(ES3からES6への変遷、CSSプリプロセッサのシンタックスのバリエーションを見よ)
- JavaScriptよりElmを選ぶ開発者が少数だが見られた。
- TypeScriptが真面目に使われてファンも増えた。
- aurelia.ioがエンタープライズ開発者にとってスマートな選択肢になった。（IEのサポート！）
- WebpackがこれまでのJSPMソリューションを統合しまとめる役を担った。
- HTTPSが重要に。
- BASH on windowsが出た。
- Notification APIがChromeユーザに使われだした。誤用もあった。permissionを与えた後ではあるものの。
- Firebugが公式に死んだ。
- 2016でCSSは20歳です。 
- イミュータブルというコンセプトが急速に出だした。

## 2017年の予測
- Web Assemblyのピークが来るかも
- `import`が`<scripts></scripts>`で使えるようになるかも
- Universal Javascriptのソリューションが引き続き敬意を持ち続けられるだろう
- Reactiveプログラミングが引き続きトレンドになる（MobXやRxJSを参照）
- Reactがよりコンセプト化する。React自身も書き直されたり(React Fiber)、進化する（Inferno）
- Angularがセマンティックバージョンを取り入れて、2017年にはAngular 3, 4 (5も？)が出るロードマップになっている。
- シンプルなWebサイトへの回帰。2017年のモダンなツールでWeb1.0レトロをやる。
- RESTful JSON APIがより競争力が出てくる。（GraphQL参照）
- Vue.jsが大いに流行るかも
- トラディッショナルなCMSソリューションを捨てる。静的サイトジェネレータやAPI CMSツールになる。
- 多くの人がSassからPostCSS+cssnextに移る。
- HTTP2とHTTPSが増える。
- WebComponentは引き続き潜伏して、出てくる当てもない牽引者を待ち続ける。
- No frameworkというFramework派がモーメンタムを獲得する（Svelteを参照）
- JavaScriptは引き続き安泰。願わくばCSSには崩壊してもらい、落ち着くまで皆が泣き疲れるような状況になってもらいたい。
- オープンWebは何も悪いことはしてないじゃないかといいつつ、Apps storeの成長に強い嫌悪感を抱く
- Reduxが引き続き競争力を持つ（mobxを見る）
- YARNがより多くのユーザを獲得する。
- フロントエンドApp、Thickなクライアントアプリ、静的なアプリ、バックエンドがないアプリ、SPA、フロントエンド駆動アプリといったアイデアは、JAM stackというコンセプトに統合されるかも

## 感想
勢い勇んで翻訳したものの、やり場がないのでQiitaに投稿することにしました。負荷が高いので社内の勉強会にはポイントのメモで挑もうと思いました。
おもしろい本です。先を読むのが楽しみです。