Кроссплатформенные приложения что это

Мобильная разработка: Cross-platform или Native

Всем привет! Я Игорь Веденеев, руководитель мобильной разработки в AGIMA. Поговорим немного о нативной и кроссплатформенной разработке. Раньше я по большей части скептически относился ко второй: не устраивало качество конечных приложений в первую очередь. Однако за последний год темпы развития кроссплатформенных фреймворков уже не в первый раз заставляют пересмотреть свое мнение насчет такого подхода. Поэтому давайте еще раз сравним самые популярные кроссплатформенные решения и нативную разработку.

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

На всякий случай

Если вы не знаете, что такое нативная и кроссплатформенная разработка:

нативная разработка (2 независимых приложения на языках Swift и Kotlin);

кроссплатформенная разработка — общая кодовая база для iOS и Android (с применением фреймворков Flutter или React Native (далее RN)).

У каждого способа есть свои особенности, плюсы и минусы. Соответственно, под каждый конкретный проект и каждую конкретную цель подходит какой-то один из них. Сейчас объясню, как выбрать и на что обращать внимание.

Нативная разработка

Нативная разработка — это классический способ создания приложения для iOS и Android. Ведется она с использованием инструментов и языков программирования, предложенных вендорами — Apple и Google. Языки в данном случае — Swift (iOS) и Kotlin (Android), а инструментов для профилирования и отладки в нативной разработке очень много.

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

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

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

Плюсы и минусы нативной разработки

2 независимых приложения

Стоимость разработки и отладки

Меньше потребляемых ресурсов*

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

Широкий рынок разработчиков

Кроссплатформенная разработка

Кроссплатформенная разработка подразумевает, что мы используем один и тот же код и на iOS, и на Android. Вообще говоря, это всё такое же нативное приложение, но, запустив его, мы сразу проваливаемся в мир Flutter или RN, и всё происходит уже там. Стоит отметить, что разработка на Flutter/RN идет быстрее. Причем не только за счет того, что мы делаем 1 приложение вместо 2-х, а еще и за счет концепций создания приложений, в частности UI.

Но, увы, не всё так хорошо: кроссплатформа имеет ряд проблем, на которые стоит обратить внимание, прежде чем выбирать этот подход для своего приложения. React Native и Flutter всё же сторонние Open Source-решения. В них могут встречаться баги. Новые фишки iOS и Android там будут появляться не так быстро, как при нативных решениях. Может прекратиться поддержка, в конце концов.

Также, довольно часто придется полагаться на сторонние Open Source-библиотеки, что тоже несет в себе риски потенциальных проблем: например, совместимость версии Flutter/RN. Не исключен вариант, что нужной библиотеки не существует в природе, и тогда придется реализовывать всё с нуля самому. Также нельзя добавить расширения для iOS-приложений или, например, приложение на часы. Это касается и Flutter, и RN.

То есть для реализации определенных фич придется добавлять нативный код, что приведет к смешению технологий. Как минимум надо будет иметь в них компетенции. Как максимум — организовывать передачу данных из нативного кода в кроссплатформенный и наоборот.

Если в приложении много логики и есть необходимость сделать ее многопоточной, это тоже будет проблемой и во Flutter, и в RN. Это возможно, но, скажем, это не то, для чего были предназначены эти фреймворки. Также каждый из фреймворков имеет достаточно тяжелую исполнительную среду, что делает кроссплатформенные приложения более ресурсоемкими и требовательными к процессору/оперативке телефона.

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

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

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Если проще, то кроссплатформа позволяет разработать приложение в кратчайшие сроки. Лучше всего подходит для приложений-витрин услуг или товаров среднего/малого объема без обширного использования платформенных возможностей. То есть снять фотку на аватар или отсканировать QR-код не составит больших проблем, но, если вы делаете приложение вокруг камеры, лучше рассмотреть нативную разработку.

Плюсы и минусы кроссплатформенной разработки

Источник

Что такое нативные и кроссплатформенные приложения? Плюсы и минусы.

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Фактически, рынок заставляет разработчика делать выбор между разработкой кроссплатформенных приложений и разработкой нативных приложений. Рассмотрим детальнее, что представляет из себя каждый из указанных подходов.

Что такое нативные приложения?

Что из себя представляют кроссплатформенные приложения?

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

Какие инструменты для разработки кроссплатформенных приложений применяют чаще всего?

Ссылаясь на статистику appfigures.com можно выделить такие инструменты:

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Как мы видим наиболее часто применяемым инструментом разработки кроссплатформенных мобильных приложений на конец 2017 года был Cordova – 39.89%. Вторым по частоте применения инструментом является Unity – 30.93%. Третьим – Adobe Flash с 10.39%. Следом идут Cocos2D – 9.37%, Xamarin – 4.5%, Appcelerator – 3.79%, Corona – 2.68%, React Native – 1.85%.

