Опыт разработчика
Теперь, когда я рассмотрел мини-приложения как таковые , я хочу сосредоточиться на опыте разработчиков для различных платформ суперприложений. Разработка мини-приложений на всех платформах происходит в IDE, которые бесплатно предоставляются платформами суперприложений. Хотя их больше, я хочу сосредоточиться на четырех самых популярных и пятом для Quick App для сравнения.
IDE для мини-приложений
Как и суперприложения, большинство IDE доступны только на китайском языке. На самом деле вам следует убедиться, что вы устанавливаете китайскую версию, а не доступную иногда английскую (или зарубежную) версию, поскольку она может быть неактуальной. Если вы разработчик macOS, имейте в виду, что не все IDE подписаны, а это означает, что macOS отказывается запускать установщик. Вы можете на свой страх и риск обойти это, как описано в справке Apple .
- Инструменты разработчика WeChat
- Инструменты разработчика Alipay
- Инструменты разработчика Baidu
- Инструменты разработчика ByteDance
- Быстрые инструменты разработки приложений
Начальные проекты мини-приложений
Чтобы быстро приступить к разработке мини-приложений, все поставщики суперприложений предлагают демонстрационные приложения, которые можно сразу загрузить и протестировать, а иногда они также интегрируются в мастера «Нового проекта» различных IDE.
- Демо-версия WeChat
- Демо-версия Alipay
- демо-версия Байду
- Демо-версия ByteDance
- Быстрая демонстрация приложения
Ход разработки
После запуска IDE и загрузки или создания (демо) мини-приложения первым шагом всегда является вход в систему. Обычно вам просто нужно отсканировать QR-код с помощью суперприложения (в котором вы уже вошли в систему), созданного IDE. Очень редко приходится вводить пароль. Как только вы войдете в систему, IDE узнает вашу личность и позволит вам приступить к программированию, отладке, тестированию и отправке приложения на проверку. Ниже вы можете увидеть скриншоты пяти IDE, упомянутых в абзаце выше.
![Окно приложения WeChat DevTools, показывающее симулятор, редактор кода и отладчик.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/wechat-devtools-applicati-e7bdd4cc5967b.png?authuser=0&hl=ru)
![Окно приложения Alipay DevTools, показывающее редактор кода, симулятор и отладчик.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/alipay-devtools-applicati-6f47f9ec8e0f1.png?authuser=0&hl=ru)
![Окно приложения Baidu DevTools, показывающее симулятор, редактор кода и отладчик.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/baidu-devtools-applicatio-f4c5cc799b3e1.png?authuser=0&hl=ru)
![Окно приложения ByteDance DevTools, показывающее симулятор, редактор кода и отладчик.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/bytedance-devtools-applic-1f60b6ef6e2c7.png?authuser=0&hl=ru)
![Окно приложения Quick App DevTools, показывающее редактор кода, симулятор и отладчик.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/quick-app-devtools-applic-5d28bf9a61062.png?authuser=0&hl=ru)
Как видите, фундаментальные компоненты всех IDE очень похожи. У вас всегда есть редактор кода, основанный на Monaco Editor , том же проекте, который также используется в VS Code . Во всех IDE есть отладчик, основанный на интерфейсе Chrome DevTools с некоторыми модификациями, подробнее о них позже (см. Отладчик ). Сами IDE реализованы либо как NW.js , либо как приложения Electron , симуляторы в IDE реализованы как тег NW.js <webview>
или тег Electron <webview>
, которые, в свою очередь, основаны на Chromium <webview>
ярлык . Если вас интересуют внутренние компоненты IDE, зачастую вы можете просто проверить их с помощью Chrome DevTools, нажав сочетание клавиш Control + Alt + I (или Command + Option + I на Mac).
![Chrome DevTools используется для проверки инструментов разработчика Baidu, отображая тег веб-просмотра симулятора на панели «Элементы» Chrome DevTools.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/chrome-devtools-used-ins-107c9e255b2fa.png?authuser=0&hl=ru)
<webview>
. Тестирование и отладка симулятора и реального устройства
Симулятор можно сравнить с тем, что вы, возможно, знаете из режима устройства Chrome DevTools. Вы можете моделировать различные устройства Android и iOS, изменять масштаб и ориентацию устройства, а также моделировать различные состояния сети, нехватку памяти, событие чтения штрих-кода, неожиданное завершение работы и темный режим.
Хотя встроенного симулятора достаточно, чтобы получить общее представление о том, как ведет себя приложение, тестирование на устройстве, как и в случае с обычными веб-приложениями, незаменимо. Чтобы протестировать мини-приложение, находящееся в разработке, достаточно отсканировать QR-код. Например, в ByteDance DevTools сканирование QR-кода, динамически сгенерированного IDE, на реальном устройстве приводит к созданию облачной версии мини-приложения, которую затем можно немедленно протестировать на устройстве. В ByteDance это работает так: URL-адрес QR-кода ( пример ) перенаправляет на размещенную страницу ( пример ), которая содержит ссылки со специальными схемами URI, например, snssdk1128://
, для предварительного просмотра мини-приложения на различные суперприложения ByteDance, такие как Douyin или Toutiao (вот пример ). Другие поставщики суперприложений не используют промежуточную страницу, а открывают предварительный просмотр напрямую.
![ByteDance DevTools показывает QR-код, который пользователь может отсканировать с помощью приложения Douyin, чтобы увидеть текущее мини-приложение на своем устройстве.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/bytedance-devtools-showin-5971d90f52171.png?authuser=0&hl=ru)
![Промежуточная целевая страница для предварительного просмотра мини-приложения ByteDance в различных суперприложениях компании, открываемая в обычном настольном браузере для обратного проектирования процесса.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/intermediate-landing-page-406369c8a848.png?authuser=0&hl=ru)
Еще более интересной функцией является удаленная отладка предварительного просмотра в облаке. После простого сканирования специального QR-кода, также сгенерированного IDE, мини-приложение открывается на физическом устройстве, а на компьютере запускается окно Chrome DevTools для удаленной отладки.
![Мобильный телефон с мини-приложением, части пользовательского интерфейса которого выделены отладчиком ByteDance DevTools, работающим на ноутбуке и проверяющим его.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/a-mobile-phone-running-m-042b833648b9.png?authuser=0&hl=ru)
Отладчик
Отладка элементов
Опыт отладки мини-приложений хорошо знаком всем, кто когда-либо работал с Chrome DevTools. Однако есть некоторые важные различия, которые делают рабочий процесс адаптированным для мини-приложений. Вместо панели «Элементы » Chrome DevTools IDE мини-приложений имеют настраиваемую панель, адаптированную к их конкретному диалекту HTML. Например, в случае с WeChat панель называется Wxml , что означает WeiXin Markup Language. В Baidu DevTools он называется Swan Element . ByteDance DevTools называет это Bxml . Alipay называет ее AXML , а Quick App называет панель просто UX . Я углублюсь в эти языки разметки позже .
![Проверка изображения с помощью панели Wxml WeChat DevTools. Это показывает, что используемый тег является тегом изображения.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/inspecting-image-wechat-d732811586a65.png?authuser=0&hl=ru)
<image>
с помощью WeChat DevTools. Кастомные элементы под капотом
Проверка WebView на реальном устройстве через about://inspect/#devices показывает, что WeChat DevTools намеренно скрывал правду. Там, где WeChat DevTools показывает <image>
, на самом деле я смотрю на пользовательский элемент под названием <wx-image>
с <div>
в качестве единственного дочернего элемента. Интересно отметить, что этот пользовательский элемент не использует Shadow DOM . Подробнее об этих компонентах позже .
![Проверка мини-приложения WeChat, работающего на реальном устройстве, с помощью Chrome DevTools. Там, где WeChat DevTools сообщил, что я просматриваю тег image, Chrome DevTools показывает, что на самом деле я имею дело с пользовательским элементом wx-image.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/inspecting-wechat-mini-a-54fc65cc5ce63.png?authuser=0&hl=ru)
<image>
с помощью WeChat DevTools показывает, что на самом деле это пользовательский элемент <wx-image>
.CSS-отладка
Еще одним отличием является новая единица измерения длины rpx
для адаптивного пикселя в различных диалектах CSS (подробнее об этой единице позже ). WeChat DevTools использует независимые от устройства единицы длины CSS, чтобы сделать разработку для устройств разных размеров более интуитивно понятной.
![Проверка представления с указанным верхним и нижним отступом «200rpx» в WeChat DevTools.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/inspecting-view-a-speci-d17a746cb7bfb.png?authuser=0&hl=ru)
200rpx 0
) представления с помощью WeChat DevTools.Аудит производительности
Производительность находится в центре внимания мини-приложений, поэтому неудивительно, что WeChat DevTools и некоторые другие DevTools имеют встроенный инструмент аудита, основанный на Lighthouse. Основными областями аудита являются общий объем, производительность, опыт и передовая практика. Вид IDE можно настроить. На снимке экрана ниже я временно скрыл редактор кода, чтобы освободить место на экране для инструмента аудита.
![Запуск аудита производительности с помощью встроенного инструмента аудита. Оценки включают «Общий результат», «Производительность», «Опыт» и «Лучшая практика» по 100 из 100 баллов каждый.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/running-performance-audi-fa75ebecfd4e2.png?authuser=0&hl=ru)
насмешка над API
Вместо того, чтобы требовать от разработчика настройки отдельной службы, имитация ответов API является непосредственно частью WeChat DevTools. Через простой в использовании интерфейс разработчик может настроить конечные точки API и желаемые ложные ответы.
![Настройка макета ответа для конечной точки API в WeChat DevTools.](https://web.developers.google.cn/static/articles/mini-apps/mini-app-devtools/image/setting-a-mock-response-b73d071a1206d.png?authuser=0&hl=ru)
Благодарности
Рецензии на эту статью написали Джо Медли , Кейси Баскис , Милица Михайлия , Алан Кент и Кейт Гу.