Создавайте приложения быстрее

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

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

Сервер Appwrite упакован в виде контейнера Docker, который вы можете легко настроить с помощью простой команды docker-compose из вашего терминала, либо на локальном компьютере, либо на облачном провайдере.

Аутентификация

Сервис Appwrite Authentication позволяет легко управлять регистрацией пользователей и входом в ваше приложение. Служба Auth также предлагает встроенную интеграцию с несколькими поставщиками OAuth, такими как Facebook, Github, LinkedIn и другими.

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

Служба Auth экономит время и избавляет от проблем, связанных с построением стабильной и безопасной системы аутентификации и авторизации пользователей, которая должна интегрироваться с несколькими сторонними методами входа в систему.

Счет

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

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

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

База данных

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

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

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

Место хранения

Служба Appwrite Storage - это самый простой способ позволить вам или пользователям вашего приложения безопасно и просто загружать свои файлы и управлять ими.

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

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

Одна из самых полезных функций - это возможность предварительно просматривать содержимое ваших файлов и отображать их в виде эскизов в приложении или на веб-сайте. Вы также можете динамически изменять размер миниатюр, конвертировать их между разными форматами изображений (поддерживается webp!) И изменять их качество для повышения производительности сети.

Команды

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

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

Задания

Служба Appwrite Task - отличный способ настроить повторяющиеся запланированные задания.

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

Вы также можете использовать расширенные параметры задач, чтобы добавить различные заголовки HTTP в свой запрос или защитить его с помощью базовой проверки подлинности HTTP. Излишне говорить, что все ваши конфиденциальные HTTP-пароли надежно зашифрованы во внутренней базе данных Appwrite.

Вебхуки

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

Хотите получать SMS, когда в вашем приложении регистрируется новый пользователь? Хотите очистить кеш, когда один из документов вашего приложения получает обновления? Просто добавьте новый веб-перехватчик, который запускает конечную точку HTTP на вашем конце, когда запускается конкретное событие Appwrite. Используя Appwrite Webhooks, вы ограничены только вашим воображением.

Что дальше?

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

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

Если вам нравится этот проект и вы хотите внести в него свой вклад, сделайте это, открыв новые задачи или отправив новые запросы на вытягивание в проект Репозиторий Github.