Кросс-платформенная разработка. Преимущества

<a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.facebook.com%2Fbardinalena&postId=54254" rel="nofollow noopener" target="_blank">Лена Бардина</a>. Head of marketing <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fbaccasoft.ru%2F&postId=54254" rel="nofollow noopener" target="_blank">Bacca</a>
Лена Бардина. Head of marketing Bacca

Что такое кросс-платформенная разработка?

Эта концепция относится к разработке мобильных приложений, которые могут быть использованы на нескольких мобильных платформах. В деловом мире растет BYOD (Bring Your Own Device) тенденция. BYOD подход применим к сотрудникам, приносящим свое личное мобильное устройство на рабочее место, вместо использования настольных компьютеров или предоставленных компанией мобильных устройств для доступа к приложениям и корпоративным данным. Из-за BYOD компаниям стало необходимо разрабатывать собственные мобильные приложения и отправлять их на множество различных устройств, которые используют разные операционные системы.

Кросс-платформенная мобильная разработка - это разработка приложений одновременно для самых популярных платформ и адаптированных под большинство устройств. Этот инструмент полезен, поскольку он существенно снижает затраты и существенно увеличивает скорость разработки приложений. Кроме того, благодаря этой модели существенно увеличивается охват аудитории. Кросс-платформенные инструменты, как правило, довольно просты в использовании, поскольку основаны на общепринятых языках программирования.

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

В идеальном сценарии эти приложения работают в нескольких ОС с одной кодовой базой.

Существует 2 типа кросс-платформенных приложений:

1. Собственные (Xamarin, Marmelade)

2. Гибрид ‘HTML5’ (ReactNative, Mobile Angular UI)

Собственные кросс-платформенные приложения

Каждая крупная мобильная операционка имеет свой SDK (Software Development Kit) для создания мобильных приложений. У этих пакетов SDK есть предпочтительные языки программирования, поддерживаемые поставщиком ОС. Например, для iOS - Objective-C и Swift, в то время как для Android предпочтительными языками являются Java и Kotlin. Приложения, созданные на этих языках с помощью официального SDK, называются нативными.

Однако можно использовать API (Application Programming Interface), предоставляемые собственным SDK, на других языках программирования, которые не поддерживаются поставщиком ОС. Так создаются ”кросс-платформенные" приложения.

Как правило, сторонний поставщик выбирает язык программирования и создает единый API поверх пакетов SDK, предоставляемых различными поставщиками ОС. Используя этот унифицированный API, можно поддерживать несколько операционных систем с единой кодовой базой. Сторонний поставщик предоставляет набор инструментов, которые обрабатывают процесс создания собственного пакета приложений для iOS и Android из одной кросс-платформенной кодовой базы.

Поскольку конечное приложение по-прежнему использует собственные API, кросс-платформенные приложения могут достичь хорошей производительности без видимого отставания для пользователя.

Гибрид ‘HTML5’ с кросс-платформенных приложений

Большинство мобильных приложений во многом зависят от серверных веб-служб. Грубо говоря, в мобильных приложениях, особенно в области автоматизации бизнес-процессов, почти 60% кода связаны с взаимодействием с сервером. Это огромный выигрыш, так как код пишется только один раз.

iOS, Android и Windows Phone имеют очень продвинутый компонент браузера в своих SDK. Например, в некоторых случаях, используя компонент WebView, программисты могут использовать стандартные веб-технологии HTML5 для разработки и программирования частей своего приложения. Таким образом, приложение состоит по крайней мере из собственного фрейма и HTML/JavaScript, выполняемых в WebView, поэтому они называются “гибридными”. Функции приложения, которым требуются входы датчиков, такие как геолокация, камера или функции более низкого уровня, такие как доступ к файловой системе, обычно используют некоторый мост JavaScript-native, предоставляемый гибридной платформой приложений.

Выгоды внедрения кросс-платформенных приложений

· При тщательном планировании, около 50-80% кода можно использовать повторно для реализации на разных платформах

· Такая разработка имеет больше преимуществ в обслуживании

· Модульные тесты пишутся один раз для общего кода

· Не нужно изучать специфические языки программирования, а можно использовать те, которые уже имеются в арсенале разработчиков

· Кросс-платформенные приложения идеально подходят для автоматизации бизнес-процессов, где время развертывания и эффективность использования является критичными вопросами

44
15 комментариев

react native это не html5 видно что люди не разбирающие в кросс платформенной разработке писали

2
Ответить

Выгоды в статье описали
а недостатков типа нет?
ну нельзя же так тупо "впаривать" свои услуги

1
Ответить

Не уверен что Xamarin нуждается в рекламе. Это все-равно что про Андройд статью написать, и все будут визжать что это реклама)

1
Ответить

Статья о выгодах :-)

Ответить

неполная правда - это ложь

2
Ответить

Я Вас умоляю! На том Xamarin разработка только и называется что кросс-платформенной, по факту 80% кода пишется разным под разные os. При этом масса ограничений с библиотеками, визуалом и работой с БД. ЧТо уж говорить о кривом кешировании, о подчас невозможности пользоваться сторонними библиотеками.
Кросс-платформенность - это для очень небольших и нетребовательных проектов, которые нужно запустить быстро или они по сути не представляют особой значимости. Возможно кросс-платформенно можно разрабатывать для внутренних нужд компаний. Но так ли это нужно, когда хороший нативщик может сделать все то же самое, и приложения будут выигрывать в скорости и функциональности.

Ответить

Открою секрет, можно сделать хорошее гибридное приложение, практически без натива. Оно будет выполнять все основные функции. Нет уже смысла делать приложения на нативе, так как это в десятки раз дороже и разработка будет вестись дольше. Кроме того, гибрид под ios и Android делается сразу, что удобно.

Ответить