Итак, стоит ли вам инвестировать в разработку отдельных нативных приложений на несколько платформ сразу, или убивать двух зайцев одним выстрелом, разрабатывая кроссплатформенные приложения? Или может стоит вообще сосредоточиться только на одной платформе и не обращать внимание на другую, пока не достигнут успех среди приложений первой?
По данным портала appfigures.com на начало 2018 года количество приложений, присутствующих на обеих популярных платформах, было вполне ощутимым:

Тема связана со специальностями:

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

450 тысяч приложений на обеих платформах. Это более 28% приложений в Apple App store и 14% в Google Play Store. Это выглядит достаточно весомой частью, чтобы задуматься об присутствии на обеих платформах и попытке экономии используя кроссплатформенную разработку.

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

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Можно также наблюдать тенденцию к снижению процента кроссплатформенных приложений за 2016 – 2017 годы.

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Так стоит ли потратить деньги на разработку двух нативных приложений, идеально соответствующих каждой платформе, или есть смысл сэкономить ресурсы и получить одно – кроссплатформенное?

Давайте рассмотрим плюсы и минусы каждого из указанных подходов.

Преимущества и недостатки нативного подхода

Плюсы нативных приложений

Нативные приложения задумываются и разрабатываются, чтобы решать конкретные задачи на конкретной платформе. Это приводит к лучшему соответствию возможностей приложений аппаратным возможностям устройств, включая Bluetooth, NFC, камеру, GPS и т. д.

Эта соответствие необходимо, когда приложение должно использовать такие данные, как физическое и географическое местоположение и др.

Лучший пользовательский интерфейс

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

Минусы разработки нативных приложений

Видео курсы по схожей тематике:

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

UX/UI Design Стартовый

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

UX/UI Design мобильных приложений

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Создаем игру типа “Pokémon Go“

Плюсы и минусы кроссплатформенных приложений

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

Вот некоторые преимущества и недостатки использования кроссплатформенного подхода в разработке мобильных приложений.

Плюсы кроссплатформенных приложений

Тогда как производительность важна для любого мобильного приложения, его внешний вид (UI) и ощущения (UX) так же важны. Использование единой общей команды разработчиков и единого кода позволяет компаниям использовать одинаковый внешний вид приложения на всех платформах. То есть один и тот же пользовательский интерфейс и UX будет одинаково выглядеть на всех платформах.

Недостатки кроссплатформенной разработки приложений

Механизм добавления вашего приложения, являющегося кроссплатформенным, в Apple App Store и в Google Play Store будет отличаться. Требования этих магазинов приложений к представленным у них продуктам различны. Прохождение всех проверок и выполнение всех правил для соответствия обоим магазинам будут вызывать определенные сложности.

Вывод

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

Бесплатные вебинары по схожей тематике:

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Обучение как фактор мотивации в проектных командах

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Scrum на 24 команды? Масштабируем Agile, используя LeSS!

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Agile & Scrum – знакомство и легкое погружение

Используйте выбранный вами подход для построения качественных и полезных приложений. С нашей стороны можем порекомендовать ряд видеокурсов.

Для создания кроссплатформенных игр очень удобным инструментом является Unity и на ITVDN вы найдете серию видео курсов по разработке игр на Unity.

Если вы хотите попробовать себя в разработке кроссплатформенных приложений с использованием такого инструмента, как Xamarin, вам могут оказаться полезными такие уроки на портале ITVDN.com, как Xamarin. Легкий старт и Разработка пользовательского графического интерфейса (GUI) на C# под Android (Xamarin).

Также смотрите на ITVDN видео курсы по специальности Android Developer и iOS Developer.

Источник

Как выбрать мобильную кросс-платформу в 2021 году

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

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

Познакомимся с Женей

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Евгения — солюшн-архитектор. Она должна решить, как построить новое мобильное приложение для изучения английского языка не носителями: людьми из Турции, Италии или России. Давайте посмотрим, как Женя подходит к этой задаче.

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

В компании — владельце приложения также ожидают, что разработкой будет заниматься единая команда — как для Android- и iOS-приложений, чтобы свести к минимуму усилия по передаче знаний и максимизировать скорость команды. В будущем также планируют запустить веб-приложения. А еще в компании хотели бы упростить будущий найм.

Прогрессивные веб-приложения

Женя начинает свои исследования. Она гуглит «мобильные веб-приложения» и находит статью. В ней упоминаются «Прогрессивные веб-приложения» (PWA). Что это такое?

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Прогрессивные веб-приложения — это, по сути, веб-сайты, которые используют специальные API для доступа к определенным возможностям устройства. Эти API позволяют получить доступ к памяти на устройстве, интегрируются с Push Notifications (на Android) и, что самое важное, работать в отдельной вкладке браузера. Еще их можно установить на устройство «иконкой», как настоящее приложение. Звучит неплохо! Давайте посмотрим на плюсы и минусы PWA:

Источник

Кроссплатформенная разработка мобильных приложений – плюсы и минусы

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Кроссплатформенные приложения что это. Смотреть фото Кроссплатформенные приложения что это. Смотреть картинку Кроссплатформенные приложения что это. Картинка про Кроссплатформенные приложения что это. Фото Кроссплатформенные приложения что это

