15 мин

Что в действительности кроет в себе страшная цифра восемь

Подробный разбор Windows 8 Developer Preview — WinRT, Metro UI, планшетные возможности, IE10 и общие впечатления от трёх месяцев работы на новой системе.

Эта статья была написана НЕ в виме

Для начала — хочу немного объясниться. Для меня слово «маркетинг» означает «Создание определённого мнения у публики в отношении какого-либо заданного объекта маркетинга». Это вовсе не означает «Сливание дерьма на уши дебилам» или «Рассказ про то, как крут наш бесполезный товар». Хороший маркетинг сделал из БМВ БМВ. То же произошло с Windows XP, которая является одной из самых долгоживущих осей сего мира.

Хочу заметить, что Майкрософт в Америке активно проводит множество маркетинговых компаний и продвигает свои продукты. В этом нет ничего плохого. В этом есть очень много хорошего — потому что пользователи, которые читают эти рассылки и блоги, знают, какие функции они получат и как ими пользоваться.

Например, «пининг» приложений и сайтов на таскбаре Windows. Знаете, почему в России по стандарту к таскбару пришпилено только 3 значка? Просто потому что люди не знают, что и как туда можно пришпилить.

Маркетинг может сделать и другие чудеса — например, с помощью маркетинга вы можете подавить «Чёрную пропаганду» и начать активно продавать свой продукт. Пример тому — Макдональдс. Мне кажется, что это самый поливаемый грязью ресторан-забегаловка в мире. Но при всём при этом, это самая распространённая и доходная забегаловка в мире.

Так к чему я это? Тут всё просто: ввиду отсутствия верных данных начинает появляться срач. Срач перерастает в троллинг, а из этого уже можно запросто создать хорошую чёрную пропаганду.

Момент заключается в том, что после шести часов отличной видео-презентации, тонны текстов и видеороликов, после отличной маркетинговой кампании в США уже отлично знают и понимают, что да как в Windows 8. А вот в России позорно путают поиск по системе и новый магазин приложений.

Что же, дальше я в подробностях и скриншотах буду выкладывать факты о том, что такое Windows 8, как его едят и с чем потребляют.

И так, что же великого и таинственного таит в себе эта система? Конечно же, новичок скажет вам, что Windows 8 — это новое и отвратительное меню пуск. Но мы же с вами не люди, мы — хаброчеловеки. Наша задача — глубоко понимать тему разговора.

WinRT

Начали. Для того, чтобы понять, что является одним из самых великих достижений новой оси — окунёмся в прекрасный мир программирования. Что на самом деле делает операционная система? Нет, отнюдь не предоставляет доступ к компьютеру для пользователя. Она предоставляет программисту API. В частности WinRT — это новый набор API, которые позволяют сделать жизнь программиста проще.

Основной подход, применяемый компанией — это «Чисто и Просто». Интерфейс должен быть простым и отзывчивым. Если пользователь щёлкает мышкой по кнопке — кнопка должна реагировать моментально. Не должно происходить великой задумчивости всей системы. (Вы же ведь помните, как Windows 95 уходила в синий экран, когда у неё из-под сидирома вынимали диск?)

Соответственно, новые API клепались с расчётом на этот подход.

Что тут самое интересное:

Они полностью нативные.

Как бы не был хорош хвалёный .NET, но его скорости не хватает на то, чтобы нормально предоставлять доступ к функциям операционной системы.

Они полностью асинхронные.

Как бы вы не пытались что-либо сделать, но только в системе реального времени есть возможность получить отклик за определённое время. В Windows вы не можете предсказать сколько времени займёт чтение пяти байт из файла (возможно этот файл лежит за 20000 километров от вас на расшаренном диске).

Все основные языки были дополнены специальными расширениями для работы с асинхронными вызовами. Это позволяет с достаточной лёгкостью работать в ужасно несинхронном окружении. Ну, вот, например, пример на C#:

public async void InitializeDictionary()
{
    Stream s = await GetTextReader();
}

async Task<Stream> GetTextReader()
{
    StorageFile sfro = await
        Windows.ApplicationModel.Package.Current
        .InstalledLocationAsStorageFolder
        .GetFileAsync("Test.xml");

    IInputStream inputStream = await sfro.OpenForReadAsync();

    Windows.Storage.Streams.DataReader dr = new DataReader(inputStream);

    return inputStream.AsStream();
}

В принципе, любой более-менее продвинутый программист поймёт основную идею. Для того, чтобы распараллелить ваш процесс, вы не должны более плодить потоки, просто воспользуйтесь парой новых ключевых слов.

