Ситуация, когда разработчик скачивает долгожданный релиз мобильной платформы с официального портала 1С:ИТС и видит в файле Readme.txt обидную надпись «Ознакомительная версия», является классической для экосистемы 1С. Это вызывает закономерные опасения: можно ли использовать такой программный продукт в реальных проектах, не «развалится» ли база у заказчика и пропустят ли такое приложение в Apple App Store или Google Play? В рамках данной статьи мы подробно разберем, почему сложилась такая практика, и как профессиональному разработчику относиться к подобным уведомлениям.
Для начала проанализируем, что именно вкладывает вендор в понятие «Ознакомительная версия» (Preview) применительно к мобильному сегменту. В отличие от десктопной платформы, где разделение на «Тестовую» и «Финализированную» версии соблюдается достаточно строго, мобильная платформа живет в более динамичном цикле. Рассмотрим основные причины такой маркировки:
1С:Предприятие 8.3. Если мобильная версия поддерживает механизмы, которые в основной платформе (например, 8.3.25) еще официально считаются тестовыми, мобильная версия также будет нести статус ознакомительной до момента официального выхода «большого» релиза.Выясним важный технический момент: крайне необходимо разделять два разных продукта, так как их статус стабильности воспринимается сообществом по-разному. Проанализируем ситуацию:
Мобильная платформа — это среда для создания полностью автономных приложений. Здесь надпись «ознакомительная» чаще всего является формальностью. Разработчики годами используют такие версии для автоматизации торговых представителей, складского учета и других критически важных бизнес-процессов. Если версия опубликована в основной ветке обновлений — она считается пригодной для работы.
Мобильный клиент — это технология, которая транслирует интерфейс основной конфигурации на мобильное устройство в реальном времени. Мобильный клиент гораздо чаще и дольше находится в статусе «Preview», так как он напрямую зависит от веб-сервисов и протоколов обмена конкретной версии сервера 1С. Здесь риски нестабильной работы чуть выше, но и функционал обновляется значительно чаще.
Для того чтобы убедиться, с какой именно платформой взаимодействует наше приложение и какие ограничения могут накладываться, мы можем использовать встроенные средства языка 1С. Рассмотрим пример кода, который позволяет получить детальную информацию о текущей системной среде:
Инфо = Новый СистемнаяИнформация;
ТипПлатформы = Инфо.ТипПлатформы;
Если ТипПлатформы = ТипПлатформы.Windows_x86 Или ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
Сообщить("Работаем в десктопном режиме");
ИначеЕсли ТипПлатформы = ТипПлатформы.Android Или ТипПлатформы = ТипПлатформы.iOS Тогда
Сообщить("Запущено на мобильном устройстве");
Сообщить("Версия приложения: " + Инфо.ВерсияПриложения);
Сообщить("Вариант встроенного языка: " + Инфо.ВариантВстроенногоЯзыка);
КонецЕсли;
Использование объекта СистемнаяИнформация позволяет нам программно определять, на какой сборке работает пользователь, и, при необходимости, ограничивать использование нестабильных функций, если мы подозреваем, что «ознакомительная» версия ведет себя некорректно в конкретных условиях (например, при работе с геопозиционированием или Push-уведомлениями).
Разберем ситуацию с точки зрения легальности. У многих разработчиков возникает вопрос: не заблокирует ли Apple или Google приложение, если оно собрано на базе ознакомительной платформы? Проанализируем факты:
Readme. Для них сборка мобильной платформы — это стандартный скомпилированный исполняемый код.Посмотрим на ситуацию глазами опытного разработчика. Как выбрать сборку, если все они помечены как ознакомительные? Предлагаем следовать следующему алгоритму:
В завершение подчеркнем: на мобильной платформе 1С сегодня можно писать полноценные конфигурации со справочниками, документами и регистрами. Статус «ознакомительная» — это скорее юридическая и организационная защита вендора, а не показатель неработоспособности продукта. Профессиональный подход заключается в том, чтобы ориентироваться на фактическое поведение системы и требования бизнеса, а не только на сопроводительные текстовые файлы.