Открытый исходный код и разработчики — это открытый роман, который не нравится закрытому исходному коду. Для тех из вас, кому не нравятся подобные заявления, ↓ — это набор показателей от Boston Consulting Group, который должен вас разогреть.

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

☝🏻 Факторы, которые я учитывал, когда составлял этот список:

  • Популярность

  • Вклад сообщества

  • Поддержка частоты вращения

  • Скорость релизов

  • Разработка новых функций

  • Безопасность

Как они справляются с пятёркой в ​​этом списке

  • ~16 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 3/5.

  • Скорость выпуска: 3/5

  • Частота поддержки: 5/5

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

Плюсы

  • Легко настроить и интегрировать

  • Единый API для всех поставщиков сообщений (электронная почта, SMS, Push, чат)

Минусы

  • Нет конфигурации на основе ORM

  • Никаких тарифных планов для службы, управляемой облаком.

Novu предлагает простой в использовании API и ориентирован на опыт разработчиков. Это означает, что разработчики могут легко интегрировать уведомления в свои приложения, не беспокоясь о базовой инфраструктуре.

С Novu вы можете,

  • Подключайте разных провайдеров. Используйте встроенную коллекцию популярных провайдеров — Sendgrid, Mailgun, Twilio и многих других. Добавьте ключ API, и все готово.

  • Установите несколько каналов уведомлений: Novu поддерживает множество уведомлений, включая электронную почту, SMS, push-уведомления и многое другое. Это означает, что вы можете связаться со своими пользователями через предпочитаемые ими каналы и обеспечить доставку ваших сообщений.

  • Используйте динамические шаблоны: выбирайте каналы, добавляйте контент с синтаксисом {<!-- -->{dynamic}} и настраиваемые правила для управления доставкой уведомлений.

  • Отслеживание ленты: Novu предоставляет ленту активности уведомлений, которая отслеживает каждое исходящее сообщение, связанное с соответствующими метаданными.

Альтернатива с закрытым исходным кодом

  • Курьер

  • Волшебный колокольчик

🔎 Как они справляются с пятёркой в ​​этом списке

  • ~24,7 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 4/5.

  • Скорость выпуска: 5/5

  • Частота поддержки: 5/5

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

Плюсы

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

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

  • Несколько вариантов самостоятельного развертывания.

Минусы

  • Адаптивный пользовательский интерфейс для мобильных устройств (скоро появится в их планах)

С Appsmith вы получаете:

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

  • Собственные интеграции: Appsmith упрощает подключение к предпочитаемым вами базам данных и инструментам благодаря более чем 20 собственным интеграциям. К ним относятся популярные варианты, такие как Postgres, MongoDB и Airtable, а также возможность подключения практически к любому API с помощью RESTful API или плагина GraphQL.

  • Поддержка кода JavaScript. Вы можете использовать JavaScript внутри {<!-- -->{ }} в любом месте Appsmith. Вы можете ссылаться на каждую сущность в Appsmith как на переменную JavaScript и выполнять над ней все функции и операции JavaScript.

  • Контроль версий с помощью Git. Эта функция в Appsmith позволяет нескольким разработчикам добавлять свою работу в ветку git, создавать запросы на включение для проверки кода, интегрироваться с конвейерами CI/CD и предоставлять историю коммитов, чтобы в случае чего вернуться к предыдущей версии. должны были пойти не так.

Альтернатива с закрытым исходным кодом

  • Переоборудование

  • ДронаHQ

  • Суперблоки

🔎 Как они справляются с пятёркой в ​​этом списке

  • ~44 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 4/5.

  • Скорость выпуска: 5/5

  • Частота поддержки: 4/5

В последнее время конкуренция между базами данных усилилась. После трех десятилетий роста и совершенствования Postgres завоевал репутацию надежного и высокопроизводительного продукта, что сделало его популярным выбором среди предприятий любого размера. Oracle поставила под угрозу природу MySQL с открытым исходным кодом, и с ростом популярности облачных хранилищ Postgres стал ведущим вариантом баз данных с открытым исходным кодом. Появление Supabase, основанной на Postgres альтернативы Google Firebase, отражает тенденцию к тому, что варианты с открытым исходным кодом бросают вызов проприетарным.

Плюсы

  • Полная база данных Postgres с Instant REST

  • Он поставляется с электронной почтой/социальной аутентификацией.

Минусы

  • Его SDK работает только с JS (поддержка других языков все еще находится в стадии бета-тестирования).

  • Политики безопасности ограничены в режиме реального времени

С помощью Supabase вы можете:

  • Настройка базы данных. В основе большинства приложений лежит хранение данных и предоставление пользователям быстрого и легкого доступа. Для достижения этой цели Supabase использует PostgreSQL, реляционную базу данных с открытым исходным кодом. Эта технология позволяет Supabase обеспечить удобство хранения, извлечения и управления данными в ваших приложениях.

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

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

  • Настройка хранилища. Как администратор, платформа Supabase позволяет вам легко управлять файлами из браузера. Вы можете искать, загружать, просматривать и удалять файлы несколькими щелчками мыши. Хранилище Supabase легко интегрируется с PostgreSQL и предоставляет вам простой API JavaScript.