Кстати, можете обратить внимание на StorageFile sfro и на то, откуда он берётся. Основной прикол в WinRT заключается в том, что синхронной операции вы сделать не сможете. Вообще. Они больше не доступны. Продолжим.

Они одинаково хорошо поддерживаются как на C++, так и на С# и VB.

Более того, что меня поразило до глубины души — на JS + HTML5 вы можете получить тот же самый результат.

Тут хочу заметить, что ребята в Microsoft после долгой игры в Вопросы и Ответы с самими собой решили, что C++ достоин того, чтобы пожить ещё несколько поколений. Уж сколько добрых троллей полегло на почве битв за C++, а он, оказывается, ещё будет жить.

Хотя больше всего меня порадовала нормальная связка HTML + JS, которая не уступает по скорости программе на .NET. При этом, как я уже повторялся, у вас есть возможность применять ВСЕ инструменты, доступные в WinRT. Вам слабо применить DirectX 11 фильтр к своей картинке на сайте? А вот в восьмёрке это можно сделать.

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

Ну что, вкусно? Главное, что это неимоверно свежо и в новинку. Так и тянет попробовать. Ну, это только программерская часть. У нас ещё неимоверное количество функций впереди.

Metro UI

Теперь перейдём к дизайнерской части. По поводу меню в новом Windows 8 срачу развелось столько, что я лично видел, как троллей вывозили на телегах с места битв. Что такое Metro UI? Глупо было бы говорить, что это «Новый интерфейс меню пуск». Нет. Это новый подход к дизайну приложений. Давайте сравним.

Это одна и та же вкладка в панели управления. С одной стороны — прежний подход, а с другой — подход проектирования интерфейсов в стиле Metro.

Тут невооружённым глазом видно отсутствие хрома. Хром — в переводе с буржуйского означает визуальную обводку элементов. Обвес, грубо говоря. Каждый уважающий себя дизайнер знает, что этот обвес лучше не трогать, а если трогать, то аккуратно. Потому что выйдет всё как с обвесом девятки. Можно чересчур размалевать машину, а можно слишком уж аскетичный хром подобрать.

Разработчики Windows 8 решили этот вопрос ребром топора. Они вообще отключили этот хром. То есть полностью. У вас теперь нет обводки для элементов управления. У вас на экране есть только данные и ничего больше. Идея тут в том, что пользователь видит данные и манипулирует ими. Он не должен вообще отвлекаться на все эти блестящие кнопочки.

Идея просто восхитительная на мой взгляд. Больше нет споров о том, сколько полезных пикселов на экране занимает браузер — он занимает вообще ВСЕ пикселы на экране.

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

Обиженный дизайнер может сказать, что такой жестокий подход вообще не оставляет никакой свободы для действий. Отнюдь. Кто вам сказал, что данные не могут быть красивыми? Подумайте сами, если вы хотите, чтобы человек читал красивые статьи, то зачем вам надо привлекать внимание к логотипу хостинга? Лого Хабра просто и запоминается, но при этом не мозолит глаза. Главное на Хабре — это хорошие статьи.

Вот в этом и есть основа подхода Metro UI. Если у вас есть прогноз погоды, то кому надо привлекать внимание к кнопке «Обновить», если можно привлечь внимание к погоде.

При таком подходе возможностей для дизайна приложений становится ещё больше. Вам вообще не надо быть связанным по рукам и ногам классом отображения форм. Вам не надо париться по поводу того, будет ли программист переделывать ваши красиво нарисованные кнопочки в контролы, или просто заменит их стандартными контролами из винды?

Конечно, возникает несколько других моментов:

  1. Работа в стиле Metro требует определённого дзена. Выблеванная на холст радуга не сделает ваше приложение супер-метро приложением.
  2. Более того, требуется очень хорошая сдержанность в выборе шрифтов. Как вы видите, на всех скриншотах до сих пор шрифт только один. Никто не запрещает вам использовать ваш шрифт, но любое Метро можно испортить фактом применения 15 разных шрифтов на страницу, причём пять из них будут разновидностью Comic Sans MS.
  3. Надо ломать шаблоны. Если вы всю жизнь рисовали приложения в классическом стиле, то вам придётся переучиваться.

Но есть одна очень важная оговорка, и ребята в Майкрософт несколько раз сделали акцент на этом. Обыкновенная 11 версия MS Visual Studio — новая версия, и никто не пытался точить её под Метро. А всё почему? Потому что на том же запуске Windows 8 ребята из Майкрософт заявили, что интерфейс Метро не влепишь в каждое приложение. Фотошоп будет работать без метро. И Visual Studio будет работать без метро. Ибо сами по себе эти программы не рассчитаны на работу пальцем и не предназначаются для сидения перед тачскрином.

