пятница, 25 ноября 2011 г.

Так что же нам готовит Windows 8?


Статья базируется на публикации Дино Эспозито "What Exactly is Windows 8?"

Metro – одно из знаковых нововведений для разработчиков, которое Microsoft представит в релизе новой версии своей операционной системы.

В сентябре Microsoft продемонстрировала первое превью разрабатываемой Windows 8. Новая версия операционной системы предназначена не только для PC, она также может использоваться и на планшетных устройствах. С точки зрения разработчика, Windows 8: система двух режимов. Первый режим базируется на продолжении развития предыдущих версий Windows, и предоставляет привычный пользовательский интерфейс и возможности для разработки. Второй режим – это абсолютно новое решение пользовательского интерфейса, которое базируется на новом системном API.
Это новое решение Windows 8 называется Metro. Оно построено на пользовательском интерфейсе Windows Phone. Оно также предлагает набор новых приложений, которые выполняются с помощью нового системного API Windows Runtime (или сокращенно WinRT).
Из-за наличия двух режимов пользовательского интерфейса в Windows 8 – обычного и Metro – новые приложения также в перспективе будут делится на две соответствующие категории. Это очевидное и простое требование породило множество дисскусий, которые стали источниками заблуждений и необоснованных догадок.
Вот несколько ключевых вопросов, которые мучают разработчиков по всему миру, и на которые пока нету четких и вразумительных ответов:
·         Какую роль играет фреймворк .NET при реализации приложений Metro?
·         Что вообще требуется для написания Metro приложений?
·         И более глобально, какое будущее ждет платформу Windows вцелом?
·         Какое будущее у меня как, разработчика Windows?
Неопределенность, которая сейчас существует является отличным поводом для появления всевозможных страхов, слухов и сомнений. В данной публикации мы попробуем проанализировать информацию, которую Microsoft предоставила на первой презентации Windows 8, и постараемся прийти к выводу, что все страхи не имеют под собой никаких оснований.

Новое представление Windows 7

Microsoft гарантирует обратную совместимость. Таким образом все приложения, которые были написаны ранее, будут работать и на новой операционной системе так же как и прежде. Говоря о Metro, нужно понимать, что это новое семейство приложений. Windows 8 может работать в двух режимах, которые можно переключать в зависимости от своих предпочтений: стандартный режим, который и выглядит и работает так, как это было в предыдущих версиях Windows, но с небольшими обновлениями ключевых компонентов системы, и новый режим, который базируется на Metro. В Metro присутствует нативная поддержка тач-скрина, новая система рантайм, и новые подходы в программировании. Metro в первую очередь проектировалось для планшетных устройств, однако также доступно и для стандартных PC.
Можно посмтреть на данный вопрос под другим углом: классический рабочий стол Windows – это просто другая интерпретация тех возможностей которые предоставляют новые приложения Metro.
Это похоже на революцию? Можно привести мнение Стивена Синофски (Steven Sinofsky), президента подразделения Windows и Windows Live. Он говорит, что Windows 8  это попытка “придать новый облик Windows”.
Microsoft не может игнорировать существующие приложения и потребности пользователей Windows 7. Поэтому, для того, что бы всецело перейти на новый пользовательский интерфейс, и сделать его единственно возможным вариантом для взаимодействия с пользователем в новой версии Windows, необходимо приложить чрезвычайно много усилий и осущесвить очень много изменений. Поэтому Microsoft пошла на компромисное решение, принимающее в расчет наличие двух режимов.
Будет ли переход на Windows 8 чем то похожим на изменения которые в свое время принесла Windows 95? Win 95 обновила существовавшие тогда программы заместив собой устаревшую в то время консольную операционную систему MS-DOS. В то время это было начало новой вехи в развитии области операционных систем. Metro является новой вехой в развитии только лишь платформы Windows. Новшества, которые придут вместе с Windows 8 будут значительно проще и менее глобальны.

Вызов для разработчиков

Существующие приложения Windows не нужно портировать под Metro и разработчики программного обеспечения могут по прежнему писать свои программы используя классические приемы, средства разработки и применяемые технологии – фреймворк .NET и соответствующие языки программирования.
Приложения Metro потребуют нового подхода к процессу разработки, нового API и новой системы рантайм, но использоваться будут уже знакомые языки программирования и средства разработки. Например можно использовать HTML5 в связке с JavaScript и CSS3. Также можно использовать C++, Visual Basic и C#. Во всех случаях, XAML остается одним из вариантов для разработки пользовательского интерфейса.
В терминах функциоанальности, API для приложений Metro имеет много общего с API для приложений .NET: некоторые пространства имен будут переименованы и некоторые классы  перемещены в другие компоненты. Важным моментом, который нельзя упустить из виду, является тот факт, что приложения Metro выполняются с использованием нового рантайма, который является оберткой над сервисами ядра Windows в манере похожей на Win32. Фреймворк .NET общается с системой через P/Invoke вызовы функций Win32. WinRT – рантайм использоуемый Metro – обращается к нативным сервисам системы более непостредственно, и использует другие подходы для их инкапсуляции.
Приложения Metro следуют логике мобильных приложений. Они никогда не выполняются непонятно как, не зависают. Говоря далее, нужно отметить, что приложения Metro распространяются через специальный маркет, благодаря чему каждое приложение проходит через процесс получения сертификата качества Microsoft. Получение лицензии на использование программы осуществляется с привязкой к конкретному пользователю, а не к машине. Настройки по умолчанию используют облако для хранения данных. И, наконец, приложение Metro должно содержать информацию о аппаратном обеспечении, на котором оно может выплнятся.
Таким образом, написание приложения Metro похоже на написание приложений под мобильные платфрмы, такие, как, скажем, Windows Phone 7. Природа и структура приложений также отличается от традиционных .NET приложений, поскольку приложения Metro призваны быть более простыми, более интерактивными и сконцентрироваными на содержимом.
Ну что? Несет ли Windows 8 в себе большие изменения для пользователей и разработчиков? Являются ли Windows 8 и приложения Metro тем, на что нужно немедленно сконцентрировать все свое внимание и воспринимать как догму? Очевидно, ответ на оба вопроса будет один – нет, я так не думаю. Windows 8 – эволюционное развитие платформы Windows. Metro – новшество, которое приходит вместе с Windows 8. Для разработчика – это очередная новая платформа, которая возможно получит развитие в будущем.