- PVSM.RU - https://www.pvsm.ru -
Совсем недавно мы выпустили приложение для платформы Windows Phone. Мы прошли интересный путь от проектирования до публикации приложения. Сегодня мы хотели бы рассказать вам об этом. Какие подводные камни мы встретили и советы всем кто только начинает разрабатывать под эту платформу.
У нас уже есть клиенты под платформы ссылки: iOS [1], Android [2], Bada [3]. Теперь настала очередь и для Windows Phone. Такой порядок получился отчасти исторически, но и статистика рынка вынуждает нас удовлетворять его потребности. Согласно прогнозам нескольких агентств [4] в 2015 году платформа Windows Phone будет занимать около 16% рынка. К тому же появятся платежные методы в 8-й версии ОС, поэтому стоит начать её изучение уже сейчас.
Вариантов было не много, т.к. постановка задачи простая — необходимо было реализовать текущий функционал, адаптировать его под платформу, и немного поэкспериментировать).
После изучения guidelines [5] мы поняли, что дизайн может получится слишком скучным. Поэтому мы намеренно нарушили много правил (правила, которые не стоит нарушать ниже), но сделали, как нам, кажется, более живое и красивое приложение. Например, мы использовали pivot с фоном, списки в панорамах и т.д.
Поначалу было трудно понять разницу между элементами Panorama и Pivot, но если различия не заметные новичку, вот просто описание [6] (англ.).
А если своими словами то panorama предназначена для красивого приглашения аля витрина, а pivot — это элемент для размещения большого контента (например подгружаемых списков), разделенный по вкладкам (pivot item).
Нам очень понравилась концепция приложения facebook [7], с её нестандартными иконками в верхней части экрана, а также общая информационная архитектура.
Для создания скет-макетов мы использовали balsamiq mockups [8], свою задачу это программа решает хорошо. Чтобы вы представляли объем работ, то окончательная схема скетч-макетов выглядела вот так:
После того как стало понятно что ни один экран не упущен, мы распечатали и повесили их в виде карточек на доску, чтобы проиграть все пользовательские сценарии.
Далее дело стояло за дизайном, отрисовывался он нашими штатными дизайнерами.
Необходимо было преобразовать скет-макет в psd-макет для разработчика.
Так же обратите внимание на всякие мелочи, которые описаны много где, например, здесь [9].
Вот рекомендации по часто распространенным ошибкам:
Так же есть множество не стыковок и отхождения от правил в стандартных и предустановленных приложениях, поэтому сильно не стоит на них описаться как на эталонный пример.
Готовый результат:
Клиент нам делали хорошие ребята из EastBanc [10]. Отдельная благодарность тим-лиду Чеснокову Вадиму за дельные советы и огромное терпение.
Для push уведомлений мы использовали пакет для Zend Framework от Mike Willbanks, он доступен на github.com [11]. Очень простой в реализации и использовании, решает задачи по уведомлениям под 3 платформы сразу. К слову, реализация push-уведомлений под Windows Phone 7 оказалась самой простой. Для это достаточно запустить прилагающийся пример из Zend пакета [12] и пример для клиента отсюда [13].
Если вы хотите сообщить пользователю о каком-то событии, то мы посылаете Toast-уведомление, но если он его не увидел, то необходимо задействовать LiveTile, чтобы при возвращении в телефон пользователь увидел изменения.
По нашему мнению стоит выбрать один из вариантов использования уведомлений, т.к. они практически взаимозаменяемые. Например, используйте Toast-уведомление и изменяйте Tile приложением, или только Tile-уведомление, если приложение не подразумевает мгновенный событий. Или более интеллектуальный первый подход: если в течение некоторого времени Toast-уведомление не было прочитано, то стоит послать Tile-уведомление.
Для тестов на устройстве был выбран недорогой телефон Nokia Lumia 710 [14]. При тестировании на устройстве приложение ведет себя более плавно и быстрее. Поэтому при разработке, если вы задумываетесь о покупке устройства для тестирования вашего простого приложения, то уверяем вас эмулятора будет достаточно. Исключения составляют тесты производительности, работа с gps, датчиками и т.д.
Обязательно, хотя бы один раз, прогоните приложение по тесту производительности Windows Phone Performance Analysis [15], это очень просто и не займет много времени.
Почти исчерпывающее описание есть здесь [16]. Но добавим несколько слов от себя. Если вы регистрируетесь как индивидуальный разработчик, то никаких сложностей не будет. А если вам необходим корпоративный аккаунт (Company), то есть несколько нюансов:
Чтобы загрузить приложение в Windows Market Place вам потребуется Silverlight (к слову завести правильно под Ubuntu Monolight не получилось).
Если после публикации вашего приложения оно не находится по ключевым словам, то не отчаивайтесь, подождите несколько дней. Если всё же не появилось, то смело пишите в поддержку, ответ обязательно будет, но, к сожалению, не сразу.
Разработка под эту платформу оказалась очень приятной и довольно гладкой.
В качестве аналитики мы использовали localytics [17], так сложилось исторически, хотя есть альтернативы (flurry, google analytics, etc).
Топ 3 по устройствам практически вровень примерно по 20% составили Nokia Lumia 800, HTC 7 Mozart, Nokia Lumia 710.
P.S. У вас есть вопросы, предложения или замечены ошибки, пожалуйста, присылайте на wp@mamba.ru [18]. А если вам понравилось то, чем мы занимаемся, то приглашаем к нам в команду [19].
Ссылка на приложение в Windows Market Place. [20]
Автор: broderix
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/windows-phone/12015
Ссылки в тексте:
[1] iOS: http://itunes.apple.com/ru/app/mamba-znakomstva-i-obsenie/id326839545?mt=8
[2] Android: https://play.google.com/store/apps/details?id=ru.mamba.client
[3] Bada: http://www.samsungapps.com/topApps/topAppsDetail.as?productId=G00002310524&listYN=Y
[4] агентств: http://www.isuppli.com/Mobile-and-Wireless-Communications/News/Pages/Lumia-900-Introduction-to-Trigger-Smartphone-Renaissance-for-Nokia-and-Microsoft.aspx
[5] guidelines: http://msdn.microsoft.com/en-us/library/hh202915%28VS.92%29.aspx
[6] описание: http://timheuer.com/blog/archive/2010/08/13/windows-phone-panorama-versus-pivot-ux-guidelines.aspx
[7] facebook: http://www.windowsphone.com/ru-RU/apps/82a23635-5bd9-df11-a844-00237de2db9e
[8] balsamiq mockups: http://www.balsamiq.com/products/mockups
[9] здесь: http://xhdev.wordpress.com/2012/03/31/windows-phone-7-app-user-experience-checklist/
[10] EastBanc: http://www.eastbanctech.ru/web/guest;jsessionid=247271B3BB76EC9EC9A76932534A767F
[11] github.com: https://github.com/mwillbanks/Zend_Mobile
[12] пакета: https://github.com/mwillbanks/Zend_Mobile/blob/master/demos/Zend/Mobile/Push/MpnsServer.php
[13] отсюда: http://msdn.microsoft.com/en-us/library/ff431744%28VS.92%29.aspx#BKMK_PushAndTiles
[14] Nokia Lumia 710: http://www.nokia.com/ru-ru/products/phone/lumia710/
[15] Windows Phone Performance Analysis: http://msdn.microsoft.com/en-us/library/hh202934%28v=vs.92%29.aspx
[16] здесь: http://msdeveloper.ru/blogs/vladkol/128/
[17] localytics: http://www.localytics.com/
[18] wp@mamba.ru: mailto:wp@mamba.ru
[19] команду: http://corp.mamba.ru/company/job.phtml
[20] Windows Market Place.: http://www.windowsphone.com/ru-RU/apps/7cb80127-b798-45c5-84c7-dc51e7c36189
Нажмите здесь для печати.