Так что не парьтесь — если вы пишете глобальный снифер сети, то продолжайте поддерживать его не меняя интерфейса. А вот судоку можно было бы и переписать под метро.

Так что не волнуйтесь, никуда оконный интерфейс не денется.

С другой стороны — самый главный плюс Метрошных приложений заключается в том, что когда я отдыхаю, мне нравится видеть метрошные приложения. Когда я тихо сёрфлю интернет — я предпочитаю делать это с метрошного IE10, а не с обычного. Когда я читаю новости со своего тачпада, мне приятнее видеть на экране метрошный интерфейс. Когда я закапываюсь в тонны кода — мне по боку Метро.

Просто разработчики Майкрософт прекрасно понимают, что у них нет альтернативы iPad. Поэтому они и решили убить два бита сразу. С одной стороны — поддерживают самый распространённый оконный менеджер в мире, с другой стороны — создают новый, инновационный менеджер, который будет приятно и удобно использовать на портативных компьютерах.

Поэтому давайте забудем ещё одно тупое данное из серии Windows 8: нет, никто вас не заставит переходить на Метро. Переключение между старым рабочим столом и новым Metro UI занимает четверть секунды и вообще переключением не является.

Плюшки планшетных компьютеров

Как показывают исследования, вскоре рынок будет полон планшетов различного вида и цвета. Уже сейчас выбор приличен. Есть более-менее бюджетные HP Slate ($500–$900), есть более расточительные Asus Slate ($1100–$1500), а есть уже даже непомерные Acer Iconia с двумя дисплеями ($1400–$1800).

Тут есть несколько основных моментов:

  1. Все вышеназванные ребята живут на батареях.
  2. Экран невелик.
  3. Размер должен быть поменьше.
  4. Удобство пользования должно быть на высоте.
  5. Прощай, IBM PC архитектура.

Собственно говоря, в Windows 8 эти фишки как раз и учитывались.

Батарея. Мой Asus Slate на семёрке жил 3,5 часа. Это просто позорно. Windows 8 добавила к жизни этого зверя лишний час. Теперь я могу жить 4,5 часа при загрузке интернетом, музыкой и вордом. Не бог весть что, я конечно хотел бы 9-ти часовой аккумулятор, но всё-таки, прошу заметить, что просто час жизни получился на халяву.

Экран. Как сделать так, чтобы ваши приложения нормально работали и на 1280×800 и на 1920×1080? В последнее время DPI мониторов и экранов подскочил с 90 до 200 с хвостиком. Это произошло благодаря рынку мобильников, которые просто состязались в гонке за количество точек на дюйм. Если вы переключите Windows XP на 150 DPI, то вы увидите кровавое месиво пикселов в иконках, несовпадающие шрифты и всё такое. А вот Windows 8 в Metro-части предлагает немного другой подход скалинга приложений и позволяет вам активно играться с DPI экрана.

Удобство. А вот здесь Windows 8 даже в своей недоработанной супер-альфа версии позволяет похвастаться набором фич, доселе невиданных мною ни на одном тач-девайсе. Экранная клавиатура просто шикарна. Помимо очень приятного звука «Отдачи» она обладает тремя особенностями: наличием буквы «Ё», наличием тире и наличием запятой в нижнем регистре. Последнее просто сделало меня фанатиком этой клавиатуры. Более того, предусмотрен специальный режим, который позволяет набирать двумя большими пальцами прямо на ходу.

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

Ну и конечно же, честь эргономике делает расположение нового меню пуск и переключение между приложениями. Достаточно просто провести пальцем от правого или левого края экрана в направлении центра — и появляется то, что вам надо.

ARM-архитектура. На BUILD Windows был представлен девайс, который с удовольствием гонял Восьмёрку на nVidia Tegra 3. Близимся к более светлому будущему.

Общие впечатления и стабильность системы

Мне лично удалось загрузить свой ноут с самого нуля до полной загрузки рабочего стола за 7 секунд. Это новая фишка, внедрённая в Windows 8, которая называется «Режим гибернации ядра». После нескольких перезагрузок система сама производит некоторые модификации и начинает загружаться быстрее хомячка.

Теперь добавьте к этому наличие меню пуск, которое написано на том самом хвалёном WinRT и которое делает свою работу очень мягко и быстро. Система является очень отзывчивой. Даже зависшая программа, которая пытается скушать 100% процессора, не блокирует возможность открыть меню пуск. И более того, никто не запретит вам добраться до нового диспетчера задач, который убивает программы по первому вашему велению, без каких-либо вопросов.

