Стабильные результаты. Быстрая производительность!

Мы стремимся к производительности.
По мере того как вы расширяете свои приложения и мы расширяем нашу платформу, мы хотим обеспечить опыт, который не сравнится ни с одним другим приложением на рынке. От использования редактора Adalo Editor до нативных приложений и всего, что вы можете создать с помощью Adalo, скорость взаимодействия очень важна - как для ваших клиентов, так и для вас, наших создателей.

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

Здесь вы найдете информацию о проектах, которые находятся в процессе реализации, о заметных достижениях в скорости, а также о том, когда улучшения были отправлены. Мы надеемся, что наша приверженность прозрачности этого процесса и этой страницы поможет вам успокоиться.
Обновления
Только что вышел!
Улучшена производительность: Уведомления, загрузка приложений, аналитика приложений и экспорт CSV

Значительное сокращение времени ожидания уведомлений

Мы оптимизировали наш сервис уведомлений и улучшили задержку в некоторых случаях до 100 раз. Теперь этот сервис сможет более надежно обрабатывать большие партии уведомлений.

Улучшена загрузка очень больших приложений в редакторе Adalo

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

Ускоренная загрузка аналитики приложений

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

Повышение производительности при экспорте больших баз данных

Мы перестроили экспорт Adalo CSV с нуля, чтобы сделать его более производительным. Пользовательский интерфейс не изменился, но под капотом он функционирует гораздо лучше! Мы также убрали ограничение в 10 000 записей для экспорта. Пожалуйста, имейте в виду, что особенно большой экспорт все еще может занимать несколько минут.

Только что вышел!
Обновления производительности редактора

Во время нашего последнего запуска мы улучшили производительность по нескольким направлениям, все они были связаны с приложениями, созданными в Adalo. На этой неделе мы улучшаем производительность самого редактора Adalo, в котором вы проводите все свое время, создавая приложения. По результатам наших тестов, приложения загружаются в 11 раз быстрее!

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

  • Улучшена производительность редактора для приложений с большим количеством экранов
  • Улучшена производительность при редактировании и рендеринге текста

#1. Улучшена производительность редактора для приложений с большим количеством экранов

Наши самые активные пользователи обычно создают большие приложения с несколькими экранами. И под несколькими мы подразумеваем много, много и много экранов. Итак. Много. Экранов! К сожалению, это сильно сказывается на производительности: редактор замедляется или даже не загружается вовсе. Это была большая проблема, и чтобы решить ее, нам нужно было полностью переосмыслить то, как редактор обрабатывает загрузку экранных данных. И вот что мы сделали!

Теперь, вместо того чтобы постоянно загружать все данные для каждого экрана, мы фокусируемся на том, где вы работаете, и загружаем только эти данные. Редактор будет автоматически предугадывать ваши потребности по мере того, как вы будете перемещаться, разумно загружая то, что вам нужно, без багажа ненужного. Результат - невероятное улучшение скорости и отзывчивости при создании больших приложений в Adalo. Мы не можем дождаться, когда вы попробуете это. Это действительно намного лучше!

#2. Улучшенная производительность при редактировании и рендеринге текста

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

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

Примечание: Чтобы еще больше повысить производительность приложений с большим количеством текста, мы всегда рекомендуем хранить большие фрагменты текста в базе данных и переносить их в приложение с помощью Magic Text.

Только что вышел!
Обновления производительности приложений

Мы работаем над улучшением производительности и скорости загрузки данных в приложениях Adalo. Сегодня мы рады представить первую партию этих улучшений. Это очень много!

Вот общий обзор всего, что мы запускаем сегодня:

  1. Значительно более быстрая загрузка начального списка
  2. Мгновенная навигация
  3. Улучшенные условия загрузки
  4. Улучшенная скорость создания записей

#1. Значительно более быстрое время загрузки начального списка

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

Лучший и более производительный способ сделать это - загрузить только некоторые записи при начальной загрузке экрана и постепенно добавлять новые по мере прокрутки пользователем (большинство современных приложений с большим количеством контента используют эту технику). Теперь прогрессивная загрузка доступна для простых списков, пользовательских списков, списков изображений и списков карточек (ранее она была доступна только для пользовательских списков). В результате значительно улучшилось время начальной загрузки экрана в приложениях, использующих эти типы списков. В наших тестах списков с 5 000 записей время первоначальной загрузки сократилось на 86 % (см. видео "до и после").

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

#2. Мгновенная навигация

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

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

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

#3. Улучшение качества загрузки во всех приложениях

Откройте свое любимое приложение для социальных сетей и проведите пальцем по экрану, и вы заметите, что повсюду присутствуют едва заметные состояния загрузки. Они очень важны для удобства пользования приложениями. Загрузка некоторых данных всегда занимает время, будь то Instagram или инди-приложение. Главное, чтобы во время загрузки данных приложение сообщало пользователю, что что-то происходит.

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

Точно так же, когда вы нажимаете на компонент, он должен сообщить вам, что он что-то делает! Мы добавили визуальные индикаторы во многие компоненты, которым их не хватало. Теперь, начиная с навигации и заканчивая кнопками действий, вы должны четко видеть, что ваше нажатие возымело эффект и приложение работает.

В результате ваши приложения Adalo будут работать гораздо быстрее, а пользователи не будут задумываться о том, выполняются ли действия или загружаются ли данные. Мы хотим продвинуть этот опыт еще дальше, поэтому мы будем продолжать инвестировать в него.

#4. Улучшенная скорость создания записи

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

Убедитесь, что ваши приложения получили все новые изменения!

