Коллектив Авторов - Цифровой журнал «Компьютерра» № 52
Михаил Черномордиков (Microsoft) о Windows Phone 7
Андрей Письменный
Опубликовано 20 января 2011 года
В октябре 2010 года «Компьютерра» уже публиковала материал о Windows Phone 7 — тогда первые телефоны на этой системе поступили в продажу и многие нюансы реализации WP7 оставались неизвестными. Хотя до сих пор не ясно, когда телефоны на WP7 появятся в России, но они уже продаются в США и для них делают приложения — так что тайн с тех пор стало куда меньше. Эксперт по архитектуре информационных систем Microsoft Михаил Черномордиков, пребывающий в данный момент в Редмонде и имеющий возможность опробовать американские телефоны с Windows Phone 7, поделился своими соображениями и некоторыми планами компании в телефонном интервью «Компьютерре».
- C выхода первых телефонов на Windows Phone 7 уже прошло некоторое время. Появилась ли информация о том, насколько он популярен? Возможно, известно, какие изменения произойдут в платформе в ближайшем будущем?
- Да, прошло порядка двух месяцев с момента выпуска Windows Phone 7 на рынок, и за это время произошли обе вещи, о которых вы спрашиваете. Во-первых, пользователям этой платформы доступно уже более шести тысяч приложений, а во-вторых, средства разработки были скачаны более полумиллиона раз. Что касается обновлений, как было заявлено еще в ноябре, в начале 2011 года выйдет ближайший апдейт, в котором появятся новые возможности, в частности работа с буфером обмена. В дальнейшем ожидается, что эти обновления будут выходить на регулярной основе и, что важно, они будут доступны всем пользователям.
- На ISDEF вы говорили о том, что Windows Phone 7 был переписан с нуля — якобы необходимость этого назрела. Хотелось бы подробнее узнать о причинах. Почему потребовалось полностью переделывать систему, почему нельзя было использовать какие-то наработки от Windows Mobile и ограничиться, скажем, переделкой интерфейса?
- Это был непростой, но важный шаг, который сделал Microsoft несколько лет назад (наверное, около трёх лет, когда, собственно, стартовала разработка Windows Phone 7). Был проведён большой анализ, который показал, что дальнейшее эволюционное развитие ветки Windows Mobile не принесет тех результатов, которых мы ожидаем от данного подразделения, поэтому было принято решение, что нужно сделать большой шаг в сторону и шаг вперёд, таким образом отказавшись от того, что у нас было до этого, в пользу свободы действия, которая у нас таким образом появляется. И действительно, седьмая версия, несмотря на свой номер, сильно отличается от всех шести предыдущих — это новая платформа. Она новая и с точки зрения технологий и процесса разработки, она новая и с точки зрения тех телефонов, на которых она запускается, она новая для сторонних разработчиков. И она новая для конечных пользователей этих телефонов. Весь user experience этого телефона абсолютно другой: он интегрированный, он включает в себя не только локальные возможности телефонов, но и огромное количество облачных возможностей, различные сервисы — поиск, карты, игры, контакты, социальные сети и так далее.
- Что для этого нужно было изменить внутри операционной системы? Ведь понадобилось менять всю платформу, включая ядро...
- Да, дело в том, что для разработчиков у нас есть специальный слой управляемого кода. Сторонние разработчики сейчас могут писать приложения на C#. При этом производителям телефонов и операторам сотовой связи у нас предоставляются специальные возможности по разработке нативных приложений.
- То есть не управляемый код, а что-то более низкоуровневое?
- Это специализированный набор разработчика, который позволяет писать все эти вещи нашим партнерам, которых я назвал выше. Таким образом, мы решаем несколько задач. С одной стороны, производители и операторы могут в разумных пределах оптимизировать телефон для себя, а с другой — авторы программ получают быструю среду разработки, доступ к магазину предложений Marketplace.
- От производителей железа требуется соблюдение определённых правил и стандартов. Но для них всегда было важно делать модели достаточно разными. Не считаете ли вы, что Windows Phone 7 их в этом плане ограничивает?
- Когда мы делали новую платформу, у нас была хорошая возможность использовать богатый опыт создания предыдущих версий. Во времена Windows Mobile было слишком много разных телефонов и слишком много разных приложений. С одной стороны, конечному пользователю не всегда было понятно, как работает телефон и приложения. Почему в журнале или рекламе он видел одно, а в реальности это оказывалось другим. Или почему приложение полностью меняет внешний вид телефона и ведёт себя совершенно по-другому. Используя этот опыт, мы решили задать нижнюю планку, которой должны соответствовать все телефоны — неважно, где и кем они сделаны. Но при этом верхняя планка не ограничена. На данный момент есть производители: Samsung, LG, HTC и Dell. Недавно прошел сертификацию аппарат от компании ASUS.
Если посмотреть на эти телефоны (у меня здесь есть такая возможность), выясняется, что, несмотря на то что они все подходят под одинаковые требования, они все абсолютно разные. У одного больше экран, у другого он ярче, третий аппарат легче, у четвёртого есть клавиатура и так далее. Внутри тоже есть различия: многие производители сделали свою секцию в магазине приложений, некоторые в партнёрстве с операторами сделали свой набор предустановленных приложений. Таким образом, есть и общность платформы, и свобода действия.
- Среди телефонов, которые демонстрировались во время запуска, была модель HTC с собственной оболочкой — HTC Hub. К сожалению, она тогда не работала. Может быть уже видели подробнее, что это такое и зачем оно нужно?
- Я думаю, вы запускали HTC Hub, когда не было соединения с сетью, поэтому ничего не работало. На самом деле в HTC Hub содержится разная информация: погода, котировки, текущее время...
У меня здесь есть AT&T самого популярного американского оператора. Это аппарат Samsung, я сейчас включу и расскажу, что в нём есть. В центре экрана находится AT&T U-Verse — мобильное телевидение для абонентов AT&T. Здесь же есть встроенный навигатор AT&T GPS, предназначенный для использования в машине, и HD-радио AT&T. Есть приложение Now («Сейчас»), идеологически оно схоже с тем, что я видел в HTC Hub: это погода, новости и котировки акций. Таким образом, если я являюсь абонентом AT&T и покупаю телефон, я в нём сразу вижу те сервисы, на которые я был подписан, или могу сейчас же подписаться на них.
- Вы говорите, что телефоны могут быть самыми разными, но стандартизирована даже такая вещь, как разрешение экрана. Это временное ограничение, или набор разрешений всегда будет жёстко задан?
- На самом деле разрешение — это та область, в которой минимальное количество сторон хотят большей свободы. То есть если мы слышим разные отзывы о других ограничениях, то ограничения на разрешение экрана практически всеми встречаются очень положительно. Дело в том, что разнообразие разрешения экрана до этого было большой проблемой как для разработчиков, так и для пользователей. Основная проблема заключалась в том, и мы это сейчас видим на примере других платформ, что если свобода разрешения экрана очень большая, то разработчик вынужден тестировать свое приложение на всём разнообразном оборудовании. Хотя второе разрешение экрана действительно появится; это было анонсировано еще в марте. Второе разрешение будет поменьше. Но это скорее заделы на будущее — пока непонятно, когда это будет реализовано.
- Давайте вернёмся к разговору о платформе и об управляемом коде. Не оказывается ли так, что он замедляет работу телефона?
- Это самый первый вопрос, который задает любой разработчик, который знакомится с платформой Windows Phone 7. Он вполне понятен, поскольку исторически любая виртуальная машина является пусть и небольшим, но замедлением. Windows Phone 7 в этом плане сильно отличается от всего того, что было раньше — к примеру, в настольных операционных системах. В данном случае сама ОС разрабатывалась уже после создания виртуальной машины и именно для неё. Поэтому Silverlight и XNA не являются надстройкой над операционной системой, а скорее, частью ОС. Она спроектирована таким образом, чтобы для самой системы эти фреймворки и платформы были родными. Поэтому производительность остаётся на максимальном уровне, к тому же работает аппаратное ускорение графики. Например, в Silverlight она полностью аппаратно ускорена на всех телефонах Windows Phone 7.
- Windows Phone 7 не единственная платформа, и не доминирующая. Разработчики наверняка захотят писать кроссплатформенные приложения. Какие у них есть варианты? Насколько легко портировать приложения? Насколько сложно портировать на Windows Phone 7, скажем, игру, которая уже сделана для iPhone?