Windows 8 для ARM — это что-то новое


Microsoft наконец-то опубликовала заявление о Windows 8 на ARM. Что все это значит для разработчиков? У нас есть резюме, которое читается между строк.

Некоторое время предполагалось, что Windows on Arm (WOA) не будет поддерживать обычную среду рабочего стола Windows, также известную как Win32. С точки зрения программиста, это очень вероятный сценарий. Причина в том, что трудно понять, как Win32 API может быть перенесен на другую архитектуру, не прилагая огромных усилий. Если бы это было сделано, то, вероятно, тогда можно было бы просто перекомпилировать приложения из Intel Win32 API в Arm Win32 API. Даже в этом случае возникнут проблемы с приложениями, использующими функции архитектуры Intel. В случае с исходным портом и портом любых приложений проблема тестирования была бы дорогостоящим кошмаром. Так что лучше воспользоваться возможностью, чтобы начать все сначала.

После столь долгого молчания Microsoft в форме блога «Создание Windows 8» внезапно выпустила поток слов, большинство из которых проясняют ситуацию, не разъясняя ее прямо и ясно.

Итак, какие важные факты были только что раскрыты?

Во-первых, начало использования WOA будет таким же, как при использовании Windows 8. Это легко пообещать, поскольку все первоначальное взаимодействие с пользователем осуществляется через новый интерфейс в стиле WinRT / Metro. Таким образом, новый код работает как на Intel, так и на ARM — это неудивительно. Однако Стивен Синофски затем говорит:

и при желании [вы можете использовать] рабочий стол Windows с такими инструментами, как Windows File Explorer и настольный Internet Explorer.

Обратите внимание, что это не означает, что вы можете использовать рабочий стол Windows с любым настольным приложением, то есть с любым приложением Win32. Нам говорят, что приложения в стиле Metro будут работать как на WOA, так и на x86 / 64 Windows 8. Опять же, это неудивительно, и даже тот факт, что Магазин Windows будет единственным источником таких приложений, утилит и драйверов, не является шок, если вы следили за происходящим.

Однако это означает, что мы входим в новый мир. До сих пор Windows была относительно бесплатной средой. Вы написали свой код, и когда вы были готовы, вы установили или продали приложение в любом месте. Теперь это закрытый мир, в котором Microsoft держит ключ от двери.

Конечно, вы по-прежнему можете создавать любые приложения для рабочего стола Windows. но они не будут работать на WOA или любом планшете с Windows 8 на базе процессора ARM. Единственные настольные приложения, которые будут доступны на WOA, будут специально созданы Microsoft и ее партнерами.

Это странная ситуация — у нас есть среда рабочего стола, но у нас нет возможности создать приложение для рабочего стола.

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

… WOA (как и Windows 8) разработан таким образом, чтобы клиентам, ориентированным на приложения в стиле Metro, не приходилось проводить время за компьютером. Доступность рабочего стола не требует дополнительных затрат времени выполнения. Он просто есть, если вы захотите или вам это понадобится.

На рабочем столе будут установлены версии Word, Excel, PowerPoint и OneNote. Что еще будет позволено, нам придется подождать и посмотреть. Интересно, что эти приложения, которые вместе называются Office 15, считаются чем-то большим, чем просто портом Desktop Office:

… поскольку это не просто перекомпиляция или перенос, а значительная переработка продуктов с полным и последовательным пользовательским интерфейсом и верностью их новым аналогам x86 / 64.

Так в каком смысле рабочий стол WOA действительно является Win32 на ARM — это хороший вопрос. Если вы переделываете приложение до такой степени, нет гарантии, что API будет сохранен. Это тоже может быть еще одной причиной, по которой Microsoft необходимо контролировать доступ к среде разработки.

Чтобы было ясно, кажется вероятным, что рабочий стол WOA — это среда рабочего стола скорее по названию, чем по существу, и перенос с Win32 вряд ли будет простым.

Если бы это было так, почему бы Microsoft просто не сделать инструменты доступными? Цитировать:

WOA не будет поддерживать какой-либо подход к виртуализации или эмуляции и не позволит переносить или запускать существующие приложения x86 / 64.

Это заявление сбивает с толку, поскольку эмуляция и перенос — две очень разные вещи, но кажется очевидным, что рабочий стол WOA не для нас.

Microsoft также собирается контролировать оборудование, на котором работает WOA, во многом так же, как и оборудование, на котором может работать Windows Phone 7 или 8. Он выпустит WOA одновременно с полной версией Windows 8, но опять же с той разницей, что вы не сможете купить WOA — он будет поставляться только с одобренным оборудованием.

Есть несколько тестовых машин ARM, готовых к распространению среди избранных, когда станет доступна предварительная версия Windows 8, но большинству разработчиков придется довольствоваться тестированием на устройствах, совместимых с Windows 7.

Это очень сложная ситуация, и мы должны резюмировать, что она означает для среднестатистического разработчика Windows.

Вы можете продолжать создавать настольные приложения, используя известные вам инструменты, но они не будут работать на планшетах ARM — только на стандартных машинах x86 / 64.

Будут приложения в стиле WOA для настольных компьютеров, но то, кто сможет их создавать, будет контролироваться Microsoft.

Если вы создадите приложение в стиле WinRT / Metro, оно будет работать на всех устройствах с Windows 8. Обратите внимание, что существует множество ограничений на то, что может делать приложение WinRT, и, в частности, WinRT не поддерживает перекрывающиеся окна.

Приложения в стиле WinRT / Metro будут доступны только в магазине Windows.

Вы сможете предварительно установить WOA только на одобренное оборудование.

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

Чем это отличается от того, что Microsoft просто представляет совершенно новую операционную систему для устройств ARM и планшетов x86 / 64?

На данный момент ни у кого нет единой операционной системы, которая охватывала бы телефоны, планшеты и настольные компьютеры. У Apple есть iOS для телефонов и планшетов и OSx для настольных компьютеров. У Google есть Android для телефонов и планшетов и ничего особенного для настольных компьютеров. У Microsoft есть Windows 8 для настольных компьютеров и некоторых (возможно, нестандартных) планшетов и WOA для планшетов ARM и, предположительно, WP8 для телефонов.

Единственным объединяющим фактором является WinRT, и это, похоже, API будущего для программистов Microsoft.


Добавить комментарий