Мобильное web-приложение... Звучит как-то странно, но данная фраза наиболее точно характеризует то, о чём пойдёт речь далее.
А разве это не то же самое, что и гибридные мобильные приложения? Нет. Гибридные мобильные приложения - это кроссплатформенные приложения, которые имеют возможность работать с ПО телефона, сочетающие в себе некоторые функции нативных и web-приложений. Но при помощи HTML, CSS и JavaScript мы можем создавать приложения и без взаимодействия с нативной частью устройств. При этом оно не будет ни мобильным сайтом, ни web-приложением, ни мобильным приложением в привычном и общепринятом смысле. Как его назвать? Мобильное приложение, созданное при помощи HTML, CSS и JavaScript? Это также не отражает сути, поскольку помимо указанных технологий мы можем использовать и другие. Web-приложение или прогрессивное web-приложение? Нет, так как мы можем создать приложение без взаимодействия с сервером и без использования современных (прогрессивных) технологий. А посему введём понятием мобильного web-приложения.
Если посмотреть материалы на тему создания мобильных приложений, то подавляющее большинство из них они ориентировано на взаимодействие с нативной функциональностью устройств и публичное распространение приложений. Но помимо этого существует и другая ниша - мобильные приложения для персонального использования. Разработка такого класса приложений имеет немало существенных преимуществ, особенно при разработке под iOS:
Последний пункт весьма актуален при разработке под iOS.
Недавно мне попалась статья 2012 года, в которой автор описал работу с вибросигналом и выразил уверенность в том, что повсеместная поддержка этой функции произойдёт в ближайшие месяцы, чего не случилось до сих пор. В то время казалось делом ближайших лет доступ из браузера к аппаратной части мобильных устройств, но с использованием web-технологий это стало доступным, главным образом, только для Android. В случае с iOS имеется лишь замочная скважина, хотя и её вполне достаточно для решения целого спектра частных задач.
Приложения для персонального использования не обязательно должны быть закрытыми от посторонних и выполняться только на имеющемся у разработчика устройстве. Их также можно делать публичными. Важно понять, что в кроссплатформенную мобильную разработку ведёт несколько путей. Если выбрать путь разработки нативных приложений с публичным распространением, то это сложный путь. Но он не единственный. Если вы хотите разработать кроссплатформенное мобилное web- приложение, то в самом простом случае для этого потребуется только html-редактор и возможность копирования созданного html-файла на устройство, например, при помощи DropBox, iTools, через USB или WiFi. Насколько сложна разработка в этом случае? Для ответа на этот вопрос рассмотрим возможные подходы к разработке web-приложений.
Если посмотреть на развитие web-технологий в контексте работы с HTML и JavaScript, то можно наглядно увидеть следующие подходы к программированию и разработке:
Каждый последующий вариант увеличивает долю абстракции, упрощает и ускоряет процесс создания web-приложения за счёт возможной потери в производительности, увеличения размера приложения и др. При разработке мобильных web-приложений под iOS в настоящее время практичнее использовать структурно-компонентный подход с использованием фреймворка. Он несколько сложнее двух предыдущих из-за необходимости изучения фреймворка, но зато позволяет создавать интерфейсы при помощи готовых компонентов, а не вручную с использованием CSS.