Статьи

Создайте размещенное веб-приложение на Android, iOS и Windows с помощью ManifoldJS

Недавно на // BUILD / 2015 Microsoft анонсировала manifoldJS — самый простой способ создания размещенных приложений на разных платформах. Хотя Джон Шевчук, технический сотрудник и технический директор Microsoft Developer Platform, проделал большую работу по созданию размещенного веб-приложения прямо на сцене (вы можете увидеть резюме здесь ), я бы хотел немного подробнее рассказать, объяснив почему вы должны использовать размещенные веб-приложения и как создать их для себя с помощью manifoldJS.

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

Проблема в том, что до сих пор сложная вещь в размещаемых приложениях заключалась в том, насколько отличается процесс на каждой платформе. ManifoldJS меняет это, делая акцент на W3C Manifest для веб-приложений — основанном на стандартах подходе с открытым исходным кодом для создания приложений — и затем использует эти метаданные для создания собственного приложения на Android, iOS и Windows.

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

manifoldJS - самый простой способ создания размещенных приложений на разных платформах и устройствах.

Есть два основных способа начать работу. Если вы веб-разработчик, который живет в командной строке, начните с интерфейса CLI. Для разработчиков, которые хотят запускать manifoldJS в облаке, у нас есть те же инструменты на сайте.

Три разных телефона, показывающие Shiftr и Knockout

Первое, что вы хотите сделать, это создать манифест для вашего сайта. Это должно быть довольно знакомо веб-разработчикам, так как это довольно простой объект JSON. Вот образец с моего собственного сайта:

01
02
03
04
05
06
07
08
09
10
11
12
13
{
  «name»: «This Here Web»,
  «short_name»: «THW»,
  «icons»: [{
    «src»: «images/tiny.png»,
    «sizes»: «70×70»,
    «type»: «image/png»
  }],
  «start_url»: «index.html»,
  «scope»: «http://*.thishereweb.com»,
  «display»: «standalone»,
  «orientation»: «landscape»
}

Для получения дополнительной информации о создании файла манифеста, в том числе о том, как обслуживать его с вашего веб-сервера, ознакомьтесь с этим сообщением в манифесте . Если вам нужна помощь в создании этого манифеста, попробуйте генератор кода на сайте manifoldjs.com . Мы проведем вас через необходимые вам значения с помощью мастера, а затем предоставим вам готовый манифест для вашего сайта в конце.

ManifoldJS работает по знакомой технологии. Единственное требование — у вас установлен Node.js. ManifoldJS будет работать на любой системе (Mac, Linux, Windows), но может создавать приложения только для платформ, которые поддерживаются в этой системе.

Установка инструмента:

1
2
npm install manifoldjs
grunt manifoldjs

ManifoldJS будет обрабатывать установку для всех своих зависимостей через NPM. Оттуда вы просто переходите на свой сайт:

1
ManifoldJS http://www.thishereweb.com

Оттуда произойдет одно из двух:

  1. Если у вас есть манифест на вашем сайте, он свернет его вместе с соответствующими изображениями и создаст из него приложения.
  2. Если у вас нет манифеста на сайте, мы просто примем некоторые данные по умолчанию и сгенерируем ваши приложения вместе с манифестом для вас. Мы также будем использовать изображения-заполнители, чтобы по-прежнему создавать инструменты.

Если вы хотите увидеть, что происходит, просто включите ведение журнала и следите за консолью. Наряду с ведением журнала, у нас есть ряд других опций, которые вы можете установить для управления выводом инструмента.

параметр Описание
<Сайт-url> (обязательно) URL размещенного сайта
-m | -manifest (необязательно) Расположение файла манифеста W3C Web App (URL или локальный путь). Если он не указан, инструмент ищет манифест в URL-адресе сайта. В противном случае будет создан новый манифест, указывающий на URL сайта.
-d | -directory (необязательно) Путь к сгенерированным файлам проекта (значение по умолчанию: текущий каталог)
-s | -shortname (необязательно) Краткое название приложения. Если указано, оно переопределяет значение short_name манифеста
-l | -loglevel (необязательно) параметры уровня трассировки журнала; Доступные уровни журнала: отладка, трассировка, информация, предупреждение, ошибка (значение по умолчанию: предупреждение )
-p | -platforms (необязательно) Платформы для генерации. Поддерживаемые платформы: Windows, Android, IOS, Chrome (значение по умолчанию: все платформы)
-b | -Build (необязательно) Форсирует процесс строительства

Все те же отличные функциональные возможности доступны и в нашем веб-инструменте. Посетите веб-генератор и начните.

Веб-генератор манифеста

После того, как вы выполните эти шаги, вы просто нажмете на загрузку в конце, и вам будет выслан zip со всеми вашими пакетами.

Манифест для веб-приложений позволяет вам указать «область» вашего приложения. Это помогает определить, где останавливается ваше приложение и начинается открытая сеть. В приложении будут отображаться только URL-адреса в пределах вашей области. Если вы используете более одного домена или вызываете контент с наших доменов, просто добавьте значения доступа URI к своему манифесту.

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

На Android, iOS и Windows мы используем Cordova, чтобы заполнить размещенные приложения. Дополнительным преимуществом этого является то, что вы можете добавить js-файлы Cordova на свой веб-сайт и использовать эти API в своем размещенном приложении. Однако в Windows 10 вы на самом деле имеете доступ ко всей поверхности API универсальных приложений Windows — от Bluetooth до низкоуровневого человеческого интерфейса. Чтобы разрешить использование этих API для вашего приложения, просто добавьте это в свой манифест:

1
2
3
4
5
«mjs_urlAccess»: [{
  «url»: «http://manupjs.azurewebsites.net/»
  }, {
  «url»: «http://www.manifoldjs.com/»
}],

С правилами доступа мы включим API-интерфейсы, чтобы вы могли напрямую звонить или вызывать через API-интерфейсы Cordova.

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

Для каждой платформы мы предоставляем рекомендации по развертыванию в каждом магазине приложений . Тестирование является важной частью разработки приложений, и у нас также есть советы и предложения, позволяющие максимально эффективно использовать размещенное вами веб-приложение. Кроме того, все приложения должны быть отправлены в соответствующие магазины приложений, и мы также укажем вам правильное направление.

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

Это может вас немного удивить, но у Microsoft есть много бесплатных уроков по многим темам JavaScript с открытым исходным кодом, и мы стремимся создать намного больше с Microsoft Edge . Ознакомьтесь с серией обучения нашей команды:

И некоторые бесплатные инструменты: сообщество Visual Studio , пробная версия Azure и инструменты кросс-браузерного тестирования для Mac, Linux или Windows.

Эта статья является частью серии технологий веб-разработки от Microsoft. Мы рады поделиться с вами Microsoft Edge и новым механизмом рендеринга EdgeHTML . Получите бесплатные виртуальные машины или проведите удаленное тестирование на устройстве Mac, iOS, Android или Windows @ http://dev.modern.ie/ .