Совместимость с различными программами — на уровне Windows 7. Если что-то шло там, то на 8 тоже взлетит.

IE10 стал не просто браузером, а платформой. Во-первых, появилось автообновление браузера. Во-вторых, в самой системе IE представлен в двух видах — один из них с поддержкой Metro UI, а второй — больше похож на IE9. Разница у них очень большая. Первый осёл в отличие от второго с высокой колокольни плюёт на Flash и не позволяет его запускать. Как, собственно говоря, и любые другие плагины. Второй — более консервативен и позволяет напичкать себя стероидами из ActiveX и тому подобного.

Сразу оговорюсь — с первого релиза Google Chrome я не слезал с произведения разноцветной компании многие годы. И вот, установив восьмёрку, я решил «облагородить» её нормальным браузером… И пока я дошёл до сайта закачки гугла, я понял, что влюбился в 10-го осла.

  1. Это единственный браузер, который «из коробки» поддерживает мультитач.
  2. Он быстрее Google Chrome. Я так думаю, что это ненадолго, но сейчас я вижу, что рендеринг Осла наконец-то добрался до действительно правильных уровней.

Более того, 10-й Осёл в стиле Metro позволяет смотреть только на сайт и ни на что больше. Потребление памяти — более чем умеренное: 227 мегабайт при 10 открытых вкладках. Как и любое другое Metro-приложение, Осёл переходит в режим «заморозки» после 5 секунд нахождения в бэкграунде.

Ещё одна из фич WinRT и Metro UI — это способность хранить настройки программ в облаке. Теперь вы можете связать свой логин и пароль в Windows с вашим Live ID и получить полный перенос настроек и сохранённых игр на другие компьютеры.

Кстати, пароль теперь можно не вводить с клавы. Появилась новая суперфича — пароль-картинка. Вы делаете три жеста над какой-нибудь картинкой и это и есть ваш пароль.

Антивирус установлен вместе с системой. Апдейты приходят автоматом. При всём при этом, потребление памяти на чистой системе упало с 400 мегабайт (Windows 7) до 200.

Процесс копирования файлов теперь собран в одно окно. Вы можете по выбору останавливать и начинать различные копирования. Вы также можете посмотреть на график скорости.

Из грустного — в новом интерфейсе меню пуск ориентироваться лучше всего либо пальцами, либо клавиатурой. Мышка жестоко страдает. Я писал в Майкрософт, они мне ответили, что знают и активно работают над повышением удобства хвостатых.

Более того, несмотря на то, что я сам работаю на этой системе как на основной, могу сказать, что ставить я её рекомендую только специалистам в области администрирования и инженерии. Супер-пре-альфа-превью-бэта версия, которая есть сейчас, иногда сбоит. Примерно раз в неделю я её перезагружаю. Синего экрана я так и не видел. Дрова подошли не все, а над некоторыми дровами из Windows 7 пришлось шаманить с бубном.

Что делать, и кому на Винде жить хорошо?

Для того, чтобы взять предмет за жабры — сходите на dev.windows.com. Там вы сможете:

  1. Слить сам образ системы. Сливайте только вместе с Developer Tools, иначе потом замаетесь доустанавливать.
  2. Прочитать о новых API. К сожалению, документация пока оставляет желать лучшего. Но могу заметить, что прогресс налицо и каждую неделю я вижу обновление статей на сайте.
  3. Узнать, как запустить систему с VHD.

В действительности система очень интересна. В основном тем, что несмотря на всё то же виндовое ядро, разработчики умудрились полностью перепрошить и хорошо перестроить его на новый лад, не создав проблем, но добавив потрясающее количество новых функций.

Все технологии и подходы — WinRT, Metro UI (не путать с «новым меню пуск, которое бееее») — позволяют вам взглянуть на циклы разработки ПО по-новому.

Кстати, если вы занимаетесь 3D-разработкой, то не откажите себе в удовольствии создать DirectX-приложение в Студии версии 11. Порадовала возможность проследить судьбу каждого пиксела на экране. Как вам такое — поставить брейк-поинт на пиксел, или просто ткнув на точку скриншота получить стак-трейс этой точки?

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

Как говорил один наш общий знакомый — «Developers, developers, developers…» Господа, нас, разработчиков, привлекают факты и интересная информация из жизни новых программ и операционных систем. А также информация о том, как мы можем это применить в своей работе.

Читать дальше

Похожие посты