Мобильные приложения: правильный подход
«Какое мобильное приложение будем делать: нативное или кросс-платформенное?» Такой вопрос нередко ставит в тупик клиентов и вызывает предсказуемую реакцию: «а какое лучше?» Каждый из вариантов имеет свои особенности, плюсы и минусы, о которых желательно знать заранее. Поскольку от вашего выбора в данном случае зависят не только сроки разработки приложения для телефонов, смартфонов, айфонов и прочих гаджетов, но и конечная стоимость проекта.
– Существует два классических подхода к созданию мобильных приложений, – рассказывает Иван Шашин, ведущий разработчик компании Webis Group. – Нативные, то есть «родные», пишутся на традиционных языках программирования для конкретной операционной системы: для Android это Java, для IOS – Objective-C и Swift. Они обеспечивают полный доступ ко всем функциям телефона: камере, микрофону, геолокации, медиафайлам, акселерометру и т.п. Основное их преимущество – быстродействие, отзывчивость к движениям пользователя. Но такие приложения разрабатываются под каждую платформу индивидуально, это значит, что нужен программист для Android, второй – для IOS, третий – для Windows... А ведь есть еще Blackbery, webOS, FirefoxOS и т.д.
В этом смысле кросс-платформенные приложения абсолютно универсальны. Они адаптированы к самым разным мобильным устройствам, потому что создаются для всех платформ одновременно одним специалистом. Он должен владеть базовыми навыками верстки в HTML, JavaScript, CSS и уметь пользоваться фреймфорком (наиболее популярный – Phonegap), открывающим доступ к аппаратным настройкам.
Это упрощает и ускоряет процесс разработки (как правило, в соотношении 1,5 человека-месяца вместо двух), делает его намного дешевле. К примеру, если стоит задача за предельно короткие сроки охватить максимальную аудиторию, нет смысла создавать приложения под десять разных платформ. Можно разработать одно кросс-платформенное и распространить его на все мобильные операционные системы.
Однако нужно иметь в виду, что скорость отклика будет ниже, возможно подтормаживание. И единый для всех устройств дизайн будет отличаться от гайдлайна – стандарта оформления и функциональности для того или иного гаджета. Пользователю придется приспосабливаться к не совсем привычному интерфейсу. Если этими нюансами заказчики готовы пренебречь, они выбирают кросс-платформенное решение. В том числе и потому, что не только разработка, но и обслуживание такого приложения обходится дешевле. Его также осуществляет один специалист, кроме того, общую систему можно наладить, настроить, дополнить более оперативно.
Нельзя не упомянуть, что у кросс-платформенных приложений требования к «железу» повыше, чем у нативных. Конечно, на современных многоядерных телефонах они тормозить не будут, но на «андроиде» 5-7-летней давности пользоваться ими может быть затруднительно. Но владельцы подобных устройств и сами, скорее всего, понимают, что дело тут не в приложении.
Таким образом, при заказе мобильного приложения нужно оценивать весь функционал, который предстоит реализовать. Тогда выбор между нативной и кросс-платформенной разработкой будет правильным, а результат – эффективным.