Производительность приложений на Bubble. Заметки. Часть 6. Фильтрация.
Данная серия статей — это мои заметки по книге The Ultimate Guide to Bubble Performance. Тут изложено только то, что фиксировал я, т.к. посчитал это важным.
Приложение можно сделать производительнее, если понимать слабые и сильные стороны серверной и клиентской стороны.
- Хранит большие объёмы информации
- Имеет большую вычислительную мощность
- Может быть расположен на большом расстоянии, поэтому требуется некоторое время для каждого запроса
- Ограничивает приложение в использовании ёмкости, чтобы оно не использовало всю доступную.
- Не такой мощный как сервер. Может обрабатывать ограниченное количество информации, прежде чем замедлится
- Результаты немедленные, т.к. не нужно отправлять информацию на сервер и ждать её обработки. Вся информация хранится на локальном устройстве и обрабатывается на нём же, поэтому скорость обработки высокая.
- Не имеет ограничений. Использует всю доступную вычислительную мощность, пока не обработает информацию
- Новую информацию должен получать с сервера. Клиентское устройство не хранит постоянно всю информацию о приложении.
Фильтрация.
Как сделать приложение быстрее, используя фильтрацию на стороне клиента?
Об этом ниже. Сначала 2 примера на самопроверку.
Самопроверка: где выполняется поиск в примере ниже?
1. Поиск выполняется на сервере Bubble.
2. Мы ищем пользователей, принадлежащих к той же компании, что и текущий пользователь.
3. Просим отсортировать этот список по фамилии пользователя.
Самороверка: где выполняется фильтрация в следующем примере?
В этом примере все, что в красных скобках, происходит на стороне сервера, а все, что в синих скобках, происходит на стороне клиента:
1. Мы получаем список пользователей с сервера Bubble
2. Затем применяем к этому списку дополнительные фильтры (Advanced)
3. Указываем нашему текстовому элементу отображать только первые пять записей. Это означает, что весь список хранится в памяти устройства, но мы показываем только первые пять.
Фильтрация на стороне клиента подходит при:
- Обработке списков, содержащих несколько сотен элементов
- Использовании простых фильтров. Чем больше параметров добавляем в фильтр — тем медленнее работает
- Использовании неконфиденциальных данных. Несмотря на то, что пользователь видит на экране только часть информации, фильтрация происходит на стороне клиента, а значит сервер отдаёт нам всю информацию. При желании можно её подсмотреть. Поэтому при работе с конфиденциальными данными нужно быть осторожным при выборе фильтрации (серверная/клиентская).
Избегайте фильтрации на стороне клиента для:
- Больших наборов данных
- Конфиденциальных данных
- Сложной фильтрации. Если у вас много параметров, по которым вы обрабатываете данные, то лучше воспользоваться серверной фильтрацией, дабы не нагружать клиентское устройство.
Если статья была полезной для вас — ставьте реакцию ниже.
→ Подписывайтесь на мой канал в Телеграме Иван Некодит.