Разработка мобильных приложений

Разрабатываем мобильные приложения на .NET MAUI: один код работает на Android и iOS, поддержка обходится дешевле двух отдельных команд. Отдельное направление — перевод приложений с устаревшего Xamarin.Forms, поддержка которого прекращена. Такую миграцию мы уже выполняли.


Коротко о задаче

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

Дальше встаёт вопрос стоимости. Две нативные команды под Android и iOS означают двойную разработку, двойные доработки и двойную поддержку. Для внутреннего приложения на пятьдесят сотрудников такой бюджет не окупается.

Кроссплатформенная разработка решает это, но у неё есть своя ловушка. Технологии в этой области меняются, и приложение, написанное несколько лет назад, может оказаться на фреймворке, который больше не поддерживают. Так произошло с Xamarin.Forms: поддержка прекращена, магазины повышают требования к версиям систем, и приложение перестаёт собираться и обновляться.

Мы работаем на .NET MAUI, преемнике Xamarin, и умеем переводить на него существующие приложения.


Что входит в услугу

  • Проектирование

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

  • Дизайн интерфейса

Готовим макеты с учётом различий платформ: элементы управления, навигация и жесты на Android и iOS ведут себя по-разному, и приложение должно ощущаться привычным на обеих.

  • Разработка

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

  • Интеграция с бэкендом

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

  • Публикация

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

  • Миграция с Xamarin.Forms

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

  • Сопровождение

Обновления под новые версии Android и iOS, доработки, поддержка публикации.


Что это даёт заказчику

  • Одна команда вместо двух. Общий код на обе платформы сокращает и разработку, и каждую последующую доработку.
  • Общий стек с серверной частью. Мы пишем и мобильное приложение, и бэкенд на .NET, поэтому модели и логика переиспользуются.
  • Выход из тупика с Xamarin. Приложение на прекращённом фреймворке возвращается в поддерживаемое состояние без переписывания с нуля.
  • Честная оценка необходимости. Если задача закрывается адаптивным сайтом, мы скажем об этом.
  • Работа без сети. Локальное хранение и синхронизация проектируются заранее, а не добавляются потом.


Как мы работаем

Стек — .NET MAUI для клиента, ASP.NET Core и PostgreSQL для серверной части.

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

Для миграции порядок другой: сначала аудит текущего приложения с оценкой объёма работ, затем перенос по частям с проверкой на устройствах после каждого этапа. Смотрите также {{ссылка: Аудит унаследованного кода и оценка технического долга}}.


Наш опыт

Мы выполнили перевод мобильного приложения с Xamarin.Forms на .NET MAUI: приложение вернулось в поддерживаемое состояние, продолжило собираться под актуальные версии систем и стало пригодным для дальнейшего развития.

Серверную часть для мобильных клиентов мы делаем на том же стеке, что и наши веб-платформы, и используем те же внутренние библиотеки. Смотрите {{ссылка: Разработка веб-сервисов и платформ}}.

Расскажите, что за приложение нужно или что происходит с существующим. Для миграции начнём с аудита, для нового приложения — со сценариев.

Давайте создавать вместе!

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

Контакты

Офис: г. Казань, ул. Островского, 57Б, оф. 110
Почта: info@nabla-lab.ru
Телефон: +7 (965) 595-62-78