Главная / Блог / Как упаковать на
ENGINEERING_BLOG · 2026.10.25

Как упаковать научное приложение для Mac в MATLAB R2026b App Designer? 2026

SECTION 01 План на эту неделю: сначала подтвердите маршрут доставки

Для самостоятельного приложения на Mac нужны сборка через MATLAB Compiler и совместимый MATLAB Runtime — это следует из документации MathWorks по автономным приложениям и инструкции по установке Runtime. Если вы хотите передать коллегам настольную программу, которую можно запускать без установленного MATLAB, планируйте сборку в macOS-среде и проверку на отдельном целевом Mac. Если пользователям достаточно браузера, отдельно оцените Web App и требования к серверу.

Кому пригодится это руководство: исследователям и аспирантам, которые передают приложение App Designer участникам лаборатории без MATLAB.
Разработчикам исследовательского ПО, которым нужно собрать и проверить версию для macOS.
Техническим специалистам вузов, отвечающим за лицензирование, зависимости и рабочую среду получателей.

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

SECTION 02 Сначала определите, что именно вы передаёте

В App Designer есть несколько сценариев, и они не взаимозаменяемы. Руководство MathWorks по упаковке приложений в App Designer описывает способы передачи приложения; автономная сборка с Compiler и развёртывание Web App требуют отдельной оценки. До начала работы сформулируйте задачу: получателю нужен исходный проект, отдельная настольная программа или доступ через браузер.

  • Обмен исходным проектом подходит, если коллеги будут открывать и изменять приложение в MATLAB. Им понадобятся соответствующая MATLAB-среда и, в зависимости от проекта, нужные продукты и файлы. Этот вариант сохраняет удобство совместной разработки, но не решает задачу запуска для пользователя без MATLAB.
  • Автономное настольное приложение выбирайте, если получателю нужна отдельная программа для Mac. Для этого предназначен MATLAB Compiler; на стороне получателя обычно требуется совместимый MATLAB Runtime. Проверяйте требования для конкретной сборки по документации автономного развёртывания и установке Runtime.
  • Web App имеет смысл, когда удобен браузерный доступ и у вашей группы есть подходящая серверная среда. Это не настольная сборка, просто открываемая в браузере: нужно оценить требования к серверу, доступу и защите. MathWorks описывает отдельный маршрут для развёртывания Web App и рекомендации по безопасному развёртыванию.

Если задача — проверить приложение на Mac, а не организовать совместное редактирование или браузерный сервис, не начинайте с Web App. Сначала подтвердите автономную сборку и целевой сценарий запуска.

SECTION 03 Этап подготовки: что проверить до первого запуска Compiler

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

Составьте перечень входов проекта:

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

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

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

Затем сверьте целевую среду. Зафиксируйте выпуск MATLAB, версию macOS и архитектуру процессора, для которой планируется запуск. Точные требования зависят от выпуска; перед работой откройте официальную страницу системных требований MATLAB для Mac и инструкции для используемого MATLAB Runtime. Не подменяйте проверку предположением, что подойдёт любой современный Mac.

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

SECTION 04 Этап сборки: как получить Mac-приложение и сохранить следы

Откройте проект App Designer в подходящей среде macOS и выберите маршрут создания автономного приложения с MATLAB Compiler. Пункты интерфейса могут отличаться между выпусками, поэтому для точной последовательности действий сверяйтесь с документацией именно для используемого выпуска, а не переносите инструкцию для прежней версии на R2026b.

В настройках сборки проверьте главный файл приложения и выбранные дополнительные файлы. Запустите анализ зависимостей и изучите его вывод: инструмент может подсказать, какие файлы и функции Compiler обнаружил, но вам всё равно нужно проверить полноту комплекта относительно реального сценария. Для этого предназначена документация MathWorks по анализу зависимостей.

Сохраните вместе с копией проекта:

  • выбранный главный файл и параметры сборки;
  • список автоматически обнаруженных и добавленных вручную ресурсов;
  • полный журнал сборки, включая предупреждения;
  • сведения о версиях MATLAB и Compiler, использованных при создании приложения;
  • перечень известных ограничений и исключённых функций.

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

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

