Открытый исходный код (Open Source) и разработчики - это важная и популярная тенденция в мире программного обеспечения, которая продолжает расти. Это связано с тем, что разработчики всего мира могут сотрудничать и делиться своим кодом, что позволяет создавать более качественное и быстрое программное обеспечение. В то же время, компании, использующие закрытый исходный код, не всегда могут участвовать в этой тенденции и оставаться на вершине развития.
Независимо от статистики, если вы пишете код, вы, вероятно, интересуетесь последними новинками в открытом исходном коде в 2023 году. Поэтому не задумывайтесь слишком долго и приступайте к изучению десяти инструментов, которые могут оказаться вам полезны.
☝🏻 При составлении этого списка я учитывал следующие факторы:
- Популярность
- Вклад сообщества
- Частота обновлений и поддержка
- Скорость релизов
- Новые функциональные возможности
- Безопасность
1. Novu
По словам компании Novu, "Novu - это инфраструктура открытого исходного кода для уведомлений в продуктах. Добавьте центр уведомлений в ваши приложения на React, Vue и Angular 🚀".
Как они выступают в пятерке на этом списке:
- 16 тыс. ⭐ на GitHub
- Оценка вклада сообщества: 4/5
- Оценка разработки новых функций: 3/5
- Скорость релизов: 3/5
- Частота поддержки: 5/5
Создание системы уведомлений является обычной задачей при разработке нового приложения. Обычно начинается с отправки простых электронных писем, но с развитием приложения может возникнуть необходимость управления сотнями уведомлений через несколько каналов, что может быть трудоемким и сложным процессом. И здесь на помощь приходит Novu. Novu - это платформа разработки инфраструктуры, которая помогает разработчикам создавать и разворачивать облачные приложения. Ее цель состоит в том, чтобы облегчить задачу разработчикам, позволяя им создавать смысловое, транзакционное взаимодействие между их продуктом и пользователями.
Преимущества:
- Легко настраивается и интегрируется
- Единый API для всех провайдеров сообщений (Email, SMS, Push, Chat)
Недостатки:
- Отсутствует конфигурация на основе ORM
- Нет планов тарифов на облачном сервисе
Novu предлагает простой в использовании API и уделяет внимание опыту разработчиков. Это означает, что разработчики могут легко интегрировать уведомления в свои приложения, не беспокоясь о базовой инфраструктуре.
С помощью Novu вы можете:
- Подключать различных провайдеров: использовать встроенную коллекцию популярных провайдеров - Sendgrid, Mailgun, Twilio и многих других. Добавьте API-ключ, и вы готовы к работе.
- Устанавливать несколько каналов уведомлений: Novu поддерживает множество уведомлений, включая электронную почту, SMS, push-уведомления и многое другое. Это означает, что вы можете связываться с вашими пользователями через их предпочитаемые каналы и гарантировать доставку ваших сообщений.
- Использовать динамические шаблоны: выбирайте каналы, добавляйте контент с синтаксисом {{dynamic}}, а также настраивайте правила для контроля доставки уведомлений.
- Отслеживать ленту уведомлений: Novu предоставляет ленту активности уведомлений, которая отслеживает каждое исходящее сообщение вместе с соответствующей метаданными.
Альтернативы на закрытом исходном коде:
- Courier
- Magicbell
2. Appsmith
Appsmith - это проект на низкоуровневом коде для создания административных панелей, внутренних инструментов и дашбордов. Он интегрируется с более чем 20 базами данных и любыми API.
🔎Оценка Appsmith по пяти критериям:
- ~24,7 тыс. звезд на GitHub⭐
- Значимость для участия сообщества: 4/5
- Значимость для разработки новых функций: 4/5
- Скорость выпуска: 5/5
- Поддержка развития: 5/5
Appsmith - это низкоуровневая платформа, которая позволяет разработчикам создавать приложения без необходимости писать обширный код. Она обеспечивает визуальный интерфейс для создания и подключения различных компонентов, таких как формы, кнопки и источники данных, что позволяет разработчикам быстро создавать функциональные приложения с минимальными усилиями.
Преимущества:
- Несколько заранее созданных виджетов, чтобы построить любой интерфейс для внутреннего инструмента всего за несколько минут.
- Функции предприятия: расширенный VCS, журналы аудита, настраиваемое оформление, SSO.
- Несколько вариантов развертывания для самостоятельного хостинга.
Недостатки:
- Отзывчивый интерфейс для мобильных устройств (скоро появится в планах).
С Appsmith вы получаете,
- Заранее созданные виджеты: Appsmith поставляется с библиотекой заранее созданных виджетов, которые можно использовать для создания вашего приложения. Среди этих виджетов кнопки, таблицы, формы и диаграммы со сложными свойствами, такими как пагинация, редактирование в строке и события.
- Нативные интеграции: Appsmith упрощает подключение к вашим предпочтительным базам данных и инструментам с помощью более чем 20 нативных интеграций. Среди них популярные варианты, такие как Postgres, MongoDB и Airtable, а также возможность подключения к практически любому API с помощью плагина RESTful API или GraphQL.
- Поддержка кода JavaScript: Вы можете использовать JavaScript внутри {{}} в любом месте Appsmith. Вы можете ссылаться на каждую сущность в Appsmith как на переменную JavaScript и выполнять все функции и операции JavaScript над ними.
- Контроль версий с помощью Git: Эта функция в Appsmith позволяет нескольким разработчикам добавлять свою работу в ветку Git, поднимать запрос на объединение для проверки кода, интегрироваться с конвейерами CI/CD и предоставлять историю коммитов для перехода к предыдущей версии в случае возникновения проблем.
Альтернативы с закрытым исходным кодом:
3. Supabase
📢Supabase — это альтернатива Firebase с открытым исходным кодом. С помощью Supabase вы можете начать свой проект с базы данных Postgres, аутентификации, мгновенных API, Edge Functions, Realtime подписок и хранилища.
- 🔎~44K GitHub ⭐
- Значение для вклада сообщества: 4/5
- Значение для разработки новых функций: 4/5
- Скорость выпуска новых версий: 5/5
- Качество поддержки: 4/5
В последнее время конкуренция между базами данных значительно возросла. После трех десятилетий роста и улучшений Postgres завоевал репутацию надежности и высокой производительности, что сделало его популярным выбором среди бизнесов всех размеров. Oracle поставила под угрозу открытый исходный код MySQL, и с ростом популярности облачного хранения Postgres стал ведущим вариантом открытой базы данных. Появление Supabase - альтернативы Firebase от Google на базе Postgres - отражает тенденцию открытых вариантов, которые конкурируют с собственными вариантами.
Преимущества:
- Полная база данных Postgres с мгновенным REST
- Поддерживает аутентификацию по электронной почте / социальным сетям
Недостатки:
- Его SDK работает только с JS (поддержка других языков все еще находится в бета-версии)
- Политики безопасности ограничены в реальном времени
С помощью Supabase вы можете,
- Настроить базу данных: Сердце большинства приложений - это хранение данных и предоставление пользователям быстрого и простого доступа. Для достижения этой цели Supabase полагается на PostgreSQL - открытую реляционную базу данных. Эта технология позволяет Supabase обеспечить безупречный опыт хранения, извлечения и управления данными в ваших приложениях.
- Настроить аутентификацию: Supabase делает интеграцию всех основных социальных приложений легкой, предоставляя вам различные варианты аутентификации пользователей вашего приложения. Но если вы предпочитаете более традиционный подход, Supabase также поддерживает аутентификацию по электронной почте и паролю.
- Написать функции Edge: Иногда вам нужно выполнить определенные задачи асинхронно или выполнить операции на бэкэнде вашего приложения. Supabase предлагает функции Edge для обработки таких случаев использования. Развертывание функций Edge легко, а Supabase распространяет их глобально, чтобы обеспечить всем пользователям последовательный и быстрый опыт.
- Настроить хранилище: как администратор, вы можете легко управлять файлами на платформе Supabase прямо из браузера. Вы можете искать, загружать, просматривать и удалять файлы всего за несколько кликов. Хранилище Supabase интегрируется без проблем с PostgreSQL и предоставляет простой JavaScript API для использования.
Закрытые аналоги (альтернативы)
4.Supertokens
📢 Цитата: "Открытая альтернатива Auth0 / Firebase Auth / AWS Cognito"
🔎Это описание оценки проекта на основе следующих критериев:
- Значимость вклада сообщества: 4 из 5
- Развитие новых функций: 4 из 5
- Скорость выпуска обновлений: 3 из 5
- Качество поддержки: 4 из 5
Supertokens - это открытая платформа аутентификации, которая предоставляет надежные и масштабируемые решения для управления аутентификацией и авторизацией пользователей в веб- и мобильных приложениях. Одним из главных преимуществ использования библиотеки, такой как supertokens, для аутентификации, является то, что она может значительно сэкономить время и усилия разработчиков. Вместо того, чтобы писать весь систему аутентификации с нуля, разработчики могут использовать предварительно существующий и тщательно протестированный код, предоставленный supertokens. Это может уменьшить потенциальную вероятность ошибок и уязвимостей безопасности в процессе аутентификации. Кроме того, открытый исходный код supertokens означает, что разработчики имеют доступ к исходному коду, что позволяет им настраивать и расширять библиотеку при необходимости, чтобы соответствовать конкретным потребностям своего проекта.
Преимущества
- Модульная архитектура делает установку простой.
- Supertokens предоставляет функцию переопределения, которая позволяет полностью настраивать аутентификацию и потоки на обеих сторонах, как на стороне клиента, так и на стороне сервера.
Недостатки
- Не поддерживает многие популярные языки, такие как Java и PHP, и не имеет предварительно созданных пользовательских интерфейсов для популярных фреймворков фронтенда, таких как Angular и Vue.
- Отсутствуют корпоративные функции, такие как SCIM-провиженинг, администрирование и поддержка организации.
В дополнение к основным функциям аутентификации, SuperTokens также предлагает полное решение для управления сеансами пользователей с конца на конец. С его помощью легко реализовать расширенные функции, такие как синхронизация данных сеансов на нескольких устройствах или ограничение количества устройств, на которых пользователь может войти. Эти возможности могут помочь вам создавать более безопасные и функциональные приложения, а SuperTokens делает их легко реализуемыми.
SuperTokens поставляется с:
- Полностью настраиваемым пользовательским интерфейсом для аутентификации: Supertokens поставляется с заранее созданными компонентами пользовательского интерфейса при интеграции, что облегчает внедрение аутентификации в ваше приложение. И лучшая часть заключается в том, что эти компоненты пользовательского интерфейса полностью настраиваемы, так что вы можете настроить их в соответствии с внешним видом и ощущением вашего приложения.
- Управление сессиями: он предоставляет надежную систему управления сеансами, которая позволяет легко создавать, проверять, обновлять и отзывать сеансы пользователей с высоким уровнем безопасности.
- Управление ролями: Supertokens также включает систему управления ролями, которая позволяет легко назначать пользователям конкретные роли и контролировать, какие действия они могут выполнять в вашем приложении. Это достигается путем назначения ролей для сессий, так что вы можете точно настроить уровни доступа различных пользователей.
Альтернативы:
5.Appwrite
📢По словам Appwrite, это "полное решение для бэкенда вашего приложения [Flutter / Vue / Angular / React / iOS / Android / ЛЮБОГО ДРУГОГО]".
- ~28K звезд на GitHub ⭐
- Оценка вклада сообщества: 4/5
- Оценка разработки новых функций: 3,5/5
- Скорость выпуска обновлений: 3/5
- Поддержка пользователей: 4/5
Appwrite - это популярная платформа Backend-as-a-Service (BaaS) с открытым исходным кодом, которая предоставляет различные инструменты и функции для создания современных приложений с богатым функционалом. Он отлично подходит для разработчиков, которые ищут BaaS-платформу с открытым исходным кодом и высокой настраиваемостью. С помощью Appwrite вы можете легко настроить бэкэнд для своего приложения и воспользоваться функциями, такими как базы данных в реальном времени, хранилище файлов, серверные функции и многое другое.
Преимущества
• Лучшая документация для самостоятельного хостинга экземпляров. • Легко начать работу.
Недостатки
• Нет управляемого варианта, поэтому это не полностью серверлесс, но всё же лучший вариант, чем создавать свой собственный бэкэнд с нуля, если у вас есть юридические требования к самостоятельному размещению BaaS. • Необходимо обеспечить безопасность веб-сервера.
С помощью Appwrite вы можете,
- Настроить аутентификацию: Appwrite предоставляет полную систему управления пользователями, которая позволяет разработчикам легко добавлять аутентификацию и авторизацию в свои приложения.
- Управлять хранением данных: Appwrite предлагает гибкое и масштабируемое решение, которое позволяет разработчикам легко хранить, получать и запрашивать данные.
- Создавать функции: Appwrite предоставляет среду для выполнения функций, которая позволяет разработчикам создавать собственную бизнес-логику и интеграции без необходимости поддерживать серверы.
- Настроить веб-хуки: вы можете получать уведомления по SMS, когда новый пользователь регистрируется в вашем приложении. Вы также можете использовать веб-хуки для запуска действий, таких как очистка кэша при обновлении одного из документов вашего приложения.
Альтернатива
6.Astro
📢 В собственных словах Astro: "Astro - это инструмент для создания сайтов для современного веба, где мощный опыт разработчика сочетается с легким выводом".
- ~24K GitHub ⭐
- Оценка для вклада сообщества: 4/5
- Оценка для разработки новых функций: 4/5
- Оценка скорости выпуска обновлений: 3/5
- Оценка для качества поддержки: 4/5
Astro - это новый фреймворк для создания веб-сайтов, который позволяет использовать фреймворк JavaScript, который выводит статический сайт без JavaScript. По умолчанию Astro не отправляет JavaScript на клиент и рендерит компоненты в HTML. Это помогает ускорить производительность веб-сайта, так как больше JavaScript может привести к более медленной загрузке. Если вам все же нужно использовать JavaScript на своем сайте, Astro предлагает опцию использования частичной гидратации через директивы клиента. Эти директивы позволяют указать, когда и как компонент должен быть гидратирован или к нему должен быть добавлен JavaScript.
Плюсы
- Шаблон предоставляет все преимущества компонентной архитектуры, такие как переиспользование и поддержка.
- Веб-сайты дружественны для SEO, потому что весь статический контент рендерится на сервере.
Минусы
- Нет многих обсуждений на эту тему (архитектура островов Astro).
- Многие фреймворки утверждают, что они поддерживают этот шаблон, что делает сложным выбор между ними.
Одним из больших преимуществ Astro является то, что он поддерживает популярные библиотеки компонентов, такие как React/Preact (JSX), Svelte, Vue и веб-компоненты, что облегчает задачу для разработчиков, которые уже знакомы с этими инструментами, чтобы быстро начать работу.
Astro позиционирует себя как:
- Сосредоточенный на контенте: Astro был разработан для создания сайтов с богатым контентом, включая большинство маркетинговых сайтов, сайтов издательств, документации, блогов, портфолио и некоторых сайтов электронной коммерции.
- Серверо-ориентированный: Astro максимально использует рендеринг на стороне сервера вместо рендеринга на стороне клиента. Этот подход аналогичен тому, что используется в традиционных серверных фреймворках, таких как PHP, Ruby on Rails и др. Но вам не нужно изучать второй язык на стороне сервера, чтобы использовать Astro.
- Полностью гибкий: Astro - это все-в-одном веб-фреймворк со всем необходимым для создания сайта: синтаксис компонентов, маршрутизация на основе файлов, обработка ресурсов, процесс сборки, сборка, оптимизация, получение данных и многое другое.
7.Nhost
📢Открытая альтернатива Firebase с использованием GraphQL" - так говорит Nhost о себе.
- ~24K звезды на GitHub
- Оценка вклада сообщества: 4/5
- Оценка разработки новых функций: 4/5
- Скорость выпуска: 3/5
- Частота поддержки: 4/5
В последние годы GraphQL получил значительную популярность как альтернатива REST API. GraphQL - это язык запросов, который позволяет клиентам запрашивать данные конкретной структуры с сервера, что приводит к более эффективному и гибкому взаимодействию между клиентом и сервером.
Nhost - это облачная платформа бэкэнда, которая использует GraphQL, чтобы позволить разработчикам быстрее создавать и развертывать серверные приложения. Nhost предоставляет ряд функций, которые облегчают создание масштабируемых и функциональных приложений, включая управление пользователями, хранение данных, бессерверные функции, реальное время и многое другое.
Преимущества
- Предоставляет мгновенный Realtime GraphQL API на основе ваших таблиц и столбцов в базе данных.
- Поддерживает безсерверные функции.
Недостатки
- Возможности реального времени ограничены.
Одним из главных преимуществ использования Nhost является возможность воспользоваться GraphQL, не беспокоясь о сложностях настройки и поддержки собственного сервера GraphQL.
С помощью Nhost вы можете настроить,
- Auth: Nhost предоставляет полную систему управления пользователями, которая легко добавляет аутентификацию и авторизацию в ваше приложение. Это включает поддержку популярных методов аутентификации, таких как электронная почта/пароль, социальная авторизация и многое другое.
- Serverless Functions: Nhost позволяет создавать пользовательскую логику бэкэнда и интеграции без необходимости поддерживать серверы. Это облегчает добавление пользовательской функциональности в ваше приложение и масштабирование его по мере необходимости.
- Real-Time GraphQL API: Nhost включает движок реального времени, который позволяет управлять подписками для синхронизации данных в режиме реального времени.
Альтернатива:
8.Hoppscotch
В словах Hoppscotch, "Hoppscotch - это легковесный, веб-ориентированный набор инструментов для разработки API. Он был создан с нуля с учетом удобства использования и доступности, предоставляя всю необходимую функциональность для разработчиков API с минималистическим, ненавязчивым пользовательским интерфейсом. Он бесплатен в использовании и, как дополнительное преимущество, полностью Open Source!"
- ~49K 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 поддерживает как REST, так и GraphQL API, что делает его универсальным инструментом, который можно использовать для тестирования API, созданных с использованием широкого спектра технологий.
- Платформа реального времени: Hoppscotch включает в себя платформу реального времени, которая позволяет разработчикам тестировать и отлаживать их соединения с сокетами или каналами. Это упрощает выявление и устранение проблем по мере их возникновения.
- Документация API: Hoppscotch позволяет разработчикам быстро и легко создавать полную документацию API.Это может быть особенно полезно для помощи другим разработчикам понимать и использовать ваше API.
- Поддержка PWA: Hoppscotch включает поддержку прогрессивных веб-приложений (PWA), что упрощает тестирование и отладку API, используемых в ваших PWA.
Альтернатива
8.NocoDB
- ~33K GitHub ⭐
- Значения для вклада сообщества: 4/5
- Значения для разработки новых функций: 5/5
- Скорость выпуска: 5/5
- Частота поддержки: 4/5
NocoDB - это проект с открытым исходным кодом, который предоставляет веб-платформу для создания и управления онлайн-базами данных. Он разработан с учетом легкости и гибкости, что позволяет пользователям создавать настраиваемые базы данных и рабочие процессы, отвечающие их конкретным потребностям.
Преимущества:
- Назначение и отслеживание задач, доступ к сторонним интеграциям.
- Превращение SQL-базы данных в умную таблицу.
Недостатки:
- Нет облачной версии (доступна только закрытая бета-версия). Одной из ключевых особенностей NocoDB является его настраиваемая модель данных. Пользователи могут создавать настраиваемые таблицы баз данных и определять поля и связи между ними. Это позволяет пользователям моделировать свои данные таким образом, чтобы они имели смысл для их конкретного случая использования.
С помощью NocoDB вы можете:
- Настроить интерфейс электронной таблицы: Предоставляет несколько операций для конфигурации функции полной электронной таблицы, включая операции CRUD, типы разрешений на просмотр и возможность обмена базами данных и представлениями.
- Настроить автоматизацию: NocoDB включает поддержку автоматизации, которая позволяет автоматизировать повторяющиеся задачи и рабочие процессы. Это может помочь вам сэкономить время и улучшить эффективность при работе с вашими данными.
- Настроить API: NocoDB включает API без головы, который позволяет программно получать доступ к вашим данным и их манипулированию. Это может быть особенно полезно для разработчиков, которые хотят создавать пользовательские интеграции или приложения, которые работают с NocoDB.
Альтернатива
9.Strapi
📢 В собственных словах Strapi: «Самая продвинутая open-source CMS без интерфейса для построения мощных API без усилий».
- ~51K GitHub ⭐
- Оценки для вклада сообщества: 4/5
- Оценки для разработки новых функций: 5/5
- Скорость выпуска: 5/5
- Частота поддержки: 4/5
Strapi - это система управления контентом с открытым исходным кодом (CMS), которая позволяет разработчикам создавать и управлять API для приложений, содержащих большое количество контента. Он разработан для того, чтобы быть легким и гибким, позволяя разработчикам быстро создавать и развертывать API для своих приложений.
Преимущества
- Быстрый и масштабируемый
- Встроенная система аутентификации
- Несколько рабочих процессов для автоматизации
Недостатки
- Сложно перенести существующие API
- Поддержка TypeScript ограничена
Одной из ключевых особенностей Strapi является его плагинная архитектура.
Strapi включает ряд плагинов, которые позволяют разработчикам легко добавлять функциональность в свои API, такие как поддержка загрузки файлов, отправки электронной почты и многое другое. Эти плагины могут быть легко установлены и настроены, что облегчает настройку функциональности вашего API.
В дополнение к своей плагинной архитектуре, Strapi также включает удобную панель администратора, которая позволяет разработчикам и редакторам контента легко управлять своим контентом. Это включает поддержку создания и управления типами контента, предварительного просмотра и публикации контента.
С помощью Strapi вы получаете:
- GraphQL или RESTful: Strapi позволяет разработчикам выбирать использование GraphQL или RESTful API в зависимости от их потребностей. Это делает его гибкой платформой, которую можно использовать для создания API для различных приложений.
- Вебхуки: Strapi включает поддержку вебхуков, позволяющую разработчикам запускать пользовательские события и действия на основе определенных условий. Это может быть особенно полезно для создания интеграций и автоматизации рабочих процессов. Аутентификация и разрешения: Strapi включает систему управления пользователями, которая позволяет разработчикам легко добавлять аутентификацию и авторизацию к своим API. Это включает поддержку популярных методов аутентификации, таких как электронная почта/пароль, социальная авторизация и многое другое.
- Интернационализация: Strapi включает поддержку интернационализации, которая позволяет разработчикам легко создавать API, которые поддерживают несколько языков. Это может быть особенно полезно для создания приложений, которые ориентированы на глобальную аудиторию.
Альтернатива
Спасибо за прочтение! Расскажите ваше мнение об этом, нам это очень важно!
#Start