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

Что хорошо зарекомендовало себя в мини-приложениях

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

Компоненты

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

Модель-вид-видмодель

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

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

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

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

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

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

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

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

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