約10年前、JavaScriptコミュニティはJavaScriptフレームワーク間の熾烈な争いを目の当たりにし始めました。この記事では、これらのフレームワークの中でも特に有名なものをいくつか紹介します。これらはすべてオープンソースのJavaScriptプロジェクトであるため、オープンソースライセンスの下で自由に利用でき、ソースコードやコミュニティに貢献することも可能です。 ただし、始める前に、JavaScript 開発者がフレームワークについて説明するときによく使用する用語をいくつか理解しておくと、以降の説明に非常に役立ちます。
一般的な用語について説明したので、次はオープンソースの JavaScript フレームワークをいくつか見ていきましょう。
これを説明するために、npm trends による、各フレームワークの NPM パッケージのダウンロードに関する公開データを以下に示します。 フレームワークのダウンロードグラフ リアクトJS反応ページ Facebookによって開発されたReactJSは、Angularよりも後にリリースされたにもかかわらず、現在では明らかにJavaScriptフレームワークのリーダーです。Reactは仮想DOMの概念を導入しています。これは抽象化されたコピーであり、開発者はプロジェクト全体を書き直すことなく、フレームワーク内で必要なReactJSの機能のみを使用することができます。さらに、Reactの活発なオープンソースコミュニティは、その成長の大きな原動力であることは間違いありません。Reactの主な利点をいくつかご紹介します。
ReactJSは誰が使っているのでしょうか?FacebookはReactが発明されて以来、企業ホームページの構築にReactを多用しており、Instagramは完全にReactJSライブラリで構築されていると報じられています。ニューヨーク・タイムズ、Netflix、Khan Academyといった有名企業も、テクノロジースタックにReactJSを使用していることに驚かれるかもしれません。 さらに驚くべきは、ReactJS開発者の求人機会です。Stack Overflowの以下の調査結果からもわかるように、オープンソースプロジェクトに携わって報酬を得られるのです。すごいですね! Stackoverflowの調査によると、ReactJS開発者の需要は非常に高いことが示されています – 出典: 2017年開発者採用動向 – Stackoverflowブログ ReactJSのGitHubには現在、13,000件以上のコミットと1,377人の貢献者がいます。これはMITライセンスに基づくオープンソースプロジェクトです。 React GitHubページ 角度Angularホームページ 開発者数で言えば、Reactは現在JavaScriptフレームワークのリーダーと言えるかもしれませんが、Angularも僅差で追っています。実際、オープンソース開発者やスタートアップ企業はReactを好む傾向があり、大企業はAngularを好む傾向があります(以下にいくつかの例を挙げます)。その主な理由は、Angularはより複雑ではあるものの、その統一性と一貫性が大規模プロジェクトに適しているためです。例えば、私はキャリアを通じてAngularとReactの両方に携わってきましたが、大企業は一般的にAngularの厳格な構造を強みと捉えていることに気づきました。Angularのその他の主なメリットは次のとおりです。
YouTube、Netflix、IBM、Walmartといった人気ウェブサイトは、いずれも自社のアプリケーションにAngularを採用しています。私自身もAngularを独学で習得し、フロントエンドJavaScript開発を学び始めました。Angularを使った個人プロジェクトや仕事上のプロジェクトに数多く参加しましたが、当時はAngular 1.x、通称AngularJSの時代でした。Googleがバージョン2.0へのアップグレードを決定した際、フレームワークは全面的に刷新され、Angularとなりました。新しいAngularは以前のAngularJSを完全に刷新したもので、新しい開発者が加わる一方で、初期の開発者の一部は去っていきました。 本稿執筆時点で、AngularのGitHubページには17,781件のコミットと1,133人の貢献者がいます。また、MITライセンスに基づくオープンソースプロジェクトであるため、プロジェクトや貢献活動に自由にご利用いただけます。 Angular GitHubページ VueJSVue JS ページ VueJSは非常に興味深いフレームワークです。JavaScriptフレームワークとしては新参者ですが、ここ数年で人気が急上昇しています。VueJSは、かつてAngularプロジェクトに携わっていたGoogleのエンジニア、Evan You氏によって開発されました。このフレームワークは非常に人気が高く、多くのフロントエンドエンジニアが他のJavaScriptフレームワークよりもVueJSを好んでいます。次のグラフは、このフレームワークが時間の経過とともに注目を集めてきた速度を示しています。 Vue JS 人気グラフ VueJS の主な利点は次のとおりです。
VueJS GitHub リポジトリを見ると、プロジェクトには 3,099 件のコミットと 239 人の貢献者がいることがわかります。 Vue JS GitHub ページ メテオJS流星のページ MeteorJSは無料かつオープンソースの同型フレームワークです。つまり、Node.jsと同様に、クライアントサイドとサーバーサイドの両方のJavaScriptを実行できます。Meteorは、Angular、React、Vue、Svelteなどの他の一般的なフロントエンドフレームワークと組み合わせて使用できます。 Meteorは、Qualcomm、Mazda、IKEAなどの企業や、Dispatch、Rocket.Chatなどのアプリケーションで使用されています。その他の事例は公式ウェブサイトでご覧いただけます。 Meteorのケーススタディ Meteor の主な機能は次のとおりです。
現在、MeteorのGitHubには22,804件のコミットと428人の貢献者がいます。これはオープンソースプロジェクトとしては非常に多い数字です。 Meteor GitHubページ エンバーJSEmberJS ページ EmberJSは、Model-View-ViewModel(MVVM)パターンに基づくオープンソースのJavaScriptフレームワークです。EmberJSを初めて耳にする方は、その活用企業の多さに驚かれることでしょう。Apple Music、Square、Discourse、Groupon、LinkedIn、Twitch、Nordstorm、Chipotleなど、多くの企業がEmberJSをテクノロジースタックの一部として活用しています。EmberJSを使用しているすべてのアプリケーションとクライアントについては、EmberJSの公式ページをご覧ください。 Ember はこれまで説明した他のフレームワークと同様の利点を提供しますが、独自の違いもいくつかあります。
多くのアプリケーションで使用されているフレームワークであるEmberのGitHubページによると、予想通り、プロジェクトには19,808件のコミットと785人の貢献者がいます。これは非常に大きな数字です! EmberJS GitHubページ ノックアウトJSKnockoutJSページ KnockoutJSは、テンプレート・ビュー・ビューモデル(MVVM)パターンとテンプレートを使用する、独立したオープンソースのJavaScriptフレームワークです。Angular、React、Vueなどのフレームワークに比べると知名度は低いかもしれませんが、開発者コミュニティでは活発に活動しており、以下の機能を提供しています。
KnockoutのGitHubページには、約1,766件のコミットと81人の貢献者がいます。これらの数字は他のフレームワークと比べるとそれほど大きくありませんが、プロジェクトは依然として活発にメンテナンスされています。 ノックアウト GitHub ページ バックボーンJSBackboneJSページ BackboneJS は、RESTful JSON インターフェイスを備えたフレームワークです。モデル・ビュー・プレゼンター(MVP) 設計パラダイムに基づいた軽量 JavaScript フレームワーク。 このフレームワークは、Airbnb、Hulu、SoundCloud、Trelloなどで使用されていると報告されています。これらのケーススタディはすべてBackboneのページでご覧いただけます。 BackboneJS の GitHub ページには、3,386 件のコミットと 289 人の貢献者が示されています。 BackboneJS GitHub ページ スヴェルトスリムなページ Svelteは、フレームワークへの参照を組み込むのではなく、DOMを操作するコードを生成するオープンソースのJavaScriptフレームワークです。実行時ではなくビルド時にアプリケーションをJavaScriptに変換するこのプロセスにより、パフォーマンスがわずかに向上することがあります。 Svelte の GitHub ページを見ると、執筆時点でプロジェクトには 5,729 件のコミットと 296 人の貢献者がいることがわかります。 Svelte GitHubページ オーレリアJSアウレリアのページ 最後に、Aureliaをご紹介します。Aureliaは、最新のJavaScriptモジュールをまとめたフロントエンドJavaScriptフレームワークです。Aureliaには、以下のような興味深い機能があります。
Aurelia の GitHub ページを見ると、執筆時点でプロジェクトには 788 件のコミットと 96 人の貢献者がいることがわかります。 Aurelia GitHubページ これはJavaScriptフレームワークの世界を探索しているときに発見したものです。他に興味深いフレームワークを見逃しているでしょうか? |
ウェブフロントエンド開発のためのオープンソースJavaScriptフレームワーク9つ
関連するおすすめ記事
-
マイクロソフト:オープンソースの導入を推進する5つの方法
-
Clusternet は、Tencent が開発したオープンソースの Kubernetes マルチクラスター管理およびクラスター間オーケストレーション ツールです。
-
VS Codeオープンソースプロジェクトを維持する背景
-
Nvidia のオープンソース ドライバーはなぜ Linux にとってそれほど重要なのでしょうか?
-
μC/OS、FreeRTOS、RT-Thread、ThreadX のオープンソース ライセンスについて説明します。
-
Microsoft Azure Managed Grafana が完全に利用可能になり、インフラストラクチャの潜在的な技術的問題を綿密に監視できるようになりました。