четверг, 10 октября 2013 г.

10 самых популярных фреймворков JavaScript

Не знаете, какой UI-фреймворк лучше всего подойдет для вашего проекта? Выбрать среди десятка сильнейших будет трудно.

За последние несколько лет мы стали свидетелями колоссального роста UX-ориентированных библиотек и фреймворков -- большинство из них с открытым исходным кодом. Об их использовании, завершенности и правильном подходе писали много.

Однако, вне поля зрения остались размер и потенциал сообществ и экосистем вокруг этих open source-проектов. Данная статистика должна помочь определиться с вашим выбором.

Какие проекты забрались на вершину

В ходе анализа были изучены 10 сообществ, стоящих за топовыми open source-проектами, охватывающими UI-библиотеки, фреймворки и full-stack фреймворки, включающие компоненты на стороне сервера. Сегодня мы рассмотрим самые крутые UI-проекты, среди которых AngularJS, Ember.js, SproutCore, Backbone.JS, Knockout.js, Spine, CanJS, Meteor-JS, Derby и Yahoo Mojito.

Количество участников в месяц

Изучение количества участников проекта в месяц позволяет получить представление о динамике проекта и определить ключевые переломные моменты развития проектов, которые привлекают широкое внимание индустрии. Диаграмма внизу отслеживает количество участников в месяц. Статистика показывает, сколько разработчиков сделали вклад в проект в определенном месяце.


Количество участников проекта в месяц: количество участников в Ember стремительно выросло, когда проект ответвили от SproutCore в декабре 2011 года. AngularJS тоже пережил стремительный рост популярности.

Как видите, SproutCore вначале вырывался в лидеры по количеству участников в месяц. Однако, когда в декабре 2011 ветка SproutCore была выделена в отдельный проект Ember, многие разработчики продолжили над ним работать, придав ему мощный толчок.

Ember вместе с AngularJS пережили всплеск количества участников в 2013 году. Также, обратите внимание, что весной этого года количество активных участников Backbone и Meteor значительно снизилось одновременно с ускоренным ростом популярности AngularJS и Ember.

Постоянные участники

Общее количество постоянных участников проекта позволит разобраться в нескольких различных моментах. Во-первых, оно часто отображает стиль управления проектом. Многими проектами жестко управляет небольшая группа людей, в то время как другие открыты для широкой публики.

Количество участников за все время существования проекта: у AngularJS и Ember самые большие сообщества.

Количество постоянных участников также помогает понять относительную динамику проекта в любой момент времени. Крупные, хорошо зарекомендовавшие себя проекты привлекают огромное количество участников, которые помогают исправлять ошибки, дополнять документацию и выполнять другие задачи.

Общее количество участников является хорошим показателем общего размера кодовой базы. Особенно если объединить данный показатель с другими вроде строк кода, общего количества коммитов и количества коммитов в месяц.

Экосистемы

Экосистемы проектов тоже позволяют увидеть потенциал сообщества проекта. Отсюда видно, что само по себе основное сообщество не всегда служит индикатором успеха проекта.

Количество связанных проектов: "мощь" проекта можно частично измерить с помощью количества связанных с ним проектов. Здесь несомненными победителями являются Backbone.js и AngularJS.

В частности, Backbone обладает внушительной экосистемой, что демонстрирует его широкое использование в индустрии. В попытке очередной раз подтвердить достоверность данной информации я ограничил поиск до связанных с Backbone проектов, имеющих три или больше звездочек на GitHub. Получилось 1627 проектов. Для сравнения -- у AngularJS таких проектов 794.

Full-stack решения

Поскольку для full-stack решений характерен иной, чем у других проектов, масштаб, я хотел отдельно изучить их развитие. Full-stack решения включают как фреймворки на стороне клиента, так и на стороне сервера.

Гипотетически, в данном случае количество кода -- и участников -- должно быть больше. Диаграмма свидетельствует, что каждый из проектов находится на относительно ранней стадии своего развития и пока на отличается высоким количеством участников.

Количество full-stack решений: Meteor и Mojito имеют за собой сильное сообщество, по крайней мере, если верить показателю количества участников.

Подъем JavaScript

Количество разработчиков, инвестирующих время и создающих структурированные подходы к использованию JavaScript стремительно растет. На диаграмме внизу видно, как увеличивалось количество участников с начала 2011 года.

Эта тенденция отображает возрастающую важность UI-фреймворков в современной разработке приложений и постоянную необходимость в различных подходах, восполняющих потребности вариантов использования в компаниях разных размеров. Начиная с января текущего года количество участников заметно увеличилось, что в первую очередь обусловлено расширением команд AngularJS и Ember.

Общее количество участников всех 10 JavaScript-проектов: Если у вас возникли сомнения, эта диаграмма убедит вас, что JavaScript завоевывает мир -- среднее количество разработчиков выросло более чем вдвое в период с 2011 по 2013 гг. 

Строки кода и коммиты

Вы, наверняка, хотите узнать размер базы кода каждого из проектов, и связь между этим показателем и количеством участников. Но между размером сообщества, общим количеством коммитов и размером кодовой базы прослеживается слабая связь. Например, у AngularJS 413 строк кода на участника, а у Ember -- 146.

Строки кода и количество участников: Большее количество строк кода на одного участника может говорить о том, что в проекте легче принимать участие.

Однако, можно провести параллель между размером сообщества (постоянных участников) и количеством коммитов и увидеть, что количество коммитов варьируется от проекта к проекту. Это доказывает, что в некоторых проектах проще участвовать (что влияет на их долгосрочную устойчивость).

Что в будущем?

Размер и рост количества участников сообщества -- надежные показатели потенциала проекта. Они не показывают всю картину, но дают представление о проектах, "подкрепленных" огромными вкладами времени и знаний, и помогают принять решение, исходя из перспективности и стабильности сообщества проекта.

Учитывая приведенные здесь данные можно предположить, что особое внимание следует обратить на Ember и AngularJS. С другой стороны, экосистема Backbone сулит проекту долгое светлое будущее.

Комментариев нет:

Отправить комментарий