Иногда у разработчиков мобильных приложений возникает вопрос: создать гибридное приложения на HTML 5 по все платформы или нативное под одну? У каждого из этих вариантов есть свои плюсы и минусы. В этой статье мы рассмотрим все «за» и «против» и в конце подведем итоги.
Определения
Перед тем как начатт сравнивать нативные приложения и приложения, созданные с помощью HTML 5, нам нужно определиться с терминологией.
Нативное (родное) приложение — приложение, созданное с использованием языка программирования и технологий определенной ОС. Например в Android приложения пишутся на Java с использовпнием фреймворка Android SDK, а в iOS используется язык программирования Objective-C или же Swift.
HTML 5-приложение — приложение, написанное основанное на HTML 5, CSS и JavaScript, и исполбзующее браузер ОС для работы.
Сравнение HTML 5 и нативных приложений
Мобильность
HTML 5 приложения могут быть портированы на различные ОС и устройства. Если при написании приложения использовалась адаптивная верстка, приложение может автоматически подстраиваться под различные размеры экранов. Если приложение обновилось, то обновление получают одновременно все устройства.
Нативные приложения, по определению, пишутся для одной ОС. Также при обновлении приложения для одной ОС, остальные не получают обновлений. Родные приложения выглядят более эстетично на различных размерах экранов, хоть это и требуется больше времени.
Победитель: HTML 5
Стоимость разработки
HTML 5-приложения, как правило, дешевле в плане разработки и поддержки, чем нативные приложения. Приложение на HTML 5 может быть разработано одним разработчиком. Нативные приложений для всех основных мобильных операционных систем обычно требуют специализированных разработчиков для каждой ОС (Java для Android, Objective-C/ Swift для iOS, C# для Windows), которые будут стоить значительно дороже, чем один веб-разработчик.
Победитель: HTML 5
Скорость и эффективность
Нативные приложения почти всегда более эффективные и быстрые, чем приложения на HTML 5. Несмотря на все попытки сделать интерпретатор JavaScript быстрее, HTML 5 не может работать быстрее нативных приложений.
Победитель: Нативные приложения
Использование «железа»
Родное приложение может взаимодействовать с широким спектром аппаратных средств, предоставляемых устройством, в том числе GPS, камера, акселерометр, динамики, экран и многое другое. HTML 5-приложения не имеют одинаковую способность взаимодействовать с аппаратными средствами.
Победитель: Нативные приложения
Заключение
Если вам нужно разработать приложение за небольшую сумму для несколькох ОС, при этом скорость приложения не критична, выбирайте HTML 5. Если приложение использует конкретные аппаратные средства, а также большая скорость работы, то, безусловно, нужно разрабатывать нативное приложение.