DroidScript
DroidScript
инструменты для мобильной разработки

Мобильные web-приложения

Статьи  
25.03.2019

Мобильное web-приложение... Звучит как-то странно, но данная фраза наиболее точно характеризует то, о чём пойдёт речь далее.

А разве это не то же самое, что и гибридные мобильные приложения? Нет. Гибридные мобильные приложения - это кроссплатформенные приложения, которые имеют возможность работать с ПО телефона, сочетающие в себе некоторые функции нативных и web-приложений. Но при помощи HTML, CSS и JavaScript мы можем создавать приложения и без взаимодействия с нативной частью устройств. При этом оно не будет ни мобильным сайтом, ни web-приложением, ни мобильным приложением в привычном и общепринятом смысле. Как его назвать? Мобильное приложение, созданное при помощи HTML, CSS и JavaScript? Это также не отражает сути, поскольку помимо указанных технологий мы можем использовать и другие. Web-приложение или прогрессивное web-приложение? Нет, так как мы можем создать приложение без взаимодействия с сервером и без использования современных (прогрессивных) технологий. А посему введём понятием мобильного web-приложения.

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

  • позволяет решить собственные задачи
  • низкий порог вхождения в разработку
  • не требует финансовых затрат (на покупку компьютера c MacOS, регистрации в качестве разработчика, публикации в магазине приложений, размещении на платном сервере и др.)
  • отсутствует необходимость использования инструментов и подходов групповой разработки
  • не требует детального тестирования на большом количестве различных устройств
  • свобода выбора инструментов для разработки приложений
  • возможность использования браузера, который позволяет работать с ПО целевого устройства

Последний пункт весьма актуален при разработке под iOS.

Недавно мне попалась статья 2012 года, в которой автор описал работу с вибросигналом и выразил уверенность в том, что повсеместная поддержка этой функции произойдёт в ближайшие месяцы, чего не случилось до сих пор. В то время казалось делом ближайших лет доступ из браузера к аппаратной части мобильных устройств, но с использованием web-технологий это стало доступным, главным образом, только для Android. В случае с iOS имеется лишь замочная скважина, хотя и её вполне достаточно для решения целого спектра частных задач.

Приложения для персонального использования не обязательно должны быть закрытыми от посторонних и выполняться только на имеющемся у разработчика устройстве. Их также можно делать публичными. Важно понять, что в кроссплатформенную мобильную разработку ведёт несколько путей. Если выбрать путь разработки нативных приложений с публичным распространением, то это сложный путь. Но он не единственный. Если вы хотите разработать кроссплатформенное мобилное web- приложение, то в самом простом случае для этого потребуется только html-редактор и возможность копирования созданного html-файла на устройство, например, при помощи DropBox, iTools, через USB или WiFi. Насколько сложна разработка в этом случае? Для ответа на этот вопрос рассмотрим возможные подходы к разработке web-приложений.

Если посмотреть на развитие web-технологий в контексте работы с HTML и JavaScript, то можно наглядно увидеть следующие подходы к программированию и разработке:

  1. структурно-элементный - использование тэгов html (статичные html-страницы)
  2. структурно-объектный - использованием JavaScript и других скриптовых движков
  3. структурно-компонентный - использование фреймворков
  4. компонентный - визуальное программирование
  5. шаблонный - использование различных CMS и сервисов, где в заданные поля вводятся данные и выбирается шаблон отображения данных

Каждый последующий вариант увеличивает долю абстракции, упрощает и ускоряет процесс создания web-приложения за счёт возможной потери в производительности, увеличения размера приложения и др. При разработке мобильных web-приложений под iOS в настоящее время практичнее использовать структурно-компонентный подход с использованием фреймворка. Он несколько сложнее двух предыдущих из-за необходимости изучения фреймворка, но зато позволяет создавать интерфейсы при помощи готовых компонентов, а не вручную с использованием CSS.

Статьи  
© 2016-2018 Александр Страшко