Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
UKVED
Комплексные IT решения
для вашего бизнеса
+7 906 045 2827
+7 906 045 2827
E-mail
sale@ukved.ru
Адрес
г.Москва, ул. Антонова-Овсеенко, д. 15, стр. 2
Режим работы
Пн. – Пт.: с 9:00 до 18:00
Сопровождение 1С
  • Внедрение 1С
  • Обновление 1С
  • Обслуживание 1С
  • Поддержка 1С
  • Разработка 1C
Аренда 1С (1С:ФРЕШ)
Бухгалтерское сопровождение
Аренда сервера
  • Выделенный сервер 1C
  • Аренда сервера для 1C
  • Почтовые серверы
  • Backup серверы
Распознавание документов в 1С
Разработка мобильных приложений
Наши мобильные приложения
AmoCRM
  • Внедрение AmoCRM
  • Интеграция AmoCRM
  • Разработка виджетов AmoCRM
Системное администрирование
  • Обслуживание компьютеров
  • Обслуживание локальной сети
  • Обслуживание телефонии
IP телефония
Каталог товаров
  • 1С отчетность
  • Лицензии 1С
    • Комплексное управление ресурсами предприятия (ERP)
    • Клиентские лицензии
    • Серверные лицензии
    • Бухгалтерский и налоговый учет
    • ЗУП и кадровый учет (HRM)
    • Управление складом, логистикой и продажами
  • ТСД Клеверенс
  • ИТС
  • Тарифы ИТС
  • Наши решения
Наши внедрения
Статьи
Контакты
Комплексные IT решения
для вашего бизнеса
+7 906 045 2827
+7 906 045 2827
E-mail
sale@ukved.ru
Адрес
г.Москва, ул. Антонова-Овсеенко, д. 15, стр. 2
Режим работы
Пн. – Пт.: с 9:00 до 18:00
UKVED
  • Сопровождение 1С
    • Внедрение 1С
    • Обновление 1С
    • Обслуживание 1С
    • Поддержка 1С
    • Разработка 1C
  • Аренда 1С (1С:ФРЕШ)
  • Бухгалтерское сопровождение
  • Аренда сервера
    • Выделенный сервер 1C
    • Аренда сервера для 1C
    • Почтовые серверы
    • Backup серверы
  • Распознавание документов в 1С
  • Разработка мобильных приложений
  • Наши мобильные приложения
  • AmoCRM
    • Внедрение AmoCRM
    • Интеграция AmoCRM
    • Разработка виджетов AmoCRM
  • Системное администрирование
    • Обслуживание компьютеров
    • Обслуживание локальной сети
    • Обслуживание телефонии
  • IP телефония
  • Каталог товаров
    • 1С отчетность
    • Лицензии 1С
      • Комплексное управление ресурсами предприятия (ERP)
      • Клиентские лицензии
      • Серверные лицензии
      • Бухгалтерский и налоговый учет
      • ЗУП и кадровый учет (HRM)
      • Управление складом, логистикой и продажами
    • ТСД Клеверенс
    • ИТС
    • Тарифы ИТС
    • Наши решения
  • Наши внедрения
  • Статьи
  • Контакты
1СFranch.pngmintsifryi_1С.png
г.Москва, ул. Антонова-Овсеенко, д. 15, стр. 2
UKVED
Телефоны
+7 906 045 2827
E-mail
sale@ukved.ru
Адрес
г.Москва, ул. Антонова-Овсеенко, д. 15, стр. 2
Режим работы
Пн. – Пт.: с 9:00 до 18:00
UKVED
  • Сопровождение 1С
    • Сопровождение 1С
    • Внедрение 1С
    • Обновление 1С
    • Обслуживание 1С
    • Поддержка 1С
    • Разработка 1C
  • Аренда 1С (1С:ФРЕШ)
  • Бухгалтерское сопровождение
  • Аренда сервера
    • Аренда сервера
    • Выделенный сервер 1C
    • Аренда сервера для 1C
    • Почтовые серверы
    • Backup серверы
  • Распознавание документов в 1С
  • Разработка мобильных приложений
  • Наши мобильные приложения
  • AmoCRM
    • AmoCRM
    • Внедрение AmoCRM
    • Интеграция AmoCRM
    • Разработка виджетов AmoCRM
  • Системное администрирование
    • Системное администрирование
    • Обслуживание компьютеров
    • Обслуживание локальной сети
    • Обслуживание телефонии
  • IP телефония
  • Каталог товаров
    • Каталог товаров
    • 1С отчетность
    • Лицензии 1С
      • Лицензии 1С
      • Комплексное управление ресурсами предприятия (ERP)
      • Клиентские лицензии
      • Серверные лицензии
      • Бухгалтерский и налоговый учет
      • ЗУП и кадровый учет (HRM)
      • Управление складом, логистикой и продажами
    • ТСД Клеверенс
    • ИТС
    • Тарифы ИТС
    • Наши решения
  • Наши внедрения
  • Статьи
  • Контакты
  • 0 Корзина
  • +7 906 045 2827
    • Телефоны
    • +7 906 045 2827
  • г.Москва, ул. Антонова-Овсеенко, д. 15, стр. 2
  • sale@ukved.ru
  • Пн. – Пт.: с 9:00 до 18:00
