Топ-20 самых популярных JavaScript-репозиториев на GitHub
Программное обеспечение с открытым исходным кодом в последние годы набирает обороты. В проектах с открытым исходным кодом разработчики взаимодействуют друг с другом и с сообществом в целом для создания конечного проекта. Самая большая платформа, предоставляющая площадку для таких проектов, — это GitHub.
А когда дело доходит до популярности языков программирования, то здесь в лидерах JavaScript. Согласно отчету GitHub State of the Octoverse (на диаграмме ниже), JavaScript неизменно остается самым популярным языком программирования по количеству участников проектов.
В этой статье мы рассмотрим двадцать самых популярных на GitHub open-source репозиториев, связанных с JavaScript. Рейтинг я составлял, основываясь на количестве поставленных звездочек (stars) у репозитория.
Рейтинг
Первое место: FreeCodeCamp — 327 тыс. звезд
FreeCodeCamp — это некоммерческая организация, которая намерена сделать обучение веб-разработке доступным для всех. Она включает в себя интерактивную обучающую веб-платформу, онлайн-форум сообщества, чаты, публикации статей. Ее фаундер Quincy Larson, будучи директором школы, задался целью научиться программировать, чтобы создавать инструменты для повышения эффективности школ. Осознав, насколько недоступным было обучение программированию для масс, он решил создать полностью интерактивную, инклюзивную и бесплатную платформу для взаимного обучения программированию. Так появилась freeCodeCamp. У организации больше 3,5 миллиона подписчиков на YouTube.
Второе место: Vue — 186 тыс. звезд
Vue — это веб-фреймворк для разработки пользовательских интерфейсов на JavaScript. Он позволяет создавать сложные одностраничные приложения (Single-Page Applications), а также решает различные задачи уровня представления (view) и упрощает работу с другими библиотеками. Его создал сотрудник Google Evan You, который в
Если вам по каким-то причинам не дался React и в голове засела мысль, что для фронтенд-разработки нужно обязательно знать какой-нибудь фреймворк — Vue лучшее для вас решение. Он простой, имеет понятную документацию (даже на русском), выстрелить себе в ногу с ним сложнее, чем с другими веб-фреймворками.
Третье место: React — 172 тыс. звезд
React.js — это библиотека, которая используется для создания пользовательских интерфейсов специально для одностраничных приложений. Она применяется для обработки слоя представления (view layer) для веб- и мобильных приложений. React создал Jordan Walke, инженер-программист в Facebook. Впервые React был размещен в ленте новостей Facebook в 2011 году, а на Instagram — в 2012 году.
Согласно опросу на Stack Overflow за 2020 год, React признан самым любимым инструментом разработчиков для фронтенд-разработки.
JavaScript-algorithms — 115 тыс. звезд
JavaScript-algorithms — репозиторий украинца Oleksii Trekhleb, где представлены популярные алгоритмы и структуры данных, реализованные на JavaScript, с разъяснениями и ссылками на дополнительную литературу.
JavaScript — 112 тыс. звезд
JavaScript Style Guide — это набор стандартов и требований при написании JavaScript-кода от инженеров Airbnb.
Ознакомиться с ним я советую всем начинающим web-разработчикам. В гайде описаны не столько правила стилистического оформления кода, как советы по грамотному и понятному написанию кода на JavaScript. За несколько часов, потраченных на изучение гайда, начинающие разработчики смогут более глубоко понять JavaScript, чем за пару дней проб и ошибок на работе и консультаций со старшими коллегами.
D3 — 98 тыс. звезд
D3.js (Data Driven Documents) создал Mike Bostock из New York Times, чтобы разрабатывать более интерактивные визуализации данных с использованием веб-технологий. D3 использует преимущества базовых веб-технологий, а именно JavaScript, HTML, CSS3, Canvas и SVG.
D3.js может как напугать большим списком доступных функций в документации, так и обрадовать обширным перечнем руководств и книг по использованию этой библиотеки.
React Native — 97 тыс. звезд
React Native — это JavaScript-фреймворк для разработки мобильных приложений на платформы iOS и Android. Другими словами: веб-разработчики с его помощью могут писать мобильные приложения, которые выглядят и ощущаются «нативными». Кроме того, поскольку большая часть написанного кода может использоваться разными платформами, React Native упрощает одновременную разработку как для Android, так и для iOS.
Думаете, «Чики-брики и в дамки» — простая разработка приложения одной командой сразу на две платформы? Есть и проблемы: перфоманс RN уступает нативному решению, при разработке собственных модулей у вас может получиться три кодовые базы (RN, Android и iOS), он все еще находится в бете, вам потребуются поверхностные знания нативной разработки.
Create React App — 89 тыс. звезд
Одна из основных жалоб в отношении React ранее заключалась в том, что было сложно приступить к созданию приложения. Для этого требовалось подключать Webpack/Brunch/Browserify/тому подобное. А для начинающего разработчика это еще та задачка. Конечно, можно было (да и сейчас можно) подключить библиотеку React через CDN, но без некоторых тонкостей, которые поставляются со средой разработки React.
Create React App — официально поддерживаемый способ создания одностраничных приложений React, который решил все возникающие трудности. А именно:
- не нужно знать и конфигурировать разные инструменты, чтобы «завести» React;
- вашему приложению нужна только одна зависимость сборки;
- «под капотом» используется webpack, Babel, ESLint и многое другое.
- если вам когда-нибудь понадобится расширенная конфигурация, вы можете eject-нуть проект и напрямую отредактировать его файлы конфигурации.
Axios — 86 тыс. звезд
Axios — это популярная библиотека для создания HTTP-запросов к RESTful или GraphQL API. Axios выполняет ту же задачу, что и fetch API, предоставляемый многими браузерами. Под капотом использует Promise.
30-seconds-of-code — 81 тыс. звезд
30-seconds-of-code — это «сборная солянка» сниппетов и вспомогательных функций ES6: функции-хелперы для работы с примитивами, массивами и объектами, а также алгоритмы, функции манипулирования DOM и утилиты Node.js. Репозиторий не ограничивается только JavaScript, здесь есть сниппеты и для веба, Git, Python.
Node — 80 тыс. звезд
Node.js — это кросс-платформенная внутренняя среда выполнения JavaScript, которая работает на движке V8 и выполняет код вне веб-браузера. Node.js представляет собой парадигму «JavaScript для всех», объединяющую разработку веб-приложений на едином языке программирования, а не на разных — для сервера и клиента.
В это сложно поверить, но в этом году Node.js исполнилось уже 12 лет.
Angular — 75 тыс. звезд
Angular — фреймворк для создания одностраничных клиентских приложений. Использует интерфейс командной строки (Angular CLI) для создания проектов, генерации кода приложений и библиотеки и выполнения множества текущих задач разработки, таких как тестирование, бандлинг и развертывание.
Сотрудник Google Misko Hevery работал над сайд-проектом, который должен был упростить процесс создания веб-приложений. Его решение было выпущено в 2010 году как проект с открытым исходным кодом под названием AngularJS и стало активно использоваться сообществом фронтенд-разработчиков и некоторыми крупными брендами. Спустя несколько лет появились новые обновления в JavaScript, и команда была вынуждена переписать AngularJS с нуля на основе TypeScript. В названии фреймворка опущено «JS», чтобы избежать путаницы. Мажорные обновления происходят раз в полгода, а последнее — Angular 11 — вышло осенью 2020 года. Интересный факт: название фреймворка происходит от англ. angular (да ладноо!) — «угловатый» на обозначение скобок «< >» в HTML.
Three.js — 73 тыс. звезд
Three.js позволяет создавать 3D-анимацию с GPU-акселерацией на JavaScript. Он использует WebGL, систему низкого уровня, которая рисует только точки, линии и треугольники. Чтобы сделать что-нибудь полезное с WebGL, обычно требуется много дополнительного кода, и здесь пригодится three.js. Эта библиотека может использовать WebGL для рендеринга ваших сцен во всех современных браузерах. Над библиотекой работает большое количество разработчиков. Главным идеологом и создателем является Ricardo Cobello, известный под творческим псевдонимом Mr.Doob.
Next.js — 71 тыс. звезд
Next.js — популярный фреймворк на React. Он позволяет генерировать статические сайты (SSG) и делать рендеринг на стороне сервера (SSR) без необходимости настройки. Также «из коробки» имеет оптимизацию картинок, интернационализацию текста, аналитику, поддержку TypeScript и многое другое.
Material-UI — 69 тыс. звезд
Material UI — это библиотека компонентов для React, изобилующая мощными компонентами, которые можно использовать в проектах. Если вы просто хотите создать красивое приложение, Material UI предоставит надежные, предварительно стилизованные компоненты, которые помогут ускорить разработку проекта.
В общем, если вам поставили задачу накидать админку, а верстать кнопки-формочки вам уже не комильфо — смело подключайте Material UI.
Webpack — 58 тыс. звезд
Webpack — это сборщик статических модулей для современных JavaScript-приложений. C помощью webpack можно:
- Выполнять транспиляцию JavaScript до более старого стандарта благодаря Babel, что позволит использовать новейшие функции JavaScript, не беспокоясь о том, поддерживает их браузер или нет.
- Запустить «локальный» сервер и livereload.
- Следить за изменениями и повторно выполнять задачи.
- Разделять выходной файл (output file) на несколько файлов, чтобы избежать медленной загрузки страницы из-за большого размера JS-файла и многое другое.
Reveal.js — 56 тыс. звезд
Reveal.js — HTML-презентационный фреймворк, который позволяет любому, у кого есть веб-браузер, бесплатно создавать полнофункциональные и красивые презентации. Reveal.js включает в себя широкий набор функций, например: вложенные слайды, поддержка Markdown, автоматическая анимация, экспорт в PDF, заметки «докладчика» и подсветка синтаксиса кода.
jQuery — 55 тыс. звезд
jQuery — это быстрая, небольшая и многофункциональная библиотека JavaScript. Она значительно упрощает манипуляции с HTML-документами, обработку событий, анимации и асинхронные запросы с помощью простого в использовании API, который работает во множестве браузеров.
В отдельном представлении репозиторий не нуждается. Если вы читаете эту статью, значит, имели дело с ним. Помню, когда я только знакомился с вебом, то думал, что «$» — это синтаксис у языка такой, а не название функции.
Socket.io — 54 тыс. звезд
Socket.io — это кросс-браузерная библиотека, которая на основе «событий» предоставляет возможности для взаимодействия в приложениях реального времени. Состоит из двух частей: клиентской библиотеки, работающей в браузере, и серверной библиотеки для Node.js. Оба компонента имеют одинаковый API.
Gatsby — 50 тыс. звезд
Gatsby — это генератор статических сайтов, построенный на JAM-подходе (JavaScript, APIs & Markup). Если коротко, Gatsby может запрашивать данные с сервера через GraphQL, генерировать js-бандл с помощью webpack и развертывать предварительно собранные страницы HTML, CSS и React на сервере.
Заключение
JavaScript в настоящее время является одним из наиболее часто используемых языков программирования и востребованным навыком в ІТ-индустрии. Поскольку сам язык постоянно совершенствуется благодаря новым функциям, таким как Optional Chaining и Nullish Coalescing, широкое распространение TypeScript выводит этот язык на совершенно другой уровень за счет популяризации статической типизации.
При создании этого рейтинга я заметил, что на протяжении своей работы в фронтенде, я не знал/не использовал только 4 репозитория из 20 — уверен, что и большинству читателей многие репозитории уже знакомы. Мне также импонирует, что многие из этих репозиториев прямо или косвенно включают в себя экосистему React. Считаю эту библиотеку одним из лучших решений для создания приложений. Также интересно, что на первом месте по количеству звезд на GitHub не инструмент/библиотека/фреймворк, а образовательная платформа для изучения программирования.
У читателя может возникнуть вопрос: «Эй, а где в этом топе, например, bootstrap c 152 тыс. или Angular.js c 59 тыс. звезд?» По моему мнению, JavaScript не основная часть в bootstrap, а Angular.js уже официально не поддерживается. Следует помнить, что нет точной статистики популярности репозиториев и использования языка JavaScript в них, так что представленный рейтинг — несколько субъективная подборка автора, она может расходиться с общепринятым мнением. Так что делитесь в комментариях — какие популярные репозитории добавили бы вы?
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів