Delphi Mac 1

Источник: blogs.embarcadero.com
Vsevolod Leonov

Hard & Soft

Что потребовалось для изготовления приложения:  Dell Latitude E6400 с Windows XP и MacBook Pro c Mac OS X "Snow Leopard". Delphi XE2  является приложением Win32, поэтому была использована одна "виндовая" машина. Запуск готовых приложений потребовал, соответственно, компьютер под Mac OS X.

Реализация кроссплатформенной разработки в Delphi XE2 такова. Сначала изготавливается приложение под Windows, затем отлаживается, а после всего его можно запустить под Mac OS. Это - базовый вариант. Варианты постоянного запуска "сырого" приложения на Mac смысла не имеет из-за потерь времени. Время теряется на а) deployment б) на отладку/тестирование в новой операционной системе - чисто человеческий фактор. Естественно, темп взаимодействия с элементами управления под Mac требует на порядок большего времени и концентрации, если данная ОС для вас не родная.

а) Идея поставить виртуальную машину на Windows, в качестве гостевой ОС установить Mac OS X, и запускать "виртуализированные" приложения мне не понравилась. Когда на такой удлиненном технологическом стенде возникнут проблемы, локализация ошибки - нетривиальная задача. Грубо говоря, не работает на уровне дефицита функциональности. Только не понятно: делаю ли неправильно, баг ли в фреймворке, проблема ли виртуализированного исполнения и т.д.. Не хочется расширять себе поле поиска.

б) Идея поставить виртуальную машину на Mac-е, в ней поставить Delphi XE2, затем изготавливать "виртуально", а запускать тут-же реально - более продвинутая. Сам видел работающие прототипы (например, для того, чтобы евангелисты Embarcadero носили не два, а один компьютер). Однако это означало бы для меня перенос большого фронта работы на Mac в качестве единственного и основного компьютера. Но по соображениям эргономики я на это не пойду.

в) Еще одним вариантом является следующее. Разработчики (в команде) имеют по 2 машины с Windows. Одна - базовая с Delphi XE2, другая - чисто для удаленного управления Mac-овским компьютером. Такой компьютер - один на команду.

Задача-то очевидна - именно вначале нагрузка на Mac-овский компьютер будет большая, т.к. любые первые шаги в кроссплатформенном проекте будут требовать верификации. Как этот элемент (привычный в Windows) будет смотреться на Mac-е? Да и просто "любопытство". А потом, со временем, Мас будет работать только на более-менее значимых сборках. Не надо сразу впадать в панику, что каждому разработчику нужно покупать отдельный дополнительный компьютер Mac.

PAServer - это специальный "агент", он должен быть запущен на Mac-овской машине. Из Delphi XE2 IDE устанавливается с ним связь, а запуск проекта на исполнение вызывает его запуск на машине с Mac OS X. Не надо "разшаривать" папки и/или как-либо в ручную запускать модуль. Всё делается по кнопке "Run (F9)" из IDE.

Теперь, когда deployment проекта поддерживает несколько платформ (для Delphi XE2 это Win32, Win64, OSX32), папка проекта содержит ряд вложенных в зависимости от выбранных вариантов. По-умолочанию платформа проекта - Win32, поэтому эта папка уже есть.

Добавили в Project Manager дополнительную платформу OSX32 (Mac OS X 32 бита), создалась отдельная папка. Выбрали, перестроили проект, можно запускать на Mac-е. Но сначала систематизируем информацию.

По шагам

  1. Установили Delphi XE2.
  2. В папке "C:\Program Files\Embarcadero\RAD Studio\9.0\PAServer" нашли "setup_paserver.zip".
  3. Перекинули его на Mac. Открыли, установили PAServer - Platform Assistant Server. Подробно - к документации.
  4. Запустили PAServer на Mac-е.
  5. Запустили Delphi XE2.
  6. Сделали новый проект (FireMonkey HD). VCL-проект не исполняется на Mac OS X. Кроссплатформенность только в рамках FireMonkey-проектов.
  7. Прогнали проект под Win32.
  8. Добавили новую платформу (OSX32). Правой кнопкой на "Target Platform" в узле проекта.
  9. Создали и настроили профиль отладки (нужен для связи Delphi XE2 с PAServer-ом на Mac-е). Протестировали его в окне создания профиля.
  10. В Project Manager выбрали платформу (стала жирной).
  11. Сделали Build.
  12. Сделали Run.

Установка Platform Assist Server на Mac

Запуск PAServer-а

На Mac сначала запускаем Terminal. Потом заходим в папку с установленным PAServer и запускаем "агента" командой ./paserver. Пароль - по желанию. Такой же пароль потом нужно ввести при настройки профиля из Delphi XE2.

Да, так, если следовать документации. Но в папке с установленном PAServer-ом на Mac-е есть "пускальщик" paserver.command. Лучше пускаться с него.

Настройка профиля

 
 

Запуск приложения под Mac

Также, как и не под Mac. Одним пальцем.

Пока смотрел, лет 20 назад скрутил.

Поздравляю всех поклонников Delphi в канун дня программиста. Освоение нового космического пространства началось. Салюты закончились, начались запуски.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=26558