1СFranch.pngmintsifryi_1С.png
Главная
—
Статьи
—
Общее

Xamarin-приложение в RuStore: 4 шага миграции на .NET MAUI до релиза

Владимир Ершов, руководитель UKVED · опубликовано 25 октября 2026

Xamarin-приложение в RuStore: 4 шага миграции на .NET MAUI до релиза

Xamarin-приложение в RuStore: 4 шага миграции на .NET MAUI до релиза

Содержание
Ноутбук прежнего подрядчика и ключ без пароля 🧳Четыре пути для старого проектаШаг 1. Инвентаризация до первой строки кода 🔍Шаг 2. Перенос на .NET MAUIШаг 3. Сервисы Google заменяем на российские 🔌Шаг 4. Подпись, сборка, консоль и модерация 🚀Что делаем мы и сколько это стоит❓ Частые вопросы

Старое Xamarin-приложение выходит в RuStore в четыре этапа: перенос проекта на .NET MAUI, замена сервисов Google (push, карты, аналитика) на российские, сборка подписанного AAB или APK и модерация магазина. Дольше всего уходит на поиск зависимостей, которые не работают без Google Play Services.

Ноутбук прежнего подрядчика и ключ без пароля 🧳

Так выглядит типичный старый проект. Приложение для торговых агентов собирается на единственном ноутбуке, оставшемся от прежней команды. Ключ подписи лежит на том же диске, а пароль от него знал сотрудник, которого в компании больше нет. Внутри Xamarin.Forms 4.x и десяток NuGet-пакетов, которые никто не обновлял.

Microsoft прекратила поддержку Xamarin 1 мая 2024 года, поэтому исправлений безопасности и совместимости с новыми версиями Android больше не будет. Но агентам приложение нужно каждый день, и о проблеме компания узнаёт в тот момент, когда очередное обновление Android ломает отправку заказа.

Ставка понятная. Пока проект не перенесён, любая правка превращается в раскопки старой сборки. Потеряете ключ, и опубликованное приложение нельзя будет обновить: Android принимает обновление только с той же подписью. Агенты вернутся к звонкам и Excel, а заказы снова придётся вбивать в 1С руками.

У RuStore есть и практическая причина. Магазин работает на устройствах без сервисов Google, и сотрудникам не придётся скачивать APK-файлы из мессенджера.

Четыре пути для старого проекта

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

ВариантЧто делаемКогда подходитГлавный риск
Оставить XamarinПоднимаем уровень API, собираем как естьПриложение нужно на пару месяцев, замена уже запланированаСборка ломается при обновлении Visual Studio и Android SDK, помощи ждать неоткуда
Миграция на .NET MAUIПереносим общий код, переписываем рендереры, меняем зависимостиБизнес-логика на C# рабочая, интерфейс на Xamarin.FormsБиблиотеки без MAUI-версии придётся заменять или оборачивать
Нативный Android на KotlinПишем приложение заново, обмен с сервером сохраняемСтарый код в плохом состоянии, iOS не нуженСамый долгий путь до первого релиза, нужна другая команда
1С:Мобильная платформаПересобираем приложение средствами 1СПриложение показывает и вводит данные 1С, нестандартной логики малоОграничения по интерфейсу и доступу к функциям телефона

Правило выбора простое. Если логика на C# работает и приложению жить дольше года, берите миграцию. Если экранов мало и все они повторяют формы 1С, посчитайте четвёртый вариант: как он устроен, описано на странице про разработку на 1С:Мобильной платформе. Первый вариант оправдан только как временная мера с датой окончания.

Дальше разбираем миграцию на MAUI: C#-логика обычно остаётся самой ценной частью старого проекта, и выбрасывать её жалко.

Шаг 1. Инвентаризация до первой строки кода 🔍

