Я видел твит от хорошего Mariko и коллеги, Mariko , о тестировании на линейке бюджетных устройств, которые держат вас в курсе.
Контекст твита заключается в том, что мы смотрим на то, на что похожа веб-разработка при создании для пользователей, которые ежедневно живут на этих классах устройств.
Сейчас команда проделывает большую работу в этом пространстве, но я потратил целый день на то, чтобы создать сайт, и было невероятно сложно заставить что-либо работать даже при слегка приемлемом уровне производительности - вот некоторые из проблем, с которыми я столкнулся:
- Странности видового экрана и таинственное повторное введение 300-миллисекундной задержки нажатия (можно обойти).
- Огромные перекраски всего экрана, и это медленно.
- Сеть медленная
- Память ограничена, и последующие GC блокируют основной поток на несколько секунд
- Невероятно медленное выполнение JS
- DOM манипуляция медленная
Для многих страниц, которые я создавал, даже на страницах с быстрым Wi-Fi-соединением для загрузки требовалось несколько секунд, а последующие взаимодействия были просто медленными. Это было тяжело, требовалось попытаться получить как можно больше от основного потока, но на техническом уровне было также невероятно приятно видеть изменения в алгоритмах и логике, которые я бы не сделал для всей своей традиционной веб-разработки. большие улучшения в производительности.
Я не уверен, что делать в долгосрочной перспективе, я подозреваю, что у огромного числа разработчиков, с которыми мы работаем на более развитых рынках, будет реакция «Я не создаю сайты для пользователей в [вставить страну x]», и на на высоком уровне трудно поспорить с этим утверждением, но я не могу игнорировать тот факт, что десятки миллионов новых пользователей приходят на компьютер каждый год, и они будут использовать эти устройства, и мы хотим, чтобы Интернет был * * платформой Выбор контента и приложений, чтобы мы не были довольны rise of the meta platform .
Нам нужно продолжать повышать производительность в течение долгого времени. Мы будем продолжать создавать инструменты и руководства, чтобы помочь разработчикам быстро загружаться и иметь плавные пользовательские интерфейсы :)