Альтернатива с закрытым исходным кодом

🔎 Как они справляются с пятёркой в ​​этом списке

  • ~8K GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 4/5.

  • Скорость выпуска: 3/5

  • Частота поддержки: 4/5

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

Плюсы

  • Модульная архитектура упрощает настройку.

  • Он предоставляет функцию переопределения, которая позволяет вам полностью настроить аутентификацию и выполнять ее как на внешней, так и на внутренней стороне.

Минусы

  • Нет, они не поддерживают многие популярные языки, такие как Java и Php, и не имеют предварительно созданного пользовательского интерфейса для популярных фреймворков внешнего интерфейса, таких как Angular и Vue.

  • Не хватает корпоративных функций, таких как подготовка SCIM, администрирование и поддержка организации.

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

В комплект SuperTokens входит:

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

  • Управление сеансами: обеспечивает надежную систему управления сеансами, которая позволяет легко создавать, проверять, обновлять и отзывать пользовательские сеансы с высоким уровнем безопасности.

  • Управление ролями: Supertokens также включает систему управления ролями, которая позволяет вам легко назначать пользователям определенные роли и контролировать, какие действия им разрешено выполнять в вашем приложении. Это достигается путем присвоения сеансам ролей, что позволяет точно настраивать уровни доступа различных пользователей.

Альтернатива с закрытым исходным кодом

  • Авторизация0

  • Окта

🔎 Как они справляются с пятёркой в ​​этом списке

  • ~28 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 3,5/5.

  • Скорость выпуска: 3/5

  • Частота поддержки: 4/5

Appwrite — это популярная платформа Backend-as-a-Service (BaaS) с открытым исходным кодом, которая предоставляет различные инструменты и функции для создания современных многофункциональных приложений. Это отличное решение для разработчиков, которым нужна платформа BaaS с открытым исходным кодом и широкими возможностями настройки. С помощью Appwrite вы можете легко настроить серверную часть для своего приложения и воспользоваться такими функциями, как базы данных реального времени, хранилище файлов, бессерверные функции и многое другое.

Плюсы

  • Улучшенная документация для самостоятельных экземпляров.

  • Легко начать.

Минусы

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

  • Вам необходимо обеспечить безопасность веб-сервера.

С помощью Appwrite вы можете:

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

  • Управление хранилищем данных. Appwrite предлагает гибкое и масштабируемое решение, которое позволяет разработчикам легко хранить, извлекать и запрашивать данные.

  • Функции записи: Appwrite предоставляет среду выполнения функции, которая позволяет разработчикам создавать собственную серверную логику и интеграцию без обслуживания серверов.

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

Альтернатива с закрытым исходным кодом

  • Огневая база

🔎 Как они справляются с пятёркой в ​​этом списке

  • ~24 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 4/5.

  • Скорость выпуска: 3/5

  • Частота поддержки: 4/5

Astro — это новая платформа для создания веб-сайтов, которая позволяет использовать среду JavaScript, которая выводит статический сайт без JavaScript. По умолчанию Astro не передает клиенту JavaScript и отображает компоненты в HTML. Это помогает повысить производительность веб-сайта, поскольку увеличение количества JavaScript может привести к замедлению загрузки. Если вам действительно необходимо использовать JavaScript на своем веб-сайте, Astro предлагает возможность использовать частичную гидратацию с помощью клиентских директив. Эти директивы позволяют вам указать, когда и как компонент должен быть гидратирован или добавлен к нему JavaScript.

Плюсы

  • Шаблон предоставляет все преимущества компонентной архитектуры, такие как возможность повторного использования и удобства сопровождения.

  • Веб-сайты оптимизированы для SEO, поскольку весь статический контент отображается на сервере.

Минусы

  • На эту тему (архитектура острова Астро) не так много дискуссий.

  • Многие фреймворки утверждают, что поддерживают этот шаблон, что затрудняет выбор между ними.

Одна из замечательных особенностей Astro заключается в том, что он поддерживает популярные библиотеки компонентов, такие как React/Preact (JSX), Svelte, Vue и веб-компоненты, что позволяет разработчикам, уже знакомым с этими инструментами, быстро приступить к работе.

Астро позиционирует себя так:

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

  • Сервер-в первую очередь: Astro максимально использует рендеринг на стороне сервера, а не на стороне клиента. Это тот же подход, который традиционные серверные фреймворки — PHP, Ruby on Rails и т. д. — используют десятилетиями. Но вам не нужно изучать второй серверный язык, чтобы разблокировать его.

  • Полная гибкость: Astro — это универсальный веб-фреймворк со всем необходимым для создания веб-сайта. Astro включает в себя синтаксис компонентов, маршрутизацию на основе файлов, обработку ресурсов, процесс сборки, объединение, оптимизацию, выборку данных и многое другое.

