какие технологии выбрать 
для
своего мобильного приложения
/
какие технологии выбрать 
для своего мобильного приложения

Какие технологии выбрать
для своего мобильного приложения

Эта статья для тех, кто обдумывает запуск мобильного приложения, но не понимает, какие технологии выбрать для будущего продукта. Я — Анатолий Пешков, технический директор Mad Brains. Читайте мою колонку и поймете, как заговорить с разработчиками на одном языке.
/
автор:
Анатолий Пешков
Опубликовано:
21 октября 2024 г.
Время чтения:
5 мин.
язык программирования
фреймворк/технология
IDE (integrated development environment, среда разработки)
Точнее Apple
iOS
Когда речь заходит о разработке мобильного приложения, нужно определиться с 4 важными аспектами:
Исторически было немало попыток разбавить эту пару, но пока особого успеха не добился никто. Пожелаем удачи отечественной Авроре, но это вопрос отдаленной перспективы.
платформа для запуска
Точнее Google, немножко Huawei и другие бренды, использующие собственные операционные системы, но, так или иначе, базирующиеся на Android-экосистеме
Android
Начнем с последнего, потому что это наиболее понятная часть и ответ на вопрос: в каких сторах должен появиться продукт после того, как будет готов к релизу.
Технологическое трио: язык, фреймворк, среда разработки
Для людей без специального технического образования язык, фреймворк и среда разработки мало о чем говорят. В контексте выбора технологий для создания мобильного проекта важно лишь то, что они идут в связке и зависят от того, какой подход к разработке выберет бизнес: натив или кроссплатформу.
Разница между нативной и кроссплатформенной разработкой
Нативное мобильное приложение предполагает создание уникального кода для каждой из платформ (iOS и Android). В результате продукты будут различаться по функционалу и интерфейсу. Кроссплатформенная разработка, наоборот, позволяет создавать код, который подходит для обеих платформ сразу.
У каждого подхода свои достоинства и недостатки. Для удобства мы собрали их в таблице.
Нативная разработка
Нативная разработка предполагает максимум качества, но за приличные инвестиции. Этот подход позволяет использовать всю мощь конкретной операционной системы, обеспечивает высокую производительность приложения и его качественную интеграцию со сторонними сервисами.
Выбирая натив, надо быть готовым к тому, что отдельно понадобится версия продукта для iOS и отдельно для Android. Для некоторых владельцев бизнеса этот пункт становится стоп-фактором, других не пугает. Например, Мобильный художественный театр Креативной студии «История будущего» осознанно запустила два самостоятельных приложения. Так она смогла обеспечить пользователям максимальную производительность и стабильность на каждой платформе.
Подробнее о нативной разработке читайте в статье «Нативная или кроссплатформенная разработка: что подойдёт вашему проекту»
iOS
Разработчики на iOS используют Swift — это основной язык в экосистеме Apple. Был еще Objective-C, но это уже история.
На заре развития мобильных приложений яблочная корпорация задавала высокие стандарты, а разработка под iOS считалась самой удобной и продвинутой, ведь экосистема предоставляла для этого лучшие инструменты и возможности. Сейчас тренд умирает. Да, модные фишки есть, например, упрощенные инструменты для создания пользовательских интерфейсов (декларативный UI), но качество и новизна решений уже не те.
Плюсы нативных iOS-приложений:
Высокое качество разработки
Интеграция с Apple-экосистемой: iPad, Mac, Apple Watch
Минусы нативных iOS-приложений:
Высокая стоимость разработки
Подходит только для размещения в магазине App Store
В нынешних реалиях iOS используется либо фанатами (пусть дорого, зато самое лучшее), либо теми, кто не до конца понимает тренды современных технологий.
Android
Изначально код для Android писали на Java, но сейчас большинство мобильных разработчиков перешли на Kotlin, потому что писать на нем быстрее, эффективнее и приятнее. Java всё ещё используется, но в основном для проектов «с историей» или специфических задач.
Android по своим инструментам долго был догоняющим, но в последнее время именно он задает тренды. В его комплекте целое множество инструментов для разработки: от архитектуры и логики работы проекта — до визуальных сочетаний цветов.
Плюс нативных Android-приложений:
Высокое качество разработки
Минусы нативных Android-приложений:
Высокая стоимость разработки
Подходит только для размещения в магазинах Android-приложений (Google Play Store, Huawei AppGallery, RuStore и других)
Технологию лучше использовать тогда, когда есть желание сделать качественно, но только под одну платформу. И результат может быть, признаемся честно, недешевым.
KMM (Kotlin Multiplatform Mobile)
Есть еще одна интересная технология, к которой стоит присмотреться, — KMM. Она позволяет использовать один и тот же код на языке Kotlin для создания продуктов для iOS и Android. Но есть одно «но»: дело в том, что часть кода, например бизнес-логика, может быть универсальной и подходить для обеих платформ, а другая должна быть написана индивидуально для каждой платформы.
KMM можно использовать тогда, когда ваша техническая команда — энтузиасты, не боящиеся рисковать и желающие разбираться сразу в нюансах разработки и под iOS и под Android.
Разработка может получиться как экономичной по цене, так и дорогой — тут как повезёт.
Кроссплатформа
Кроссплатформа напоминает «супермаркет»: здесь представлены решения с совершенно разными подходами и качеством исполнения. Можно найти как упрощённые решения, так и сложные, с высоким уровнем функциональности.
Технологический стек будет зависеть от выбранного бизнесом фреймворка.
Подробнее о кроссплатформенной разработке читайте здесь: Кроссплатформенная разработка на Flutter.
Flutter
Flutter — самый популярный фреймворк в кроссплатформенной разработке с языком программирования Dart. Развивается так активно, что сегодня на нем пишут код не только для мобильных, но и web-решений, а также для персональных компьютеров и телевизоров.
Flutter берет канвас (место на экране) и сам управляет отрисовкой каждого пикселя. Переиспользование кода стремится к 100% (то есть разработчики пишут код лишь раз, а запускают по факту там, где нужно, с минимальными правками).
Собственно, по этим причинам Flutter выбирают серьёзные компании, в том числе федерального уровня. Например, свое приложение для автоматизации работы сотрудников сеть «Магнит» сделала на Flutter. Так ей удалось сократить бюджет и сроки реализации проекта на 50%.
У Flutter хороший инструментарий и высокая поддержка самого Google. В качестве плюсов здесь также можно отметить активное комьюнити разработчиков и — вишенка на торте — открытый исходный код, который при необходимости может быть доработан любым разработчиком.
Flutter — это «боец», который позволяет создать качественные приложения на обе платформы с перспективой портировать продукт на веб, компьютеры и телевизоры.
Плюсы приложений на Flutter:
Подходит для iOS и Android одновременно
Дешевле, чем нативная разработка
Минусы приложений на Flutter:
Могут быть сложности с редко используемыми нативными функциями: AR, работа с датчиками, специфическими настройками камеры
Открытый исходный код
Google активно обновляет Flutter, но иногда код требует доработки и тестирования после апдейтов
Обширное сообщество разработчиков
Плюсы приложений на React Native:
Подходит сразу для двух платформ: iOS и Android
Открытый исходный код
Минус приложений на React Native:
Использует встроенные нативные компоненты
React Native
Фреймворк использует язык JavaScript. Главный плюс React Native — универсальность: разработчик пишет код один раз, который работает на обеих системах. Недостаток — использование нативных компонентов, разработанных отдельно для каждой системы (iOS и Android), что периодически вызывает сложности в работе. По этому поводу есть показательная история AirBnB, онлайн-сервиса для поиска и сдачи жилья в аренду: компания попыталась перейти на React Native, но вскоре плюнула и вернулась на натив.
Дешевле, чем нативная разработка
Плюсы приложений на .NET MAUI:
Подходит сразу для двух платформ: iOS и Android
Открытый исходный код
Минусы приложений на .NET MAUI:
Относительно новая технология, использование которой может привести к проблемам несовместимости и нехватки инструментов
.NET MAUI
Фреймворк .NET MAUI — это детище Microsoft. Оно появилось в результате трансформации кроссплатформы Xamarin в 2022 году. С тех пор его технические характеристики улучшились, но судить об успешности продуктов сложно. Хотя бы потому, что в публичном пространстве их не так много.
Дешевле, чем нативная разработка
Эту технологию я бы рекомендовал тем, кто считает Microsoft лучшей компанией, выпускающей лучшие в мире продукты.
Меньше ресурсов и документации по сравнению с более зрелыми кроссплатформенными решениями
Ionic
Не то, чтобы кроссплатформа, скорее, способ собрать гибридное решение с использованием HTML, CSS и JavaScript. Это можно сравнить с выпуском браузера, который имеет доступ только к одному конкретному сайту. В данном случае мобильное приложение будет запускать веб-страницу, «заблокированную» внутри него же.
Apple и Google не особо приветствуют такие решения и при проверке могут отклонить публикацию в своих магазинах. Но если вам недосуг разбираться с мобильной разработкой, а попробовать мобильный канал продаж с веб-проектом хочется, действуйте. Вдруг проект взлетит? Тогда перепишите приложение на адекватной технологии. Опять же, если оно успеет пройти проверку в сторах ИТ-гигантов.
Плюсы приложений на Ionic:
Подходит сразу для двух платформ: iOS и Android
Открытый исходный код
Минусы приложений на Ionic:
Подходит для проверки решений
Высок риск блокировки Apple и Google
Сложно поддерживать и развивать
Есть еще множество менее популярных решений, которые подходят для экспериментов или pet-проектов (проектов разработчиков, которые реализуются для самообучения или в качестве хобби). Но для серьезных коммерческих проектов они не подходят.
Готовые решения и низкокодовые платформы
В начале статьи мы говорили про 2 основных направления в разработке мобильных продуктов, но для полноты картины стоит упомянуть и про модные NoCode и LowCode. Какие технологии используют они?
Плюсы NoCode и LowCode-решений:
Подходят сразу для двух платформ: iOS и Android
Есть возможность создавать несложные проекты без программирования
Минусы NoCode и LowCode-решений:
Реализация сложного функционала невозможна без поддержки разработчиков
Могут возникнуть трудности с масштабированием проекта
Меньшее количество разработчиков, в сравнении с кроссплатформой
Тренд на платформы с минимальным кодированием развивается. И мой 10-летний опыт в разработке подсказывает, что не за горами день, когда на рынке ПО появится нечто похожее на Tilda, но для создания мобильных приложений. NoCode и LowCode-решения зависят от сервисов. Использовать их можно, но создавая плюс-минус то, что предусмотрели создатели продукта.
Мобильное SaaS-приложение для цифровой торговли. В стоимость подписки входит настройка интеграций с веб-сервисами и ежемесячные обновления функционала. AppCart идеально подходит для тех, у кого уже есть интернет-магазин и кто хочет масштабировать продукт через мобильное решение.
AppGyver
AppGyver — серьёзный продукт, приобретенный компанией SAP, лидером в области разработки ПО для управления бизнесом, в 2021 году. Зачем это понадобилось SAP? Корпорация смогла предоставить своим клиентам без глубоких знаний программирования инструменты для создания собственных продуктов. Решение платное и больше подходит для создания простых прототипов, MVP (Minimum Viable Product, «минимально жизнеспособный продукт») или внутренних корпоративных решений. Однако для реализации масштабных проектов рано или поздно понадобится полноценная команда разработчиков.
Adalo
Еще один представитель решения с возможность «создать простое мобильное приложение без необходимости программировать». Несложное MVP собрать самостоятельно можно, но дальше опять же придется прибегнуть к помощи разработчиков.
Bubble
Bubble позволяет создавать сложные веб-сервисы с минимальными знаниями программирования, впоследствии они могут быть адаптированы для мобильных устройств через WebView. Я бы рекомендовал использовать такие решения только для прототипов или в качестве тестирования разных концепций.
Вместо выводов
В современных реалиях, когда 70% населения планеты (5,44 млрд человек) пользуются смартфонами и проводят в них треть жизни (отчет data. ai), актуальность мобильных приложений обсуждать не приходится. Согласно ASOMobile, Android лидирует по количеству загрузок, но по доходности выигрывают iOS-проекты.
Какие технологии выбрать для своего продукта? NoCode и LowCode-решения нужно выбирать осторожно. Они развиваются, но некоторые из них по-прежнему вызывают немало сомнений из-за сильной зависимости от разработчиков.
Мой совет такой: оцените ресурсы, текущее состояние бизнеса, IT-ландшафт. Если в вашем приоритете создать решение, которое будет на острие технологий, а внушительные затраты и долгая разработка не пугают, выбирайте натив.
Если хотите сэкономить время и деньги, есть доступные IT-ресурсы (например, C# или Web-разработчики в штате), вам важно ультрабыстро запустить MVP с его полной переработкой в дальнейшем на хороших технологиях, можно рассмотреть .NET MAUI, Ionic или в крайнем случае LowCode-решения.
Во всех остальных случаях (в практике Mad Brains это 90% от общего числа запросов) я рекомендую идти в проверенную кроссплатформу. Эта технология становится предпочтительным вариантом для многих компаний благодаря быстрой разработке, качественному результату и поддержке большого сообщества разработчиков. Flutter, как один из таких фреймворков, заслуживает особого внимания. Но финальный выбор, конечно, остается за вами.
автор:
Анатолий Пешков
Опубликовано:
21 октября 2024 г.
Время чтения:
5 мин.
Получите Консультацию
Есть идея, но не знаете с чего начать? Обсудите запуск MVP с экспертами Mad Brains

Читать другие материалы

продукты
услуги
ПАРТНЕРАМ
Вся информация защищена внутренним NDA
Запросить демо
Заказать обратный звонок
Вся информация защищена внутренним NDA
Хотите запустить успешный проект? Напишите нам