Производительность приложений на Bubble. Заметки. Часть 14. Ответ на действия.
Данная серия статей — это мои заметки по книге The Ultimate Guide to Bubble Performance. Тут изложено только то, что фиксировал я, т.к. посчитал это важным.
Workflows на фронте
Вф на фронте могут работать быстро, если все данные уже есть на фронте.
Например, если вывести в RG список юзеров, а затем у всех заменить имя на Joe, то Bubble сделает это быстро.
Дело в том, что Баблу не нужно идти на бэк и там что-то искать, чтобы выполнить действие по замене имени. Он уже с бэка скачал всю инфу, когда выгружал список юзеров в RG, и теперь ему остаётся заменить имя в каждой записи на известное "Joe".
Если предположить, что Bubble передаёт эти данные сначала на бэк, а только потом заменяет и передаёт снова на фронт, то это действие выполнялось бы дольше.
А вот wf, который ниже, будет выполняться дольше. Потому что на этот раз Баблу придётся пойти на бэк, найти там инфу и только после этого заменить имя.
Поэтому прежде чем строить логику, нужно подумать - может быть можно обойтись уже той информацией, которая уже скачена с бэка?
Это позволит сделать приложение быстрее.
Реакция на действие
Когда пользователь нажимает на кнопки в приложении, он ожидает какой-то ответной реакции. Мы можем манипулировать этими ожиданиями пользователя.
Существует 3 типа ответов на действия пользователя:
2. Ответ с задержкой
3. Ответ через большой промежуток времени
Немедленный ответ
Пользователи сразу видят изменения на экране.
Между нажатием кнопки и результатом нет заметной задержки.
Ответ с задержкой
Когда ответ происходит от нескольких милисекунд до нескольких секунд. Пользователи ожидают признаки прогресса. Например, полоса загрузки, анимация кнопок или скелет интерфейса.
Есть несколько различных вариантов подобного ответа:
На рисунке выше пользователь просто ждёт 1 секунду прежде чем увидит реакцию на экране. Это может хорошо работать для коротких workflows или в случае, когда стандартной полосы загрузки Bubble достаточно.
Второй случай подходит для ситуаций, когда процесс обработки инфы занимает несколько секунд:
- Пользователь нажимает кнопку
- Видит сообщение о начале обработке инфы
- Процесс обработки завершается
- Пользователь видит сообщение о завершении обработки инфы
Применять подобный подход для первой ситуации будет неудачным решением, поскольку сообщения будут просто мигать на экране.
Третий тип мгновенно сообщает, что процесс завершен, а затем незаметно завершает его, при этом пользователь даже не знает, сколько времени он на самом деле занял. В этой ситуации главное - показать пользователю какие-то изменения на экране после нажатия кнопки. Например, переход к следующему шагу при регистрации.
Ответ через большой промежуток времени
Тут мы просто сообщаем пользователю, что пришлём ему уведомление, когда процесс обработки будет завершен.
Например, мы можем прислать ему email или смс.
→ Подписывайтесь на мой канал в Телеграме Иван Некодит.