October 16, 2022

Производительность приложений на Bubble. Заметки. Часть 2.

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

Производительность Bubble и производительность устройства

В прошлой статье рассказал, про 2 вида производительности:

  1. Воспринимаемая пользователем
  2. Реальная

Производительность устройства

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

К примеру, вы можете открыть приложение на ноутбуке, и у вас оно загрузится за 1 секунду. А можете открыть то же приложение на телефоне, и оно будет загружаться 10 секунд. Всё из-за того, что телефон по своим характеристикам слабее ноутбука, а не потому что Bubble медленная платформа.

Производительность устройства зависит от:

  1. Объёма оперативной памяти
  2. Мощности процессора
  3. Размера файлов, которые используются в приложении

Оперативная память (ОЗУ)

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

К примеру, зашли в раздел новостей в Вк:

→ У вас загрузилась лента новостей [первичные данные] в оперативную память.

→ Вы промотали её вниз и нажали "загрузить ещё записи".

→ Сервер вам прислал ещё записей

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

→ Вы увидели их на экране

Процессор

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

Процессор используется для обработки внешнего вида страницы [анимации, стили элементов и т.д.] и при работе с данными на устройстве пользователя [подсчёт элементов, фильтрация и т.п.]

Прежде чем вы увидите страницу Вк в том виде, в котором привыкли, её обработает процессор.

Размер файлов в приложении

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

Вы можете получить картинку, которая весит 5 мб. А может получить картинку, которая весит 30 мб.

Изображение, которое весит 30мб, будет дольше загружаться на ваше устройство, займёт больше места в оперативной памяти и будет дольше обрабатываться процессором.

Производительность Bubble

Bubble влияет на то, с какой скоростью будут:

  • Обрабатываться workflow
  • Выполняться поиск
  • Выполняться условия

Также Bubble отвечает за то, какой объём информации одновременно может быть обработан.

Задача для баблистов (см. Картинку ниже)

Подумайте, где происходит фильтрация (2): на стороне сервера или клиента?

А где происходит поиск пользователей (1)?

В примере выше происходит следующее:

1. Поиск пользователей происходит на стороне Bubble, т.е. на стороне сервера

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

3. Подсчёт данных тоже происходит на стороне вашего устройства

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


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

Если статья принесла для вас полезную информацию, поставьте огонёк 🔥 ниже.

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

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

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