blog

見逃せないJavaScriptフレームワークの注目プロジェクトトップ10

技術コミュニティの力は、ユーザーによるフレームワークの選択において重要な役割を果たします。今日の記事では、AngularJSやEmber.JSのようなプロジェクトを支える人々について学びましょう。...

Feb 12, 2015 · 5 min. read
シェア

技術コミュニティの力は、ユーザーがJavaScriptフレームワークを選択する上で重要な役割を果たしています。今日の記事では、AngularJS、Backbone.JS、Ember.JSなどのプロジェクトを支える人々について学びます。

どのJavaScript UIフレームワークが実際にあなたのプロジェクトや組織の本当のニーズを満たすかを考えようとしていますか?人気のあるソリューションのトップ10に直面したとき、真剣に考慮しなければならない多くの要因があります。

ここ数年、UXライブラリやフレームワークの急速な発展を目の当たりにすることができました。市場における様々なフレームワークの完全性を比較する方法はいくつかありますが、見落とされがちな重要な決定要因がいくつかあります。これらのコミュニティとエコシステムの規模、強さ、開発傾向は、最終的にオープンソースプロジェクトの将来の運命を決定します。つまり、これらの統計は、意思決定を導くための重要な根拠となるはずです。

リストのプロジェクト内容

この調査と分析では、主にトップ10のオープンソースプロジェクトの背後にある技術コミュニティに焦点を当てています。ちなみに、これらのオープンソースプロジェクトトップ10は、UIライブラリ、フレームワーク、サーバーサイドランタイムを含むフルスタックフレームワークをカバーしています。この分析の対象はすべて、AngularJS、Ember.JS、SproutCore、Backbone.JS、Knockout.js、Spine、CanJS、Meteor-JS、Derby、Yahoo Mojitoなど、現在人気のあるUIプロジェクトです。

月間投稿者数

各プロジェクトの月ごとの正確な貢献者数とその増加率を調べることで、プロジェクトのダイナミクス、プロジェクトに対するビジネスの関心度、および重要な開発の転換点を理解することができます。以下のチャートは、上位10プロジェクトの毎月の貢献者数を表しています。

歴史的貢献者の数

プロジェクトの歴史を通じて、貢献者の全体的な人数を次のように見てみると、別の視点から妥当な結論を見出すことができます。歴史的な貢献者数は、しばしばプロジェクトの特定の管理スタイルを反映していることを強調する価値があります。多くのプロジェクトは、小規模なチームによって厳重に管理されてきましたが、一方で、技術コミュニティによってもたらされる多様性を完全にオープンにし、受け入れるという方針を採用してきたプロジェクトもあります。

過去の貢献者の数は、その時点でのプロジェクトの相対的な傾向を理解するのにも役立ちます。大規模で組織化されたプロジェクトでは、バグを修正したりドキュメントを作成したり、 その他多くの作業を行う貢献者の数が多い傾向があります。貢献者の総数は、プロジェクトのコードベースの大きさと密接に相関する傾向があります。歴史的な貢献者の数は、コード行数やコミット数、月間のコミット数といった他の技術コミュニティの指標よりも重要です。

プロジェクトの生態系

現在の貢献者数に加え、プロジェクトの技術コミュニティの強さはエコシステムに反映されています。エコシステムの構築と拡大は、プロジェクトそのものと表裏一体です。つまり、中核となる技術コミュニティだけでは、プロジェクトの全体像を把握することはできません。より広いエコシステムを見てこそ、ひとつのプロジェクトの全体的な有効性を正確に判断することができるのです。

Backboneが大きなエコシステムを持っていることは注目に値します。Backboneのエコシステムの広さをさらに検証するために、GitHubをフィルタリングして星が3つ以下のものを除外し、Backboneに密接に関連する三つ星とハートのプロジェクトだけを残しました。これに対して、AngularJSには三つ星とハートマークが付いたプロジェクトが1つしかありません。つまり、BackboneのエコシステムはAngularJSの2倍以上あるということです。

フルスタックソリューション

フルスタック・ソリューションは、他のプロジェクトとは異なる視点から見られるため、このようなプロジェクトを分けて比較したいと考えました。フルスタック・ソリューションには、クライアントサイドとサーバーサイドの両方のフレームワークが含まれます。このようなソリューションに関連するコード量ははるかに多く、関係する技術スタッフの規模も時間の経過とともに大きくなっていると考えられます。下図は、開発の比較的初期段階におけるこれらのプロジェクトの関与を示しています。

JavaScriptの台頭

構造化 JavaScript ソリューションの作成に時間とエネルギーを捧げる開発者の数は急増し続けています。下のグラフは、2011 年の初めからコードを投稿した開発者の数を示しています。この統計は、今日のアプリケーション開発における UI フレームワークの重要性と、あらゆる規模のビジネスにおける差別化されたユースケースシナリオのニーズの高まりを反映しています。今年1月以降、コードを寄稿する開発者の数は大幅に増加しており、これはおそらく AngularJS と Ember のチームが牽引していると思われます。

JavaScriptプロジェクトトップ10のコード貢献者総数: もし疑問があるとすれば、このチャートはJavaScriptが世界を席巻していることを事実で証明してくれるでしょう。加えて、各プロジェクトへの平均貢献者数は、2011年と比較して今年は概ね倍増しています。

コード行数とコミット数

主要なオープンソースプロジェクトのコードベースのサイズ、およびコードベースとコード貢献者の数の相関関係について、もっと知りたいと思うかもしれません。比較してみると、技術コミュニティの規模やコミット数全体は、コードベースの規模とはほとんど関係がないことがわかります。例えば、AngularJSプロジェクトの各コントリビューターは平均413行のコードをもたらしますが、Emberプロジェクトの各コントリビューターは平均146行のコードしかもたらしません。

しかし、技術コミュニティの規模と過去のコミット回数の相関関係を見つけることもできますし、それをもとに各コントリビューターがプロジェクトにもたらした平均的なコミット回数を分析することもできます。この統計から、どのプロジェクトが貢献しやすいのか、そしてそれがプロジェクトの長期的な発展にどのような影響を与えるのかがわかるかもしれません。

未来を描く

技術者コミュニティの規模と発展速度は、プロジェクトの将来にとって重要です。これらの指標は、すべてを物語るものではありませんが、特定のコミュニティにおける技術者の関与のレベルを理解し、プロジェクトの実行可能性と持続可能性を理解するために使用することができます。また、プロジェクトのライフサイクルにおけるさまざまな成長ポイントを特定するのにも役立ちます。



Read next

つのよくある問題におけるサーバー仮想化プロセスの分析

どんな技術であれ、その優れた側面には限界の側面があります。しかし、技術の継続的な進歩と発展により、仮想化プロセスの問題の多くが解決策を持つようになるでしょう。

Feb 11, 2015 · 6 min read