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

Существует множество платформ и магазинов, которые можно рассматривать как место размещения вашего ПО. Чтобы решить, какую платформу использовать в качестве инструмента распространения, конечно же, нужно знать свою целевую аудиторию и платформы, которым она отдаёт предпочтение.

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

Поэтому как человек, заинтересованный в распространении этой библиотеки, вы должны сделать две вещи:

  • Собрать как можно больше информации о наиболее популярных платформах для размещения ПО для JS.
  • Предпринять соответствующие действия, чтобы сделать библиотеку доступной на этих платформах.

С первым пунктом мы вам поможем. Давайте разберём самые популярные способы распространения модулей JavaScript.

Итак, начнём!

1. Сеть доставки содержимого (CDN)

CDN нацелена на быструю передачу ресурсов, необходимых для загрузки содержимого веб-страницы: таблиц стилей, изображений и файлов JavaScript. CDN становятся всё более популярными: значительная часть веб-трафика обслуживается через них.

Учитывая доступность CDN и простоту их использования, широкое признание они получили вполне заслуженно.

Наличие доступа к модулю JS через CDN не будет для вас обременительным, а пользователям вашей библиотеки принесёт много преимуществ.

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

Чем CDN может быть полезна конечным пользователям:

  • Не требует загрузки и копирования файлов на сервер, а также использования некоторых дополнительных программ, таких как диспетчеры пакетов.
  • Обеспечивает высокую отказоустойчивость и высокую производительность с точки зрения загрузки скриптов.
  • Автоматически использует последнюю версию библиотеки при работе в приложении.

2. GitHub

Прежде всего, GitHub — это идеальное решение для проектов с открытым исходным кодом. Используя GitHub в качестве репозитория, вы обзаведётесь целым сообществом для своего проекта. Таким образом, помимо дополнительной платформы для распространения программного обеспечения, вы получаете группу единомышленников, собранных вокруг вашей библиотеки.

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

Но даже если ваше ПО коммерческое, GitHub стоит использовать. Ведь он может быть отличным вариантом для продвижения JavaScript-библиотеки.

Есть ли в вашей библиотеке какие-либо включения других библиотек, фреймворков и технологий?

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

Стоит помнить: GitHub достаточно популярен, чтобы быть в верхней части поисковой выдачи Google, поэтому не следует недооценивать его мощь.

Чем доступ к вашей библиотеке через GitHub может быть полезен конечным пользователям:

  • Лёгкая загрузка и обновление программного обеспечения.
  • В случае проекта с открытым исходным кодом конечные пользователи могут взять исходный код и приспособить его под свои потребности.
  • GitHub — это подходящее место для обмена различными примерами использования библиотек.

3. npm registry

Общедоступная npm registry — это база данных, в которой содержатся пакеты JavaScript, используемые для различных целей разработки. При использовании npm или yarn загружаемый пакет извлекается прямо из этого реестра.

По причине довольно большой популярности npm и его аналогов в веб-разработке, публикация вашей библиотеки JS в реестре npm registry может обеспечить ей львиную долю пользователей.

Чем доступ к вашей библиотеке через npm registry может быть полезен конечным пользователям:

  • Позволяет устанавливать программное обеспечение с помощью npm, yarn и других подобных диспетчеров пакетов.
  • Лёгкие обновления ПО, а также возможность продолжать работу с точной младшей версией.

4. The NuGet Gallery

The NuGet Gallery поддерживает более 200 000 уникальных пакетов для разработки на платформе .NET. Это такое же хранилище, как и реестр npm registry для npm. Оно использует диспетчер пакетов NuGet при загрузке библиотеки для ваших нужд. Поэтому, если вы считаете, что ваша библиотека может быть полезна разработчикам на платформе .NET, обязательно создайте для неё пакет NuGet.

Чем доступ к вашей библиотеке через NuGet gallery может быть полезен конечным пользователям:

  • Позволяет устанавливать программное обеспечение с помощью очень удобного в использовании диспетчера пакетов NuGet.
  • Лёгкие обновления пакетов и возможность продолжать работу с необходимой версией ПО.

Как много, оказывается, существует разных вариантов распространения программного обеспечения. Но не стоит забывать о старой доброй ссылке для скачивания. Ссылка для скачивания вместе со всеми упомянутыми выше платформами — это идеальный набор средств для размещения и распространения ПО.

В этой статье мы описали наиболее популярные способы распространения программного обеспечения и надеемся, что они помогут вам в продвижении и развитии вашей библиотеки JavaScript. Давайте же скорее поделитесь своим ПО со всем миром!

? Ещё больше материалов по программированию можно найти, перейдя по ссылке gitconnected.com.

Читайте также:


Перевод статьи WebDataRocks: Ways to publish your JavaScript library: CDN, NPM, GitHub

Предыдущая статья10 правил проектирования взаимодействия, которые нельзя нарушать
Следующая статьяRust для разработчиков JS