2017年に注目しておきたい、JavaScriptのライブラリのまとめ
Post on:2016年11月28日
数多くあるJavaScriptのライブラリの中で、どれを勉強すればいいか判断することはなかなか難しいものです。いくつかのライブラリは放置され衰退し、またいくつかは急速に成長し、広範囲に採用されることがあります。
jQueryやReactは多くの人が知っているでしょう。
2017年に注目しておきたい、急成長しているJavaScriptのライブラリを紹介します。

12 JavaScript libraries to watch in 2017
下記は各ポイントを意訳したものです。
※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。

ビッグデータは成長産業で、データ ビジュアライゼーションも同じくらい重要になっています。グラフ作成やマッピングのライブラリはたくさんありますが、D3.jsほど目立つものはほとんどありません。このJavaScriptライブラリはSVGやCanvasの要素と連携して、Web上のグラフ、チャート、動的なビジュアライゼーションをレンダリングします。
D3.jsは完全に無料で、JavaScriptで構築された最も強力なビジュアライゼーション ツールの1つです。ブラウザでデータをレンダリングするモダンな方法を探しているなら、このライブラリで何が提供されているか確認することを強くお勧めします。

多くの制作者がNode.jsについて聞くと、またかと思うことを私は知っています。しかし、Node.jsはV8 JavaScriptエンジンで動作するJavaScript環境で、多くの開発環境を提供します。NPMというパッケージマネージャの組み合わせで作られたエコシステムは、世界のオープンソースライブラリの中でも最大のエコシステムです。
これにより、Node.jsはGulpのような他のツールとうまく機能する完全な開発ツールキットになります。さらに、Node.jsでは数十もの関連するオープンソースプロジェクトが構築されているので、Mocha.jsのユニットテストやSails.jsフレームワークとのフロントエンドのインターフェースを構築することができます。
もしまだNode.jsに触れたことがないなら、あなたは取り残されていたことに驚くかもしれません。

仮想DOMのレンダリングとカスタム要素は、React.jsライブラリを散らかします。フロントエンド開発のための強力なデジタルインターフェイスライブラリを必要とするすべてのプロフェッショナルの選択肢になっています。
そんな中、Riot.jsはReactの素晴らしい代替案として堅実な存在を示しています。Riot.jsフレームワークを使用することで、仮想DOMにアクセスすることができます、しかしそれはより簡単な構文要件でコントロールする方がはるかに簡単です。残念ながら、このライブラリはReact.jsほど大きくなく、Facebookによって作られたものではないので、巨大なコミュニティはできないでしょう。しかし、Riot.jsは健全な代替であり、フロントエンドにおいて競争相手となります。

CreateJSはWebアニメーションからデジタルメディアまで、すべてを扱うことができます。これは1つの単一ライブラリではなく、さまざまな目的のために構築された一連のライブラリです。例えば、Easel.jsはHTML5のCanvas要素で動作し、Tweet.jsはWeb用のカスタムトゥイーンとアニメーションを構築するのに役立ちます。
このコレクションの各ライブラリは異なる目的をサポートし、すべての主要なブラウザに最新の機能を提供します。しかし、これらのライブラリのほとんどは特殊な機能をサポートしているため、特別なWebサイトで使用するのが最適です。もし興味があるなら、何ができるかをCreateJSで見てください。

先ほど、Node.jsとその上に構築された他のライブラリについて説明しました。KeystoneJSはフルスケールのCMSエンジンを提供することにより、Node.jsを超える素晴らしい例です。
KeystoneJSを使用すると、Node/ExpressとMongoDBをバックエンドに搭載したMEAN Webアプリケーションを構築できます。KeystoneJSは完全に無料ですが、まだ非常に新しいライブラリです。この記事を書いている時点ではバージョンは0.3で、プロフェッショナルが利用するためには長い道のりがあります。
しかし、ピュアJavaScriptのCMSを気にする人は、チェックしておいた方がよいでしょう。

フロントエンドのフレームワークで、典型的に2つの目立つ選択肢があります、AngularとEmberです。しかし、Vue.jsはもうひとつの人気が高い選択肢で、v2.0のリリースから、さらに注目を集めています。
vue.jsはMVVMのフロントエンドJavaScriptフレームワークであるため、典型的なMVCアーキテクチャから離れています。学ぶのは難しいですが、それがどのように動作するかを理解すれば構文は単純です。それは確かにフロントエンド フレームワークの戦争で生き残る選択肢であり、今後数年にわたり注視する価値があります。