Откройте решение и составьте список. Именно он определяет срок и стоимость переноса.

  • ✓версия Xamarin.Forms и все NuGet-пакеты; для каждого проверьте, есть ли версия под .NET MAUI;
  • ✓кастомные рендереры: каждый нужно переписать в handler, и это самая трудоёмкая часть;
  • ✓пакеты Xamarin.Firebase.* и Xamarin.GooglePlayServices.*, которые тянут за собой сервисы Google;
  • ✓Microsoft App Center, если в нём собирались краши и аналитика: сервис закрыт с 31 марта 2025 года;
  • ✓ключ подписи, пароль к нему и идентификатор пакета, если приложение уже где-то опубликовано.

На выходе получается таблица «пакет, чем заменить, сколько работы». Без неё оценка превращается в гадание.

Шаг 2. Перенос на .NET MAUI

Создайте новый MAUI-проект на актуальной LTS-версии .NET и переносите код в него, а не обновляйте старое решение на месте. В MAUI один проект с папкой Platforms/Android вместо отдельных проектов под каждую платформу, поэтому структура меняется целиком.

  • ✓пространства имён Xamarin.Forms меняются на Microsoft.Maui.Controls, а Xamarin.Essentials уже входит в состав MAUI;
  • ✓рендереры лучше переписать в handlers; слой совместимости позволяет оставить часть старых на время переноса;
  • ✓картинки и шрифты переезжают в папку Resources, а регистрация шрифтов задаётся в MauiProgram.cs;
  • ✓навигацию проверьте отдельно: Shell и привычные страницы ведут себя по-разному.

Поднимите targetSdk до уровня, которого требует магазин, и перепроверьте разрешения. Начиная с Android 13 разрешение на уведомления запрашивается в рантайме, и старые проекты часто рассчитывали на прежнее поведение.

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

Шаг 3. Сервисы Google заменяем на российские 🔌

Этот шаг прячет больше всего сюрпризов. Приложение установится на телефон без Google Play Services, но push не придёт, карта останется серой, а аналитика промолчит. Обычно это выясняется уже после релиза, на чьём-нибудь корпоративном планшете.

  • ✓push-уведомления: Firebase Cloud Messaging заменяется на RuStore Push SDK;
  • ✓карты: вместо Google Maps подойдут Яндекс Карты (MapKit) или OpenStreetMap;
  • ✓аналитика и краши: вместо App Center и Firebase Analytics ставят AppMetrica;
  • ✓встроенные платежи, если они есть: платёжный SDK RuStore.

SDK RuStore написаны под нативный Android, поэтому в MAUI их подключают через Android Binding Library: делают обёртку над AAR-библиотекой и вызывают её из C#. Работа несложная, но отладка занимает время, потому что часть ошибок биндинга видна только при запуске на устройстве. Прежде чем писать свою обёртку, проверьте, не появился ли готовый пакет. Если у части сотрудников сервисы Google есть, можно держать оба канала push и выбирать нужный при запуске.

Заблуждение: «готовый APK из Google Play подойдёт»

Формально его можно загрузить в RuStore. Работать на части устройств он не будет. Проверьте приложение на телефоне без сервисов Google или на образе эмулятора без Google Play: вход, заказ, фото накладной, push. Каждый сломанный сценарий пополняет список из шага 1.

Шаг 4. Подпись, сборка, консоль и модерация 🚀

RuStore принимает APK и AAB. Подписывайте релиз тем же ключом, которым подписана любая ранее опубликованная версия, и храните ключ минимум в двух местах: в защищённом хранилище компании и в резервной копии. Пароль от него не должен жить в голове одного человека. Номер версии (versionCode) растёт с каждым релизом, а идентификатор пакета после первой публикации не меняют: по нему магазин узнаёт приложение.

В консоли разработчика заполните карточку: описание, скриншоты, возрастной рейтинг и ссылку на политику конфиденциальности. Если приложение собирает персональные данные сотрудников или клиентов, сверьтесь с 152-ФЗ: первичная запись данных граждан РФ должна идти в базы на территории России. Для приложения, которое обменивается данными с 1С, это обычно вопрос расположения сервера с базой.

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

Последнее действие перед релизом: настройте сборку на сервере (CI), чтобы проект перестал жить на чьём-то ноутбуке. Иначе через год история повторится.

Что делаем мы и сколько это стоит

Мы берём такие проекты целиком. Сначала аудит: смотрим решение, составляем список из шага 1 и считаем, что выгоднее для вашего случая: миграция, нативная переписка или 1С:Мобильная платформа. Затем переносим код, подключаем сервисы RuStore, настраиваем сборку и ведём публикацию до одобрения. На выходе вы получаете исходники в своём репозитории, описанную сборку и ключ подписи, который хранится у вас.

Отличие в том, что мобильная часть и обмен с 1С у нас в одной команде. Когда агент не может отправить заказ, не нужно выяснять между двумя подрядчиками, чья это сторона: приложения или интеграции приложения с 1С. Если приложение нужно и клиентам, и агентам, посмотрите страницу про B2B-приложение с 1С.

