Портирование iPhone приложений на WP7

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

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

WP7 – молодая платформа

Не смотря на то, что глубоко внутри wp7 являются развитием Windows Mobile, с точки зрения разработки это совершенно новая платформа, и не все очевидно нужные фичи для нее успели реализовать. Особенно это заметно даже не в сравнении с iPhone а в сровнении с “большим” silverlight. Со временем это восполняется, манго сильно облегчает жизнь.

Для разработчика это может означать что не все функции iPhone-приложения могут быть портированы.

WP7 – не поддерживает native-код

Многим может показаться странным (по мне так давно пора), но в WP7 нет unmanaged-кода, Совсем. Даже указатели в .Net нельзя использовать.

iPhone-разработчики (ну и другие, например Nokia) зачастую используют С++ библиотеки (напимер OpenCV). на WP7 у вас этого не получится.

 

Ну и последний момент на который стоит обратить внимание, но с точки зрения пользователя, пожалуй самый важный.

Дизайн WP7 разительно отличается от дизайна iPhone

Кажется, что смартфон он и в африке смартфон, но есть куча мелочей которые создают общее впечатление. Я имею ввиду, что портируя приложение на Nokia вы можете полностью воссоздать интерфейс и это будет выглядеть нормально. Портирую приложение на Android вы столкнетесь с аппаратной кнопкой назад. В большинстве случаев достаточно просто убрать программную кнопку из навбара, но в сложном приложении с таббаром и переходами внутри табов вы потеряете в UX.

Когда мы рассматриваем WP7 мы сталкиваемся с все той же аппаратной кнопкоя назад. Но это еще полбеды. Большей (с токи зрения портирования интерфейса iPhone) является Metro-дизайн.

Ниже представлены скрины 2х приложений для обработки фоток. Имея подобный функционал второе выглядит намного удачнее, так как сделано в стиле всего телефона:

 

Если вы хотите что бы ваше приложение было успешным – старайтесь адаптировать интерфейс под WP7.

Конечно мне как пользователю хотелось бы чтоб приложения были выполнены в Metro стиле. Но в большинстве случаев времени и денег на редизайн нету. Дизайн некоторых приложений позволяет перенести их на WP7 без потери концепции, но так чтоб они вписывались в дизайн ос. Но в основном, это те приложения, который отошли от стандартного дизайна iPhone.

 

Другие особенности

Прочие особенности не так сильно влияют на перенос приложений, но а них так же стоит обратить внимание:

1) на iPhone проще работать с JSON сервисами, я на WP7 с XML (хотя конечно JSON.Net никто не отменял)

2) iPhone интерфейсы преимущественно растровые (состоят из изображений), на WP7 преимущественно векторные (элементы UI, векторные градиенты, стили)

3) В WP7 нет сертификации девелоперских приложений. Если в iPnone для установки на девайс вам надо создавать сертификат со списком телефонов на которые вы можете установить приложение, то в wp7 на любой телефон зарегистрированный как девелоперский, вы можете установить до 10 приложений бинарники или исходники которых имеете. (это происходит потому что в wp7 не поддерживаются другие способы распространения приложений кроме как через магазин. Даже бета версии и внутренние(корпоративные) приложения распространяются через него начиная с Mango)

 

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

Реклама
Comments
2 комментария to “Портирование iPhone приложений на WP7”
  1. Очень неприятно конечно что в WP7 нельзя native код юзать… Тот же OpenCV и другие…

    • Посмотрим, для .Net много чего хорошего есть и без ++ хотя да с изображениями лучше через unmanaged. вобщем надо их пинать, чтоб пилили 🙂

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: