В этой статье описываются две технологии, которые значительно увеличили возможности Интернета за последние несколько лет. Предоставление прогрессивных веб-приложений для устройств IoT (Интернет вещей) может стать огромным шагом вперед для реальных приложений. В настоящее время веб-приложения - не единственные приложения, запускаемые на рабочем столе веб-браузером. Браузерные приложения должны работать (и хорошо выглядеть) во всех современных браузерах, независимо от устройства (например, мобильного телефона, планшета, телевизора и умных часов).

Прогрессивные веб-приложения - путь к сердцам пользователей

Идея PWA заключается в постепенном улучшении веб-приложения и обеспечении иммеров. Наше приложение должно быть быстрым, привлекательным для пользователя и независимым от подключения (например, должно работать в автономном режиме). Прогрессивные веб-приложения предоставляют разработчикам новый подход. Стратегия, ориентированная на мобильные устройства, устарела. Прогрессивная концепция относится к использованию преимуществ возможностей, доступных в среде приложения.

Доступность Интернета и JavaScript становится все больше и больше. В настоящее время мы можем использовать возможности, которые не характерны для веб-приложений. Новые веб-стандарты и API позволяют использовать новые функции, такие как геолокация, Bluetooth, push-уведомления, камера и многое другое. Кроме того, современные веб-браузеры предоставляют нам возможность подключаться к другим устройствам; например, мы можем использовать:
- Web USB API (WebUSB API позволяет веб-приложениям взаимодействовать с устройствами, совместимыми с универсальной последовательной шиной, доступными в системе),
- Web RTC API (веб-коммуникация в реальном времени - это технология, которая позволяет веб-приложениям и сайтам захватывать и, при необходимости, транслировать аудио- или видеофайлы, а также обмениваться произвольными данными между браузерами без необходимости посредник),
- WEB NFC API (Near Field Communication обеспечивает беспроводную связь между двумя устройствами в непосредственной близости).
Эти примеры очень важны для Интернета вещей технология.

Давайте поговорим об Интернете вещей
В отчете IEEE об Интернете вещей, опубликованном в марте 2014 г. (IEEE, «Интернет вещей», 2014 г.), IEEE описал термин «Интернет вещей». " в качестве :

Сеть предметов, каждый из которых имеет датчики, подключенных к Интернету.

Архитектура IoT является трехуровневой и включает следующие уровни: приложения, сеть и обмен данными, зондирование. Моя концепция заключается в использовании прогрессивных веб-приложений на уровне «приложений». Возможность запуска PWA из единого указателя ресурсов (URL) позволяет легко использовать приложение на любом устройстве с современным браузером.

IoT - это область приложений, которая объединяет различные технологические и социальные области. Потенциал Интернета вещей огромен. Устройства IoT можно использовать на различных рынках, например: в здравоохранении, энергетике, СМИ. Из-за этого также необходимо удаленно управлять этими устройствами и разрабатывать приложения для этого.

Давайте сосредоточимся на проблемах Интернета вещей и попробуем найти решения с помощью PWA. Для меня существенными проблемами являются:
1) подключение устройств к сети,
2) различные инструменты для создания приложений для различных устройств (требуется универсальное решение),
3) нет уникального и универсального протокола приложения.

Одна из фундаментальных особенностей Progressive Web App - независимость от подключения. Service worker - это своего рода веб-воркер, который зарегистрирован в первом приложении, запущенном в браузере, и работает независимо от приложения. Этот стандарт PWA позволяет приложению работать даже в автономном режиме. После успешного процесса регистрации Service Worker приложение будет работать в веб-браузере устройства. Машины не требуют подключения к сети. Например, у нас есть приложение для контроля температуры в доме. Это приложение должно предоставлять наши данные, даже если у нас нет доступа к Интернету или мы не можем подключиться к устройству с датчиком температуры. PWA позволяют кэшировать и синхронизировать некоторые данные. Если мы находимся в автономном состоянии, приложение будет работать и будет возвращать последние кэшированные данные. В этом магия PWA.

Можно ли найти универсальный инструмент для разработки приложений, работающих на разных устройствах? Язык JavaScript может стать лекарством от всех зол в этой проблеме. Используя тот же код, написанный на JS, мы можем создать несколько приложений на разных устройствах. Разнообразие JS-фреймворков позволяет создавать продукты как на мобильном устройстве (например, Ionic), так и на рабочем столе (например, Electron для кроссплатформенных приложений). NodeJS делает веб-приложения более мощными. Интернет вещей любит NodeJS. Фреймворк поддерживает запуск JavaScript на самых разных машинах. Более того, количество JS-библиотек и новых инструментов для IoT продолжает расти. Это хороший стек для веб-разработчиков при разработке приложений IoT. В настоящее время проблема JS - это доступ к устройству (оборудованию). Новые веб-стандарты и API-интерфейсы постоянно развиваются, но их все еще недостаточно.

Основная потребность IoT - найти единый универсальный протокол прикладного уровня, чтобы устройства и приложения могли соединяться друг с другом. Неважно, как они связаны. Ограничение Интернета вещей становится очевидным, как только кто-то хочет интегрировать устройства от разных производителей в единую систему или приложение. Может быть, мы сможем использовать сам Интернет? Давайте повторно используем то, что уже используется для создания масштабируемых и интерактивных приложений. В этом и заключается суть Сети вещей: повторное использование и усиление легкодоступных и широко популярных веб-протоколов, стандартов и схем, чтобы сделать данные и услуги, предлагаемые объектами, более доступными для большего числа ( Web) разработчиков.

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

Резюме:

  • Применение PWA к устройствам Интернета вещей - чрезвычайно интересная тема. Сочетание этих технологий позволяет создавать приложения для подключения и управления различными устройствами.
  • Интернет мощен. Эта технология радует разработчиков возможностью легко создавать различные типы приложений.
  • Сеть вещей - технология, которая требует любви и заботы. Это могло быть простым решением из-за отсутствия уникального и универсального протокола приложений в IoT.
  • Совместимость и стандартизация браузеров - препятствия для веб-разработчиков. PWA и IoT - относительно новые технологии, которым нужно время для развития.

Дополнительный бонус:

http://pwa-detector.firebaseapp.com - Мое приложение для определения совместимости браузера с функциями Progressive Web App (PWA) и Интернета вещей (IoT). Разработано для тестирования поддержки браузеров на разных устройствах и в разных браузерах.

https://pwafire.org/ - пакет javascript и json с открытым исходным кодом, который позволяет преобразовать существующий веб-сайт в прогрессивное веб-приложение или создать одно из нескольких. Я вхожу в команду авторов PWAFire ✌

✔ Проверьте это!

Подробнее откуда это взялось

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

Следите за нашей публикацией, чтобы увидеть больше историй о продуктах и ​​дизайне, представленных командой Журнала.