Что такое кроссплатформенность?

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

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

В этой статье я хочу сфокусироваться на мобильной разработке, рассмотреть преимущества и недостатки кроссплатформенного подхода и ответить на вопрос: «Стоит ли отказываться от классического подхода в сторону кроссплатформенности?».

Плюсы и минусы нативной разработки

Как уже упоминалось в введении, глобально мобильные приложения можно разделить на две категории: классические (далее будем называть их нативными) и кроссплатформенными, и я считаю, что перед погружением в мир кроссплатформенной разработки мобильных приложений необходимо подробней поговорить о нативных приложениях.

В мире мобильных устройств доминируют две платформы: iOS и Android. Для разработки приложений для этих систем компании Apple и Google выпустили соответствующие SDK. Приложения под Android разрабатываются с помощью Java или Kotlin в Android Studio, под iOS с помощью Swift в Xcode.

С первого взгляда не знакомому с темой человеку может показаться странным выбирать нативный подход, когда существует кроссплатформа. Зачем писать два приложения, когда можно написать одно? И действительно зачем, ведь можно так сильно облегчить себе жизнь, написав всего лишь одно приложение? Но как всегда в реальности все намного сложнее. Нативная разработка имеет ряд неоспоримых преимуществ, о которых я и предлагаю поговорить далее.

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

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

Подробнее о кроссплатформенных приложениях: особенности, преимущества, недостатки

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

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

Но решение этого недостатка вызывает сразу несколько других. Скорость работы кроссплатформенных приложений в общем ниже, чем у нативных, например, это будет заметно в приложениях с тяжелой анимацией. Как уже было упомянуто, у кроссплатформенных приложений ограниченный доступ к API операционной системы, что может привести к необходимости писать нативный код. Хотя стоит отметить, что нативный код достаточно просто встраивается в кроссплатформенный, но если часто прибегать к такому решению, подход лишится своего главного преимущества. Также решением этой проблемы могут быть библиотеки, написанные другими разработчиками, что позволит не дробить кодовую базу на кроссплатформенные и нативные составляющие, но он не сможет защитить вас от багов и недоработок самой библиотеки.

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

На чем разрабатывают кроссплатформенные приложения: инструменты и платформы

Существует огромное количество фреймворков для разработки кроссплатформенных мобильных приложений, но наиболее широкое продуктовое применение получили React Native и Flutter, на которых мы сфокусируемся.

Начать стоит с React Native, кроссплатформенного фреймворка от Facebook, построенного на основе сверхпопулярной JS библиотеки, React Native делает переход от web-разработки к мобильной максимально простым. Технология Fast Refresh позволяет практически мгновенно отображать изменения в коде на устройстве, тем самым сильно ускоряя разработку приложения. Так как фреймворк основан на React Js разработка на нем осуществляется с помощью JavaScript, позволяя front-end разработчикам быстро переключиться на разработку кроссплатформенных мобильных приложений.

И хотя у React Native есть определенные проблемы с производительностью, он все еще остается самым популярным кроссплатформенным фреймворком с огромным комьюнити, поддерживающим гигантское количество библиотек, что в свою очередь еще сильнее ускоряет разработку и облегчает поиск новых разработчиков. Но конкурент React Native от Google все ближе и ближе подбирается к его популярности.

Flutter — относительно молодой фреймворк, выпущенный в 2017 году, но, несмотря на небольшой возраст, он заработал большую популярность в сообществе разработчиков. Flutter постоянно развивается. Изначально представленный как фреймворк для кроссплатформенной мобильной разработки, он уже перерос это определение. Сейчас на основе набора средств Flutter можно разрабатывать мобильные, web и desktop приложения. Hot Reload по аналогии с Fast Refresh в React Native, позволяет мгновенно увидеть изменение на экране устройства, а большое количество библиотек практически полностью закрывает собой ограниченный доступ к API системы (хотя в выборе библиотек нужно быть осторожным, так как некоторые из них могут не поддерживать чать платформ) и дает возможность свести написание нативного кода к минимуму или отказаться от него совсем.

Разработка на Flutter происходит на языке Dart, который также разрабатывается Google, что в свою очередь позволяет добавлять в язык новые возможности специально для Flutter разработчиков. Так недавно из беты вышла функция null safety, которая при включении ее в проект обвязывает разработчиков специально помечать переменные, значение которых может быть null, и добавлять проверки на такие случаи, что в итоге приводит к более высокой стабильности приложения. Dart также прост для изучения для нативных разработчиков, что дает им возможность при желании быстро переключиться на кроссплатформенную разработку.

Кейс Doubletapp

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

Руководство компании в то же время может выплачивать сотрудником зарплату, одобрять их заявки на отпуск и дополнительные траты, легко добавлять и просматривать любые расходы и доходы, осуществлять переводы между счетами компании.

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

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

Выводы

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *