Компания
139,52
рейтинг
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
рейтинг 139,52

Комментарии (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

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

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

Интересные публикации