Pull to refresh

Новичкам про Windows Phone 7

Reading time5 min
Views824
По результатам двух мероприятий (BizSparkCamp и Nokia Developers Day) набрал для себя некоторое количество полезной информации про Windows Phone 7. Ранее с этой платформой был практически не знаком по очевидным причинам (в России этих устройств пока нет), так что впечатления абсолютно чистые, ничем не замутненные.

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


На всякий случай: ненависти к компании Microsoft не испытываю (ее продукты кормят меня уже 16 лет), особого пиетета тоже (см. 16 лет, да — всякое бывало). Коммуникаторами пользуюсь уже лет 5, приблизительно столько же пишу программы под Windows Mobile. Надеюсь, информация будет полезна таким же новичкам в Windows Phone 7, как и я, однако не попавшим на эти замечательные мероприятия (спасибо их организаторам — все было исключительно на высоком уровне). Платформу я рассматриваю, в основном, с точки зрения разработчика. Насколько удобно ей пользоваться — понятия не имею, т.к. не пользовался и вряд ли скоро получится попробовать.
И еще, некоторые вещи, описанные ниже, будут характерны только для новой версии Windows Phone — codename «Mango». Но, поскольку русскоязычный вариант, как я понял, уже будет Mango, а все существующие аппараты обновятся автоматически, то про «устаревшие» особенности текущей версии я вспоминать не буду.

О платформе

Анонсирована была весной 2010 года, релиз и первые устройства в продаже — осень 2010 года. У нас пока не продаются, но обещают СКОРО(тм). При этом российские разработчики никаких (ну, почти) проблем с публикацией приложений и получением за это денег не имеют с самого начала существования платформы, что приятно.
Количество проданных за полгода устройств — тайна. Отмазка — «мы продаем платформу производителям железок, а уж сколько они там напродавали — это их дело» — выглядит довольно гнилой. При этом другими цифрами Microsoft вполне себе хвастается: 17000+ приложений в их магазине, 36000 зарегистрированных разработчиков и т.п. В общем, реальный объем рынка приложений оценить, мягко говоря, тяжело. Но зовут на него всех и обещают счастье каждому («наши кастомеры любят и умеют платить за приложения»(с)).
Устройства уже производят многие известные компании (Samsung, LG, HTC), а с Nokia вообще создано стратегическое партнерство, как все, наверное, слышали (обещают первые коммуникаторы от Nokia на Windows Phone 7 в начале 2012 года, а может быть — даже чуть раньше). При этом Microsoft установила максимально жесткие требования к аппаратной платформе, так что фрагментация устройств по характеристикам — минимальна (фактически, устройства могут отличаться разве что внешним видом, да и то в относительно небольших пределах).
GUI весьма оригинален и не похож на другие платформы. С моей личной точки зрения — может оказаться весьма и весьма удобным, но далеко не всем (особенно тяжело придется любителям десятков иконок на каждом из пяти и больше экранов). При всей оригинальности интерфейса платформа позиционируется как «консьюмерская» — т.е. для «обычных непродвинутых пользователей». На мой взгляд — довольно спорный тезис.

Достоинства (субъективно)

  • Очень хорошие инструменты разработчика. Ну действительно — впечатляют, да. И скорость работы (эмулятор летает просто), и возможности, и уровень поддержки.
  • Практически полное отсутствие аппаратной фрагментации (одно разрешение экрана 800х480, один набор аппаратных кнопок, быстрый процессор, графический ускоритель, набор сенсоров и т.п.).
  • Некоторое количество весьма интересных решений в плане пользовательского интерфейса. Например, без каких-либо заметных усилий можно фоном окна сделать изображение с камеры или трехмерную сцену, а поверх выводить практически что угодно — текст, изображения, контролы и т.п. Вообще никаких проблем с интеграцией в приложение веб-броузера и плотного взаимодействия с ним (в обе стороны).
  • Push notifications, даже в незапущенное приложение.
  • Интеграция с XBox Live и Zune.
  • Магазин неплох. Возможна (и даже приветствуется всячески) модель try&buy, для чего все готово — просто используй стандартные интерфейсы. В сотрудничестве с Nokia скоро возможны всяческие плюшки типа оплаты через SMS (а у Nokia с этим очень неплохо, ибо комиссия 40% включая вознаграждение сотового оператора) и in-app-purchaising (при этом in-app-purchaising с собственным биллингом разрешено использовать прямо сейчас — пока). Кстати, Nokia в случае с Windows Phone от собственного магазина приложений отказывается — будет раздел в магазине Microsoft.


Недостатки (еще более субъективно)

  • C# only (на самом деле есть еще VisualBasic и F#, но кто это считает?). Native code объявлен абсолютным злом во веки веков, аминь. Вопросы про него считаются неприличными, «C++» — ругательство. Какое такое повторное использование кода?! Забудьте!
  • Огораживание всего и вся. У каждого приложения — своя песочница. Причем буквальность этого термина впечатляет: два приложения могут обмениваться какими-то данными только через «облако», т.е. внешний сервер. Даже простой текстовый файл расшарить между двумя приложениями не получится, увы. Благодаря своеобразному взгляду Microsoft на многозадачность (см. ниже), два «одновременно» работающих приложения не смогут полноценно взаимодействовать друг с другом даже через сокеты, не говоря уже о других распространенных способах IPC. Не, ну там действительно «isolated storage», буквально! Офигеть. Папки типа «Общие файлы» нет и не будет. Одному приложению запустить другое? Да еще и с аргументом в виде файла (пути к нему)? Агащаз.
  • Многозадачность. «Солдат спит — служба идет!»(с) Приложение ушло в бэкграунд — «спи, моя радость, усни». Hibernate в чистом виде. Можно запустить из приложения специальные сервисы, которые будут жить некоторое время в бэкграунде — ну там файл большой качать, например. Ограничения при этом впечатляют. Например, бэкграунд сервис одного (из нескольких стандартных) типа может жить непрерывно не больше 2 недель (!), потом убьют по-любому. Забавно, да?
  • Лаконичность (или даже аскетичность) GUI. В общем, это надо видеть. Какие такие, нафиг, обои?!!! Темы экрана есть, да. Две. «Черная» и «белая». Женщины и дети, я думаю, особенно оценят.


Перспективы (субъективность зашкаливает)

На мой взгляд, Андроид не обогнать просто ну никак. Вообще нет никаких предпосылок для этого. А вот с iOS за второе место платформа вполне может побороться, как мне кажется. Хотя бы за счет того, что iPhone делает одна компания, а WinPhone7 — много несколько, включая немаленькую Nokia. Даже самой лучшей компании с самой большой капитализацией тяжело бороться в одиночку против всего остального мира, да. Ну а уж третье место — так почти наверняка, если учесть, сколько денег Microsoft готова потратить на продвижение…
Ну и будем объективны — не самая плохая платформа получилась, чего уж… Может, даже куплю когда-нибудь себе коммуникатор на ней для личного пользования. А для разработчика — так вообще очень перспективно выглядит, особенно если делать что-нибудь относительно простенькое и с нуля (а уж игры под XNA — так вообще милое дело!).

P.S. Не исключаю, что я что-то понял неправильно. Однако, большинство из того, что я написал — прямые ответы сотрудников Microsoft и Nokia на мои вопросы.
Tags:
Hubs:
Total votes 55: ↑35 and ↓20+15
Comments40

Articles