Перейти к основному содержимому

Библиотеки

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

к сведению

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

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

libraries.avif

Важность библиотек

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

С помощью библиотек вы можете публиковать целый проект FlutterFlow в качестве библиотеки и импортировать его как зависимость в другие проекты.

возможные применения
  • Модульная разработка: Стройте крупномасштабные приложения, разделяя их на более мелкие, независимо управляемые проекты (например, библиотека UI, бэкэнд интеграции и т. д.).
  • Совместная работа команды: Делитесь многоразовыми компонентами пользовательского интерфейса, настраиваемыми функциями или интеграциями API между несколькими приложениями внутри команды.
  • Общедоступное использование: Публикуйте библиотеки, которые могут быть импортированы и повторно использованы более широким сообществом FlutterFlow.

Публикация библиотеки

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

При публикации проекта в качестве библиотеки, ваш проект станет Проектом библиотеки, и определенные функции больше не будут доступны.

примечание

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

Чтобы опубликовать проект FlutterFlow в качестве библиотеки, начните с создания проекта FlutterFlow, как обычно, а затем выполните следующие шаги:

к сведению
  • Вы можете публиковать библиотеки только при наличии доступа к ветвлению, которое доступно пользователям Pro+.
  • Библиотеку можно опубликовать только из главной ветки, и каждая опубликованная версия связана с определенным коммитом, обеспечивая надежное управление версиями.
  • Для публикации новой версии библиотеки необходимо закоммитить все изменения.
  • Рекомендуется включить описание, которое расскажет пользователям, что изменилось в версии, которую вы публикуете.

Отключенные функции в библиотеке

При преобразовании проекта в библиотеку, следующие функции отключаются для обеспечения совместимости и ограничений функциональности:

  • Настройки приложения
    • Firebase
    • Среды разработки
    • Аутентификация
    • Уведомления push
    • Развертывание на мобильные устройства
    • Развертывание на веб
    • Stripe
    • Braintree
    • Razorpay
    • Google Analytics
    • OneSignal
    • Mux
  • Облачные функции
  • Коллекции Firestore

Импорт библиотеки

Чтобы импортировать проект библиотеки в другой проект FlutterFlow, вам необходимо перейти на страницу Зависимости проекта в Настройках приложения. Здесь вы можете указать проект библиотеки и версию, которую вы импортируете.

к сведению
  • Вы можете выбрать библиотеку только в том случае, если у вас есть хотя бы доступ на чтение к проекту библиотеки.
  • Чтобы библиотека появилась в выпадающем списке, вас должны добавить как соавтора проекта, и у библиотечного проекта должна быть опубликованная версия.
  • Публично доступные библиотеки можно импортировать, указав идентификатор проекта в текстовом поле при добавлении зависимости библиотеки.
  • По умолчанию импортируется последняя опубликованная версия библиотеки, но при необходимости вы можете выбрать зависимость от более ранней версии.
  • Вы также можете импортировать текущую версию библиотеки, чтобы использовать последнее состояние библиотеки на главной ветке - однако это не рекомендуется.
  • Для импорта библиотеки вам необходимо иметь платный план.

Конфликты зависимостей

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

dependency-conflict.avif

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

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

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

  • Библиотека аутентификации пользователя зависит от Библиотеки компонентов v1.5.0.
  • Библиотека платежного шлюза зависит от Библиотеки компонентов v2.0.0.

В таком случае проект электронной коммерции обнаружит конфликт зависимостей, потому что невозможно добавить одновременно v1.5.0 и v2.0.0 Библиотеки компонентов.

Решение конфликтов зависимостей

Следуйте этим шагам, чтобы обеспечить то, что обе библиотеки зависят от одной и той же версии Либитеки компонентов:

  1. Обновите обе библиотеки: Если доступны обновления, начните с обновления обеих библиотек аутентификации пользователя и платежного шлюза до их последних версий. Часто более новые версии библиотек разрабатываются для использования последней версии Библиотеки компонентов, что поможет разрешить конфликты.
  2. Измените библиотеки: Если у вас есть доступ к проектам библиотек, измените зависимости библиотеки аутентификации пользователя или платежного шлюза (или обеих) для использования одной и той же версии Библиотеки компонентов.
  3. Свяжитесь с разработчиками библиотеки: Если у вас нет прав на библиотеки, обратитесь к разработчикам проектов библиотек. Они могут предоставить рекомендации, предложить обходные пути или выпустить версию, которая решит конфликт.

Доступ к ресурсам библиотеки

После импорта библиотеки становятся доступными следующие ресурсы для использования:

примечание

Страницы и коллекции Firestore продолжают находиться в разработке и могут появиться в будущих обновлениях.

Важно отметить, что эти ресурсы появляются там, где они созданы. Например:

  • Компоненты отображаются в палитре виджетов.
  • Вызовы API появляются при выполнении вызовов API в редакторе потока действий.
  • Пользовательские функции доступны при настройке действий или функций в приложении.

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

access-library-resources.avif

Версионирование библиотек

Версионирование библиотек позволяет управлять различными верс