あらゆるプラットフォームでもMeteorフレームワークに統合して、素晴らしい結果を得ることができます。このオープンソースプロジェクトは、開発者がリアルタイムのチャットアプリやソーシャルコミュニティ、カスタムダッシュボードなど、JavaScriptで動くアプリケーションを構築するのに役立ちます。
Meteor上に構築されたTelescopeというソーシャル ニュース フレームワークもあります。これにより、MeteorとReactで実行されているソーシャルのニュースや投票のWebサイトをゼロから作成することができます。
Meteorは多くの機能を備えたライブラリですが、学ぶのは簡単ではありません。しかしMeteorは面白く、熟練したJavaScript開発者はこのプラットフォームでほぼ何でも構築することができます。

Chart.jsはJavaScriptとCanvas APIを使用して、棒グラフ、折れ線グラフ、バブルチャートなどの他の多くのチャートを作成できます。これは、データ作図のための最も簡単なJavaScriptライブラリの1つで、オプションでアニメーションも組み込まれています。
セットアップは簡単で、カスタマイズも容易です。オープンソースプロジェクトの中でも最も良いドキュメントがある、データグラフ系の数少ないライブラリの1つです。

新しいスタートアップや興奮した開発者が精力的にVRプロジェクトに取り組む中、バーチャルリアリティが世界をたちまち魅了しように思われます。そのことがWebVR、ブラウザでVRのために作られた新しいJavaScript APIを見つけても驚かなかった理由です。
Oculus RiftやViveのような人気のあるデバイスで動作しますが、現在は開発段階です。 APIはオープンソースで、モダンブラウザに対してVRデバイスでどのように機能するかを測定するために常にテストされています。
もっと知りたい、あるいはプロジェクトに参加することに興味があるなら、WebVR公式サイトをチェックしてみるか、MozVRで詳細を見てください。

今日まで、どのくらいの3Dアニメーションが1980年代にさかのぼって成長してきたかを見ることはばかげています。わたし達はすべての3Dアニメーション映画に精通していますが、Webのアニメーションはまだまだ新分野です。そしてありがたいことに、Three.jsのようなライブラリがWebの3Dアニメーションのための道を開拓しています。
メインサイトでは、実際にThree.jsの動きが楽しめるたくさんのデモがあります。モーションセンシティブな背景、カスタム 3D Webグラフィック、3Dアニメーション効果を使用したダイナミックなインターフェイス要素を構築することができます。このライブラリを使えこなせるようになれば、あらゆる3D効果を作ることができます。Webの3Dモーションのための最良のリソースで、あなたが始めるための多くのデモがあります。

JavaScriptを使った関数型プログラミングは新しいことではありません。しかし、Web上ではかなり新しく、Omniscient.jsのようなライブラリで一般的になりました。この無料のオープンソース ライブラリは、すべてのフロントエンドのコンポーネントのためにトップダウンのレンダリングプロセスでビューを処理します。あなたは機能的なJavaScriptのコードを最初から作成し、Reactのような既存のUIライブラリで作業することができます。
私は特に、よりスムーズな開発プロセスを望む経験豊富な開発者にこのライブラリを推奨します。初心者には複雑ですが、Omniscient.jsはReactコンポーネントと連携して開発のワークフローを根本的に変えることができます。

他と異なるUIライブラリを探しているなら、Ractive.jsは型にうまく収まると思います。テンプレート要素とデータの双方向バインディングが付属しているので、JavaScriptのRactive関数にバインドする要素を持つテンプレートを構築できます。
これはかなり濃いライブラリですが、初心者のための最もスムースな学習曲線を提供します。Reactほど詳細ではなく、JavaScriptやHTMLで非常に異なるシンタックスを使用します。メインサイトで詳細を確認し、デモページをチェックして、Ractive.jsの可能性を見てください。
ここで紹介したすべてのライブラリは、JavaScriptコミュニティに提供するためのユニークな何かを備えています。もしあなたJavaScriptを使っていろいろ試してみることを楽しむなら、ここで各ライブラリをもう一度見て、あなたのWeb開発プロジェクトに何を提供できるか見てください。
sponsors