Главная » Хабрахабр » [Из песочницы] Windows Phone 8.1: ностальгии разработки пост. История одного приложения

[Из песочницы] Windows Phone 8.1: ностальгии разработки пост. История одного приложения

Приветствую, Хабр!

Пост навеян новостью о прекращении поддержки Windows 10 mobile.

1.
Являясь одно время обладателем Nokia Lumia 925, расскажу про одну из моих поделок на поприще мобильной разработки под Windows Phone 8.

Приложение: «Курсы валют ЦБ РФ». Предыстория

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

Не найдя ничего полезного на Windows Phone Market, решил попробовать написать что-нибудь «для себя».

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

S. P. «Ничего полезного» подразумевало и фильтрацию приложений с ужасным количеством рекламы (ей-богу, люди, что с вами было не так?).

Версия №1

Цель: создать простое приложение с единственной возможностью — посмотреть курсы валют в приложении и создать тайл на главной странице

Чуть формальнее:

  1. Самый простой UI
  2. Таблица с ценой валюты на сегодня/завтра
  3. Возможность создать тайл на главной странице
  4. Никакой рекламы

Что получилось в итоге (к сожалению, не сохранились скриншоты первых версий тайлов):

Промежуточный сервис

Тайлы обращаются по ссылке на написанный сервис, который обращается к данным ЦБ и кэширует их на день, т.к. ЦБ не обновляет данные чаще. Т.е. приложение не работает с real-time данными, т.к. сама концепция тайлов не позволяет делать частые обновления.

Минимальная частота обновлений, насколько я помню, была в районе получаса.

Добавление информации о частоте обновлений в следующих версиях ситуацию не изменили — пользователи продолжали периодически писать о плохих данных. Кто бы знал как много комментариев и минимальных звезд я получил за создание приложения с «неверными данными!».

На первых порах статистика запросов (каждый тайл = запрос) была следующей: Кроме запросов к данным, сам сервис позволял собирать небольшую статистику использования приложения.

Версия №2

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

Что получилось в итоге:

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

Технические подробности

Уже в процессе подготовки к публикации приложения выяснилось, с помощью Windows App Certification Kit, что внутри компонента есть некие вызовы kernel32.dll. В частности, были две ошибки:

Sparrow. API CreateFileMappingA in kernel32.dll is not supported for this application type. WinRT. Chart. Sparrow. 45.dll calls this API.
API MapViewOfFile in kernel32.dll is not supported for this application type. WinRT. Chart. 45.dll calls this API.

Оказалось (после гугления и перебора исходников), что в компоненте, написанном для Windows phone присутствует директива #if WPF. Кусок кода не использовался, но при это ломал тест сертификации. Закомментировал директивы, скомпилировал и, вуаля, все тесты прошли. Было очень неприятно узнать о подобной ошибке в самом конце выпуска обновления. Но повезло.

Немного статистики запросов к июню:

Написанный сервис выдал примерно следующую информацию по использованию тайлов:

  • 125 пользователей с 0 тайлами — пользуются главным образом приложением напрямую
  • 260 пользователей с 1 тайлом
  • 175 пользователей с 2 тайлом
  • 61 пользователь с 3 тайлом
  • 7 пользователей с 4 тайлами
  • 1 пользователь с 6 тайлами

Версия №3

Цель: вдохновленный просьбами пользователей (человека два попросило, но и этого достаточно), решил что новому дизайну быть.

Что получилось в итоге:


Статистика:

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

Версия №4, заключительная

Цель: в этот раз был вдохновлен новым дизайном приложения для ВКонтакте. Да и на MVVM надо было переписать наконец. Да и курсы нефти и металлов добавить.

Что получилось в итоге:



Заработать удалось что-то около 800-900 рублей, вывести которые так и не удалось. Видно, что на этот момент захотелось немного заработать на добровольном донате. Спасибо Microsoft за минимальный размер вывода в 25 долларов.

Заключительная статистика:

В заключении

Впоследствии был написан еще секундомер-таймер, но о нем ничего интересного. Он просто работает с учетом всех ограничений системы, коих оказалось немало.

В то же время как мой девайс категорично не включался в список на обновление платформы с Windows Phone 8. Запал же по разработке стал пропадать, когда стало появляться всё больше комментариев от пользователей на Windows Phone 10 с просьбами поправить размеры тайлов или специфичные проблемы новой системы. Желания выкладывать наобум, тестируя только в эмуляторе, особенно не было. 1.

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

Спасибо за внимание. На такой ноте и закончим ностальгии разработки пост.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Ускоряем неускоряемое или знакомимся с SIMD

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

Kонсенсус в Exonum: как он работает

ExonumTM — это наш открытый фреймворк для создания приватных блокчейнов. Сегодня мы расскажем, как работает его алгоритм консенсуса. Изображение: Bitfury Зачем нужны алгоритмы консенсуса Прежде чем перейти к рассказу о том, как устроен алгоритм консенсуса ExonumTM, поговорим о том, зачем ...