Все новые приложения, которые вы создадите с этого момента, получат эти улучшения автоматически. Для существующих приложений сделайте следующее:

  1. Включите функцию "Загружать элементы при прокрутке пользователем" во всех списках с большим количеством записей (находится в разделе "Дополнительные параметры").
  2. Для нативных приложений для iOS и Android запустите новую сборку после выполнения шага 1.

Ждете новых улучшений производительности? Скоро мы вернемся с некоторыми интересными улучшениями в редакторе Adalo.

Выполнение работы за последние 12 месяцев
Предыдущие обновления
Работа над производительностью никогда не заканчивается и является частью всего, что мы делаем в Adalo, но ниже вы найдете некоторые из ключевых обновлений производительности, которые мы выпустили в прошлом.
Развернуто!
Ускорение составления списков с помощью подсчетов
Списки, содержащие подсчеты таблиц, не отображаемых на экране, создавали ненужную нагрузку на приложения, что приводило к их замедлению. Мы перенесли логику подсчета в бэкенд, чтобы повысить производительность этих списков.
Развернуто!
Уменьшение размеров приложений
Мы существенно изменили способ хранения конфигурации приложения, что позволило уменьшить общий размер приложения почти на 25 %! Это особенно полезно для приложений с большим количеством экранов и/или компонентов, как для редактирования, так и для запуска приложения.
Развернуто!
Улучшена производительность загрузки CSV
Загрузка большого CSV в Коллекцию часто приводила к сбоям и таймаутам, поэтому мы переработали эту функцию, сделав ее более производительной и позволяющей загружать большие файлы. 
Развернуто!
Улучшенный мониторинг производительности
Мы хотим и дальше добиваться значительных успехов в производительности, поэтому уделили некоторое время улучшению отслеживания производительности по всем направлениям. Это позволит нам легче выявлять проблемы и гарантировать, что проекты, за которые мы возьмемся в следующий раз, будут иметь наибольший эффект. 
Развернуто!
Ускоренные переключения
Теперь тумблеры мгновенно меняют состояние, когда пользователи нажимают на них!
Развернуто!
Текстовый ввод в ваших приложениях получил новое (более быстрое) обновление
Ввод данных в формах и на клавиатуре теперь происходит молниеносно - особенно в Интернете!
Развернуто!
Ускоренная загрузка пользовательских данных в приложениях с большим количеством данных
Мы только что ускорили работу всех наших крупных приложений, содержащих от сотен до тысяч строк данных. Это достигается за счет автоматического индексирования таблиц при создании новых коллекций, что означает, что ваши приложения будут загружать данные в списках, детальных представлениях и т. д. быстрее, чем раньше.
Развернуто!
Улучшение общего времени отклика базы данных
Мы улучшили время отклика базы данных, значительно сократив количество ненужных обращений к ней. Все запросы к API Adalo, редактирование данных приложения в редакторе и даже начальная загрузка веб-приложений были оптимизированы, чтобы занимать меньше ресурсов базы данных.
Развернуто!
Улучшено получение данных из баз данных вашего приложения
Мы добавили индексы в процесс, который связывает ваше приложение с базой данных, что позволяет быстрее добавлять и извлекать данные.
Развернуто!
Начальная загрузка веб-приложений и PWA улучшилась!
Компоненты теперь обслуживаются через Cloudfront, CDN Amazon. До этих изменений загрузка компонентов могла занимать до 8 секунд, когда пользователь впервые открывал ваше приложение в Интернете. Благодаря CDN компоненты теперь доставляются по всему миру с низкой задержкой и высокой скоростью передачи данных (в среднем 165,92 мс). Мы также улучшили скорость получения других файлов, необходимых вашему приложению при загрузке, например иконки приложения (с 233 до 44 мс).
Развернуто!
Время загрузки начального редактора улучшается
Мы ускорили время начальной загрузки редактора, оптимизировав несколько запросов. Вот несколько дополнительных примеров областей редактора, на которые повлияли эти изменения: списки пользовательских действий, модальная панель настроек команды и начальная загрузка таблиц вашей базы данных.
Развернуто!
Изображения загружаются в 5 раз быстрее!
Теперь мы сжимаем изображения через сервис Imgix, чтобы обеспечить высокую производительность при отправке изображений в ваши приложения. Раньше загрузка 5 тестовых изображений на экране занимала 6,32 секунды. С нашими изменениями эти 5 изображений теперь загружаются за 1,15 секунды.
Развернуто!
Устранение времени ожидания в очереди на сборку
До этих изменений некоторые сборки для iOS приходилось ждать 18 часов, прежде чем они были обработаны и опубликованы в Testflight, а сборки для Android также часто застревали в очереди. Теперь сборки для Android и iOS запускаются сразу после их запуска. Мы добились этого, предотвратив сбой ряда сборок и добавив больше серверов сборки.
Бэклог производительности
Есть чем заняться
Приведенный ниже список - это наши текущие мысли о том, какие проекты мы планируем реализовать, но мы постоянно получаем больше информации и изучаем различные ориентиры, чтобы понять, что делать дальше.
Планирование
Состояния загрузки скелета
Мы экспериментируем с более богатыми состояниями загрузки, которые используют популярный шаблон скелетного UX, чтобы обеспечить лучший опыт, когда пользователь ожидает начальной загрузки экрана.
Мы будем рады вашей помощи!
Пожалуйста, сообщите нам, где в Adalo вы видите, что все загружается не так быстро, как вам хотелось бы.
Спасибо!
Мы сожалеем, что вы испытываете некоторую задержку, но спасибо, что прислали нам это. Это очень помогает нам в расследовании.
Упс! Что-то пошло не так при отправке формы.