Tproger: Натив или кроссплатформа — что выбрать начинающему мобильному разработчику?

Экспертное мнение Алексея Прядко, технического руководителя проекта департамента разработки ПО компании «Рексофт»

Казалось бы, вот у нас кроссплатформенная разработка, которая даёт возможность создавать универсальные приложения для разных платформ. Написал приложение быстрее, сразу везде выпустил — profit! И никакая нативная разработка не нужна. Или всё-таки нужна? О нюансах обоих подходов к разработке мобильных приложений рассказал Алексей Прядко, технический руководитель проекта департамента разработки ПО компании «Рексофт».

Кроссплатформенная разработка нацелена на быстрый результат и существенную экономию бюджета — пишем один код под все устройства. Её сферы применения — это либо решение для внутреннего пользования, где юзабилити продукта не так важно, а главенствующую роль играет функциональность, либо создание быстрого «пилотного» проекта, когда нужно заказчику показать принцип или идею приложения. Кроме того, если нет точного понимания, на устройстве с какой операционной системой будут смотреть ваш прототип, именно кроссплатформенная разработка — это выход. Однако нужно заранее понимать, что все устройства имеют разную архитектуру, поэтому физически на одном только кроссплатформенном коде качественное приложение выполнить практически невозможно. В сложных сценариях потребуется написание нативного кода. Кроме того, в силу своей специфики кроссплатформенная разработка несёт в себе издержки, не позволяющие приложению быть максимально эффективным. Это и понятно, в данном случае промежуточный кроссплатформенный код должен транслироваться под каждую из платформ, что делает приложение более «тяжёлым» за счет того, что помимо функционального кода в нём содержится среда его выполнения.

Если же мы говорим о коммерческом продукте для конечных клиентов, то вам ничего не остаётся, как применять нативную разработку. Именно она в полной мере позволяет добиться создания эргономичных приложений с правильно и красиво перелистывающимися экранами, всплывающими окнами и формами, красивой анимацией, и уж тем более корректным взаимодействием с платформой и специфичными службами Google или Apple. По опыту скажу, что в ходе проекта заказчик всегда начинает улучшать функциональность и юзабилити приложения, добавлять новые опции и т. д. Поэтому даже если проект стартует в кроссплатформенной среде, впоследствии развитие продолжается под каждую платформу отдельно.

Источник: https://tproger.ru/experts/native-or-crossplatform/

ЕЩЕ ПУБЛИКАЦИИ