Разработка мобильных приложений у нас начинается от 500 000 ₽, подробности на странице разработки мобильных приложений, а общие тарифы компании собраны в разделе цены и тарифы. Стоимость миграции существующего проекта считаем после аудита: её задают число кастомных рендереров, библиотек без замены и объём обмена с 1С. Пришлите исходники или описание проекта, и мы назовём подходящий путь и цену по вашему случаю.

❓ Частые вопросы

Можно ли выложить в RuStore приложение на Xamarin без миграции?

Технически можно, если подписанный APK или AAB проходит модерацию. Но поддержку Xamarin закрыли 1 мая 2024 года, сборка может ломаться на новых версиях Android SDK, а зависимости от сервисов Google оставят часть устройств без push и карт. Для приложения, которое проживёт дольше пары месяцев, миграция на .NET MAUI надёжнее.

Подойдёт ли RuStore для iOS-версии приложения?

Нет, RuStore распространяет только приложения для Android. Проект на .NET MAUI собирается и под iOS из общего кода, но публикация iOS-версии идёт через другие каналы, и её планируют отдельно: со своим сроком, учётной записью разработчика и проверкой. Android-релиз в RuStore при этом никак от неё не зависит.

Чем заменить Firebase Cloud Messaging при публикации в RuStore?

Для push в RuStore используют RuStore Push SDK. В MAUI он подключается через Android Binding Library, потому что написан под нативный Android. Если у части сотрудников есть сервисы Google, можно оставить оба канала и выбирать нужный при запуске приложения по наличию этих сервисов.

Что делать, если потерян ключ подписи опубликованного приложения?

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

Сколько стоит миграция Xamarin-приложения на .NET MAUI?

Цену задают число кастомных рендереров, библиотек без замены и объём обмена с 1С, поэтому точную сумму называем после аудита проекта. Для ориентира: разработка мобильного приложения у нас начинается от 500 000 ₽. Если приложение по сути окно в 1С, смету сравнивают с вариантом на 1С:Мобильной платформе.

Нужно мобильное приложение для бизнеса?
Подберём стек и свяжем с 1С — смета за 1 день.
Получить смету →
Читайте также
Услуги 1САренда 1САренда сервера 1СМобильная разработка

Не помогло? Опишите вашу ошибку — разберём
Ответим сразу, без звонков и заполнения анкет. Что не получилось, какая версия 1С, что уже пробовали — этого достаточно. Сложное передадим инженеру.

Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00

Возврат к списку

Читайте также

  • Android-приложение для бизнеса: путь от идеи до релиза за 3-4 месяца
  • Charles Proxy не видит запросы Flutter-приложения: как это исправить за 3 шага
  • Как создать своё мобильное приложение в 2026: гайд от идеи до релиза
  • Новый сценарий в Android-приложении без техдолга: 6 шагов от задачи до релиза

Остались вопросы? Нужна помощь?

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

Бесплатная консультация
 
Компания
О компании
Вакансии
Каталог
1С отчетность
Лицензии 1С
ТСД Клеверенс
ИТС
Тарифы ИТС
Наши решения
Аренда сервера
Сопровождение 1С
Сопровождение бухгалтерии
Системное администрирование
Аудит сайта
IT-аутсорсинг в Москве
Услуги по серверам
Аренда сервера 1С
Аренда 1С в облаке
Распознавание PDF (ПДФ) в 1С
+7 906 045 2827
+7 906 045 2827
E-mail
sale@ukved.ru
Адрес
г.Москва, ул. Антонова-Овсеенко, д. 15, стр. 2
Режим работы
Пн. – Пт.: с 9:00 до 18:00
sale@ukved.ru
г.Москва, ул. Антонова-Овсеенко, д. 15, стр. 2
2017 - © 2026
Политика конфиденциальности Оплата Поставка Возврат Оферта Карта сайта
ООО «ВЕД» · ИНН 7720299436 · ОГРН 1157746343920 · КПП 501801001
Аккредитованная ИТ-компания — проверить в реестре Минцифры по ИНН 7720299436
0

Корзина

Очистить корзину
Ваша корзина пуста
Исправить это просто: выберите в каталоге интересующий товар и нажмите кнопку «В корзину»
В каталог
Главная 0 Корзина Каталог Контакты Услуги Бренды Отзывы Карьера Компания Проекты Лицензии Документы Блог Тарифы Цены
Мы считаем посещения сайта с помощью Яндекс.Метрики. Запись ваших действий на странице (Вебвизор) включается только с вашего согласия. Нажимая «Принять», вы соглашаетесь с Политикой конфиденциальности и Согласием на обработку ПДн.