Программирование мини-приложения

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

Компоненты

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

Модель-вид-представление-модель

Архитектурный шаблон модель-представление-модель представления (MVVM), который облегчает разделение разработки графического пользовательского интерфейса (представления) с помощью языка разметки от разработки внутренней логики (модели), означает, что представление не зависит от какой-либо конкретной модели платформы. Хотя у этого шаблона есть некоторые документально подтвержденные недостатки , в целом он очень хорошо работает для приложений уровня сложности мини-приложений. Особенно он может проявить себя с помощью богатых библиотек шаблонов (см. следующую главу ).

Постраничное мышление

Отладка мини-приложений показывает, что по сути они являются многостраничными приложениями (MPA). Это имеет много преимуществ, например, позволяет реализовать тривиальную маршрутизацию и бесконфликтное оформление каждой страницы. Люди успешно применили архитектуру MPA к прогрессивным веб-приложениям. Страничное мышление также помогает управлять ресурсами, такими как файлы CSS и JavaScript каждой страницы, а также другими ресурсами, такими как изображения и видео. Самое главное, что построение таким способом означает, что вы получаете бесплатное разделение кода на основе маршрутов, если вы больше ничего не загружаете. В этом случае каждая страница по определению загружает только то, что ей необходимо для функционирования.

Процесс сборки

Мини-приложения не имеют видимого процесса сборки . В Интернете современные инструменты сборки, такие как Snowpack, используют встроенную систему модулей JavaScript (известную как ESM), чтобы избежать ненужной работы и оставаться быстрыми, независимо от того, насколько велик проект. Хотя такие технологии, как Web Bundles , еще только появляются, их можно легко добавить в процесс сборки.

Мощные возможности

В последнее время веб-платформа приобрела множество новых возможностей . Доступ к устройствам через Bluetooth , USB , HID , последовательный порт и NFC теперь возможен. Там, где мини-приложения запускаются в WebViews и зависят от моста JavaScript , в Интернете эти мощные возможности доступны напрямую, поэтому вы программируете не с использованием API, предоставляемого мостом JavaScript, а с API браузера без промежуточного участника.

Благодарности

Рецензии на эту статью написали Джо Медли , Кейси Баскис , Милица Михайлия , Алан Кент и Кейт Гу.