Обзоры

Platypus: превращаем скрипты в приложения macOS

Platypus: превращаем скрипты в приложения macOS

Обложка статьи «Platypus: превращаем скрипты в приложения macOS»

Сценарий командной строки удобен автору, но не всегда подходит коллегам и обычным пользователям. Нужно открыть Терминал, перейти в каталог, помнить параметры и следить за выводом. Platypus упаковывает сценарий в стандартный app-бандл macOS и добавляет выбранный способ взаимодействия.

Что такое Platypus

Platypus - бесплатный инструмент с открытым исходным кодом для создания приложений macOS из скриптов. Проект существует с 2003 года. На момент подготовки материала официальный сайт предлагает Platypus 5.5.0 для macOS 11 и новее с поддержкой Intel и Apple Silicon.

Программа не превращает сценарий в Swift-приложение и не переписывает его логику. Она создаёт оболочку, которая запускает указанный интерпретатор, передаёт входные данные и отображает результат выбранным способом.

Какие сценарии поддерживаются

Platypus рассчитан на shell-скрипты и другие языки, доступные через командный интерпретатор. В интерфейсе предусмотрены варианты для Python, Perl, Ruby, Tcl, JavaScript, PHP, Swift и других сценариев.

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

Выбор интерфейса приложения

Одна из сильных сторон Platypus - несколько типов интерфейса:

  • индикатор выполнения для длительной операции;
  • текстовое окно для вывода журнала или результата;
  • droplet, принимающий файлы перетаскиванием;
  • окно на основе HTML и WebKit;
  • приложение в строке меню;
  • фоновый режим без обычного окна.

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

Перетаскивание файлов

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

Важно корректно обрабатывать пробелы, специальные символы и несколько входных файлов. Эти детали относятся уже к самому сценарию, а не к оболочке Platypus.

Иконка, документы и дополнительные файлы

При сборке задаются название приложения, идентификатор, версия и иконка. Можно объявить поддерживаемые типы документов и URL-схемы, добавить вспомогательные ресурсы внутрь бандла и настроить поведение окна.

Так приложение выглядит привычно в Finder и может открываться двойным щелчком. Пользователю не нужно знать, где лежит сценарий и каким интерпретатором его запускать.

Повышенные права и безопасность

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

Перед распространением стоит проверить код, исключить небезопасное объединение команд и не передавать пользовательский ввод в shell без корректной обработки. Упаковка в app-бандл не делает небезопасный сценарий безопасным.

Профили и командная строка

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

В комплект входит инструмент командной строки, позволяющий автоматизировать сборку. Такой режим удобен в проектах, где app-бандл создаётся вместе с другими артефактами.

Практические идеи

С помощью Platypus можно оформить как приложение:

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

Плюсы

  • не требуется писать полноценный графический проект;
  • несколько готовых типов интерфейса;
  • поддержка drag-and-drop;
  • иконки, типы документов, URL-схемы и ресурсы;
  • профили и сборка из командной строки;
  • бесплатный открытый исходный код.

Ограничения

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

Кому подойдёт Platypus

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

Итог

Platypus занимает промежуточное место между командой в Терминале и полноценной разработкой приложения. Он позволяет быстро превратить проверенный сценарий в app-бандл с подходящим интерфейсом, не скрывая при этом ответственность за код, зависимости и безопасность.

Скачать Platypus для macOS можно на mac-soft.ru.

Поделиться статьёй

Комментарии (0)

Пока нет комментариев.

Программы упомянутые в статье