Компания
89,66
рейтинг
6 декабря 2012 в 11:03

Разное → Nested-виртуализация в Parallels Desktop 8 для разработки под Windows 8 Phone



Я расскажу о том, как с помощью Parallels Desktop 8 на Маке воспользоваться возможностями Hyper-V, встроенного в Windows 8. Nested-виртуализация здорово выручит iOS- и Android-разработчиков, которые собрались подготовить свои приложения для маркетплейса Windows 8 Phone. Новая фича даст им доступ к Windows 8 Phone SDK и к WP-эмулятору – основным инструментам для тестирования и отладки мобильного софта под платформу Microsoft.



Windows-ПО для создания Windows-приложений. Наверное, такой логики придерживалась компания Microsoft, так и не выпустив Visual Studio под Mac OS X. Впрочем, разработчики легко обходили это ограничение и запускали нужное ПО на Маке с помощью того же Parallels Desktop. Куда более существенные сложности возникали с проверкой работоспособности написанного продукта. Недавно появившаяся Windows 8, в которой Microsoft сделала нативную поддержку Hyper-V, решала проблему лишь частично. «Восьмерку» можно было запустить через BootCamp, но постоянно перегружаться для перемещения между Windows 8 и Mac OS X – та еще перспектива. В свежем апдейте Parallels Desktop 8 (билд 8.0.18354) появилась фича, называемая nested-виртуализацией: WP-эмулятор можно запускать внутри Windows 8, которая, в свою очередь, работает как гостевая ОС в Parallels Desktop.

Поддержка Hyper-V в гостевой Windows 8 через Parallels Desktop включается следующим образом:

1. Убедитесь, что у вас стоит самая свежая версия Parallels Desktop 8 для Mac и при необходимости накатите апдейт: Parallels Desktop > Проверить наличие обновлений. Напомню, актуальный билд носит обозначение 8.0.18354.

2. При выключенной гостевой ОС зайдите в Настройки, выберете вкладку Общие и выделите «гостю» 1 CPU, 2 Гб RAM (если у «Мака» на борту 4 Гб оперативки), либо 4 Гб (если 8 Гб).

3. Перейдите во вкладку Опции и в меню Оптимизация включите Nested Virtualization.



4. Запустите гостевую Windows 8 Pro x64. Включите Hyper-V role. Как это сделать, подробно описано тут. Перезагрузите гостевую Windows 8.

5. Запустите Visual Studio for Windows Phone и создайте приложение Windows 8 Phone.



6. Щелкните по плитке Hyper-V manager.



Если вы уже когда-либо пробовали запускать WP-эмулятор, то Visual Studio уже создала emulator VM из шаблона. Он будет называться Emulator X, где X – это модель, которую вы выбирали в Visual Studio. Если такой виртуальной машины у вас нет, попробуйте запустить ваше WP-приложение из Visual Studio, и виртуалка появится сама собой.

7. В настройках виртуалки Hyper-V измените количество CPU с 2 на 1.



8. Закройте Hyper-V manager и работайта над своим новым проектом в Parallels Desktop 8. Вот так симулятор iOS и эмулятор WP8 смотрятся вместе:



Hyper-V достаточно привередлив. Ему требуется много памяти (поэтому лучше Маки c 4 Гб RAM минимум), 64-разрядная версия Windows 8 Pro и процессор, поддерживающий SLAT – технологию виртуализации пейджинга, иначе известную как Intel EPT и по счастью присутствующую уже на всех новых Маках.

Мы сделали эту опцию для WP-разработчиков, а также для создателей приложений под iOS и Android, которые посматривают в сторону маркетплейса Windows Phone и подумывают начать зарабатывать там.

Для тех, кому интересны принципы работы и архитектура фичи, будет отдельный «технический» пост.
Автор: @master1981
Parallels
рейтинг 89,66

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

  • –3
    Отличная штука, а я уже грешным делом думал что придется ставить windows что бы сделать приложение.
    • 0
      Мы посмотрели на статистику Windows 8 внутри Parallels Desktop. Предрелизную версию «восьмерки» скачали более полумиллиона раз. Да, многие качали «на попробовать», но часть пользователей все равно осталась бы на Win8. В их числе — разработчики. Их надо поддержать. Примерно такая логика.
  • +3
    Скоро в комментариях появится кадр из фильма «Начало»
    • +2
  • 0
    еще бы Parallels не крэшил всю систему и не портил сами виртуальные машины и стало бы вообще хорошо, но эта новость и вправду хорошая для меня, как для WP разработчика)
    • 0
      Нам интересен Problem Report ID, чтобы мы могли смотреть на креши/порчу виртуалок и как то с ними бороться, если они действительно связаны с нами.
      • 0
        Очень тяжело собрать какую-либо статистику когда система отваливается с kernel-panic. Лично у меня желание покупать parallels после этого отпало, уж простите :(
  • 0
    Жаль, что Nested Virtualization для гостевой Windows 7 не поддерживается. Придется обновлять Bootcamp до Windows 8. Потому что без этой штуки даже эмулятор WP7 через Parallels Desktop еле шевелится.
  • 0
    Пробовал кодить именно под WP8 и остался небольшой осадок недоделанности эмулятора… Наткнулся на пару грабель: папка, в которой хранится образ эмулятора, не должна быть сжата (ntfs превед!), иначе матерится, мол, нельзя ему запускаться на сжатых жеских дисках. Так же перед установкой самой windows 8 надо проверить, не указано ли ваше имя в LiveID на русском языке, нужны только латинские буквы!!! Иначе, после установки винды и входа под учеткой LiveId создается папка пользователя на русском языке. А после установки VS2012 и запуска эмулятора WP8 дебагер не может подключиться к эмулятору телефона. Вероятно, что какие-то внутренние скрипты не понимают unicode. Сам напоролся на этот глюк: задеплоить xap-файл смог, а вот отладить — куй.
    Не знаю насколько актуальны данные проблемы под Parallels Desktop. Просто хотел бы предупретить ту долю программистов, которые сидят по win8

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разное