Bubble
October 28, 2022

Производительность приложений на Bubble. Заметки. Часть 10. Комбинирование типов данных.

Данная серия статей — это мои заметки по книге The Ultimate Guide to Bubble Performance. Тут изложено только то, что фиксировал я, т.к. посчитал это важным.

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

По логике автора книги нам бы нужно создать несколько типов данных (Data types):

  • Континент (Continent)
  • Страна (Country)
  • Пункт назначения (Destination)
  • Ресторан (Restaurant)
  • Отель (Hotel)

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

Комбинирование типов данных

Рассмотрим 3 типа данных: Континент, Страна и Пункт назначения.

Комбинирование типов данных - метод, когда мы берём несколько разных типов данных и складываем их в базу в качестве одного.

В нашем примере у трёх Data Types могут быть какие-то общие черты. Пусть это будет: имя, описание и координаты на Google Maps.

Мы могли бы создать 3 разных типа данных для континента, страны и пункта назначения и добавить для каждого из них поля "имя", "описание", "координаты".
Так делать не будем. Вместо этого создадим 1 тип данных "GeoContainer", в котором укажем следующие поля:

Возникает вопрос: Как понять, что перед нами: страна, континент или пункт назначения?

Для этого мы добавили поле "Type" (Тип). Это поле разделит все контейнеры на разных типы.

Когда использовать подобоный подход?

  • Type of content. Когда устанавливаем определенный тип страницы.
    Представим, что есть страница example.com/locations с типом данных Destination. Мы можем выводить на ней только "пункты назначения". Если мы захотим вывести на странице другой тип данных (страну, континент), у нас не получится. Нужно будет создавать отдельную страницу, с соответствующим типом данных.
  • Использование групп для каждого типа данных. К примеру, мы на странице используем разные группы для отображения разных типов данных (страны, континенты, пункты назначения). После объединения их в один Data Type, мы сможем выводить все данные в одной группе, т.е. уменьшить количество элементов на странице, что приведёт к более быстрой загрузке.
  • Облегченный поиск. Т.к. все локации объединены в один Data Type, то мы делаем поиск один раз, результаты выводим в одной RG.
    Если бы использовали разные типы данных, то пришлось бы использовать либо несколько RG, либо обкладываться условиями для отображения разных Data Source.
Рекомендую всё, что здесь написано, делать на практике. Так в головушке инфа останется какая-то.

→ Подписывайтесь на мой канал в Телеграме Иван Некодит.

В канале рассказываю про:

  • Путь разработчика
  • Разработку на Nocode-инструментах.