🔎 Как они справляются с пятёркой в ​​этом списке

  • ~24 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 4/5.

  • Скорость выпуска: 3/5

  • Частота поддержки: 4/5

В последние годы GraphQL приобрел значительную популярность как альтернатива REST API. GraphQL — это язык запросов, который позволяет клиентам запрашивать данные определенной формы с сервера, что приводит к более эффективной и гибкой связи между клиентом и сервером.

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

Плюсы

  • Предоставляет мгновенный API-интерфейс GraphQL в реальном времени на основе ваших таблиц и столбцов в базе данных.

  • Поддерживает бессерверные функции.

Минусы

  • Возможности реального времени ограничены.

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

С помощью Nhost вы можете настроить,

  • Аутентификация: Nhost предоставляет полную систему управления пользователями, которая легко добавляет аутентификацию и авторизацию в ваше приложение. Сюда входит поддержка популярных методов аутентификации, таких как адрес электронной почты/пароль, вход через социальные сети и т. д.

  • Бессерверные функции: Nhost позволяет создавать собственную серверную логику и интеграцию без необходимости обслуживания серверов. Это позволяет легко добавлять пользовательские функции в ваше приложение и масштабировать его по мере необходимости.

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

Альтернатива с закрытым исходным кодом

🔎 Как они справляются с пятёркой в ​​этом списке

  • ~49 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 4/5.

  • Скорость выпуска: 3/5

  • Частота поддержки: 4/5

Hoppscotch — это инструмент тестирования API с открытым исходным кодом, который помогает разработчикам быстро и легко тестировать и отлаживать свои API. Это легкий инструмент, который можно использовать для отправки HTTP-запросов и анализа ответов API.

Плюсы

  • Легкий и быстрый.

  • Генератор документации.

  • Поддержка WebSocket также позволяет использовать SSE, Socket.IO и MQTT.

Минусы

  • Небольшая документация

  • Отсутствующие функции для автоматизации тестирования

  • Необходимо добавить некоторые функции через CLI.

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

В комплект поставки Hopscotch входят:

  • Поддержка REST и GraphQL. Hoppscotch поддерживает API REST и GraphQL, что делает его универсальным инструментом, который можно использовать для тестирования API, созданных с использованием широкого спектра технологий.

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

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

  • Поддержка PWA: Hoppscotch включает поддержку прогрессивных веб-приложений (PWA), что позволяет разработчикам легко тестировать и отлаживать API, используемые их PWA.

Альтернатива с закрытым исходным кодом

🔎 Как они справляются с пятёркой в ​​этом списке

  • ~33 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 5/5.

  • Скорость выпуска: 5/5

  • Частота поддержки: 4/5

NocoDB — это проект с открытым исходным кодом, который предоставляет веб-платформу для создания онлайн-баз данных и управления ими. Он спроектирован так, чтобы быть простым и гибким, позволяя пользователям создавать собственные базы данных и рабочие процессы в соответствии со своими конкретными потребностями.

Плюсы

  • Назначайте и отслеживайте задачи, доступна сторонняя интеграция

  • Превратите свою базу данных SQL в умную электронную таблицу

Минусы

  • Нет облачной версии (открыта в закрытой бета-версии)

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

С NocoDB вы можете

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

  • Настройка автоматизации: NocoDB включает поддержку автоматизации, которая позволяет автоматизировать повторяющиеся задачи и рабочие процессы. Это поможет вам сэкономить время и повысить эффективность работы с данными.

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

Альтернатива с закрытым исходным кодом

Как они справляются с пятёркой в ​​этом списке

  • ~51 тыс. GitHub ⭐

  • Значения вклада сообщества: 4/5

  • Ценность разработки новых функций: 5/5.

  • Скорость выпуска: 5/5

  • Частота поддержки: 4/5

Strapi — это система управления контентом (CMS) с открытым исходным кодом, которая позволяет разработчикам создавать API-интерфейсы для приложений с богатым контентом и управлять ими. Он спроектирован так, чтобы быть простым и гибким, позволяя разработчикам быстро создавать и развертывать API для своих приложений.

Плюсы

  • Быстрый и масштабируемый

  • Встроенная система аутентификации

  • Несколько рабочих процессов для автоматизации

Минусы

  • Сложно перенести существующие API.

  • Поддержка TypeScript ограничена

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

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

Со Strapi вы получаете,

  • GraphQL или RESTful: Strapi позволяет разработчикам выбирать использование API GraphQL или RESTful в зависимости от их потребностей. Это делает его гибкой платформой, которую можно использовать для создания API для различных приложений.

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

  • Аутентификация и разрешения: Strapi включает в себя систему управления пользователями, которая позволяет разработчикам легко добавлять аутентификацию и авторизацию в свои API. Сюда входит поддержка популярных методов аутентификации, таких как адрес электронной почты/пароль, вход через социальные сети и т. д.

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

Альтернатива с закрытым исходным кодом

  • Содержательный

Спасибо, что прочитали это! Мне бы хотелось услышать ваши мысли и список проектов с открытым исходным кодом.