SECTION 05 Этап локальной проверки: сравните поведение и научный результат

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

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

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

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

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

SECTION 06 Этап приёмки на целевом Mac: проверка вне среды разработчика

Повторите установку на Mac, который не использовался для разработки и не содержит ваших пользовательских настроек MATLAB. Такая изоляция помогает обнаружить скрытые зависимости от путей, библиотек и файлов, случайно доступных только на машине сборки. Установите приложение и нужный Runtime в порядке, указанном в официальной инструкции MathWorks по установке MATLAB Runtime, приведённой выше.

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

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

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

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

SECTION 07 Инструмент выбора: отметьте условия и выберите маршрут

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

  • [ ] Получателям нужно редактировать интерфейс или исходный код. Выберите передачу проекта App Designer; предварительно подтвердите, что у коллег есть MATLAB и необходимые продукты. Если этого нет, исходный проект не решит задачу запуска — согласуйте доступ к MATLAB или подготовьте отдельную сборку.
  • [ ] Получателям нужна настольная программа, но MATLAB у них не установлен. Выберите MATLAB Compiler и включите в план установку совместимого Runtime. Если лицензионные условия не подтверждены либо чистая целевая проверка не пройдена, остановите передачу и вернитесь к проверке лицензии, зависимостей и установки.
  • [ ] Команде нужен запуск через браузер, и есть подходящая серверная инфраструктура. Оцените Web App отдельно, включая условия сервера и модель доступа. Если такой инфраструктуры нет или серверные требования не выполнены, вернитесь к автономному приложению либо к обмену исходным проектом.
  • [ ] В лаборатории нет подходящего Mac, но можно получить удалённую macOS-среду. Используйте её для сборки и первичного тестирования, затем проведите приёмку в отдельной целевой среде. Если проект требует физического подключения приборов или локальной периферии, не считайте удалённый Mac заменой оборудованию лаборатории.
  • [ ] Для научного результата важны воспроизводимость и точное совпадение вычислений. Сравните выход автономного приложения с контрольным результатом исходного проекта на одном и том же тестовом наборе. Если расхождения не объяснены, не объявляйте приложение принятым, даже если оно запускается.

Если вы рассматриваете удалённую macOS-среду для научного ПО, начните с условий доступа и проверки рабочего процесса в разделе VPSNIX с информацией об удалённом Mac. До оформления проверьте, подходит ли формат по сроку задачи и требованиям доступа; варианты размещены на странице тарифов VPSNIX. Не выбирайте удалённую машину как замену физическому устройству, если вашему процессу нужны прямые подключения к приборам или локальная периферия.

SECTION 08 Частые вопросы

Можно ли собрать проект App Designer в отдельное приложение для Mac?

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

Запустится ли приложение у коллеги без MATLAB?

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

Что установить на целевом Mac помимо самого приложения?

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

Как убедиться, что приложение прошло приёмку в чистой среде?

Проводите проверку на Mac, где нет пользовательских путей и настроек машины разработки. Установите приложение и Runtime по официальным инструкциям, затем используйте тестовый набор для проверки импорта, анализа, ошибок ввода и экспорта. Сопоставьте результаты с исходным проектом на тех же данных; сохраните параметры запуска, ожидаемый результат и журналы сбоев.

Если у вас пока нет доступного Mac, практический выбор зависит от того, что именно мешает: локальная машина требует покупки и обслуживания, лабораторная Windows- или Linux-среда не заменяет проверку macOS, а общий сервер может не дать изолированного рабочего места для сборки и приёмки. Для разовой подготовки и проверки научного приложения удалённая среда VPSNIX может оказаться удобнее покупки Mac, но только если ваши условия лицензирования это допускают и проект не требует физического подключения приборов. Перед выбором сверьте требования к Compiler, Runtime и доступу, а затем принимайте решение по результатам тестового запуска.