Жизненный путь приложений для Магазина Windows: Характеристики платформы Windows 8
Возвращение домой: Обновления и новые возможности
Если вы - один из тех разработчиков, которые могут написать превосходное приложение с первого раза, мне хотелось бы узнать - почему вы читаете этот курс! В реальной жизни, не важно, как серьезно мы тестируем приложение перед тем, как оно выйдет во внешний мир, наши усилия бледнеют в сравнении с теми ужасами, которым пользователи подвергают наши приложения. Говоря кратко: ожидайте проблем. Приложение может аварийно завершиться в обстоятельствах, которые мы никогда не предсказывали, или могут возникнуть проблемы с удобством его использования, так как люди находят креативные способы использования приложений, которые находятся за пределами исходного предназначения программ.
К счастью, информационная панель Магазина Windows - перейдите на http://msdn.microsoft.com/ru-RU/windows/apps/ и щёлкните по вкладке Информационная панель (Dashboard) в верхней части, - упрощает получение обратной связи от пользователей, которую обычно получить нелегко. Магазин поддерживает оценки и отзывы для каждого приложения, которые могут стать источником ценной информации о том, насколько хорошо ваше приложение выполняет свои функции в реальном мире и источником идей для следующих выпусков приложения. Кроме того, вы можете прямо сейчас осознать, что вы можете прочесть хвалебный отзыв (если вы сделали хорошую работу), можете столкнуться с критикой или даже с хорошей порцией гадостей (даже если вы сделали своё дело хорошо!). Не воспринимайте это как персональное оскорбление - оценивайте каждое критическое замечание как возможность улучшить приложение и будьте благодарны людям за то, что они нашли время и оставили отзыв. Однажды мудрец, услышав о смерти своего самого шумного критика сказал: "Я только что потерял лучшего друга!".
Магазин Windows, кроме того, предоставляет вам аналитику по аварийным завершениям программы, так что вы можете точно определить проблемные зоны в вашем приложении, которые не были затронуты вашими тестами. Это просто бесценно - возможно, вы уже апплодируете от восхищения! Так как если ранее вам нужны были подобные данные, вы вынуждены были самостоятельно реализовывать весь механизм для их получения. Больше этого делать не нужно. Это один из ценных сервисов, который вы получаете в обмен на стоимость регистрации в Магазине Windows. (Безусловно, вы вполне можете реализовать подобный механизм самостоятельно).
Используя эти данные и все остальные идеи, которые возникли у вас после первого релиза программы, или то, что вы придумали между делом, вы готовы к тому, чтобы принять приложение у него дома, дать ему немного любви и подготовить к его следующему воплощению.
Обновления отправляют в Магазин Windows так же, как и первую версию приложения. Вы создаете и отправляете пакет приложения (с тем же именем пакета, что и ранее, но с новым номером версии), и затем обновляете описание, графические элементы, цену и другую информацию. После этого ваш обновлённый пакет проходит сертификацию, его, как и ранее, подписывают, и когда всё это завершится, ваше обновленное приложение будет доступно в Магазине. Те потребители, у которых уже есть ваше приложение, будут оповещены о том, что имеется обновление. Они самостоятельно решат, нужно или нет его устанавливать (И помните, что благодаря блочной карте, о которой мы говорили ранее, загружаться при обновлении будут лишь те части приложения, которые изменились. Это означает, что исправление небольших недочётов не приведет к тому, что пользователям придётся загружать каждый раз весь пакет приложения, который может оказаться довольно большим. Это сближает рассматриваемую модель обновления приложений с тем, как это реализовано в веб-приложениях).
Когда пользователь установит обновление, которое имеет то же имя пакета, что и уже установленное у него приложение, обратите внимание на то, что все параметры и данные приложения предыдущей версии останутся нетронутыми. Ваше обновленное приложение должно быть готово, таким образом, к миграции с предыдущих версий состояния приложения, если и когда оно с ними столкнётся.
Это вызывает интересный вопрос: что происходит с перемещаемыми данными, когда у пользователя установлено несколько версий одного и того же приложения на разных устройствах. Ответ состоит из двух частей. Во-первых, перемещаемые данные имеют собственные номера версий, независимые от приложения, и, во-вторых, Windows совершенно прозрачно поддерживает работу с несколькими версиями перемещаемых состояний приложения в течение времени, пока эти приложения установлены на устройства пользователя, которые ссылаются на данные версии состояний. Когда приложение будет обновлено на всех устройствах и конвертирует своё состояние к новому представлению, Windows удалит старые версии.
Другой интересный вопрос, связанный с обновлениями, заключается в том, можете ли вы получить список пользователей, которые загрузили ваше приложение из Магазина. Ответ отрицателен из соображений конфиденциальности. Однако не будет ничего плохого в том, чтобы добавить в приложение функцию регистрации, используя которую пользователи могут выбрать опцию получения от вас дополнительной информации, такой, как более подробные оповещения об обновлении. Ваша панель параметров - отличное место, чтобы реализовать подобную настройку.
Последнее, что можно сказать о Магазине, это то, что в дополнение к аналитике по вашему собственному приложению, которая, кроме того, включает данные наподобие объемов продаж, естественно - Магазин так же предоставляет вам аналитику в целом по рынку. Это помогает вам находить новые возможности - возможно, это будет идея, которую вы рассматривали ранее как одну из функций приложения, а теперь выделите её в отдельное приложение в другой категории. Здесь вы можете видеть, что продаётся хорошо (а что - не очень), видеть, что некоторые категории приложений недостаточно заполнены или имеют менее, чем средние, отзывы. Подробности вы можете найти в Информационной панели (http://msdn.microsoft.com/ru-RU/windows/apps/).
И, конечно, кое-что о дизайне
В первой лекции мы поговорили о сущности мира, в котором живут и работают приложения для Магазина Windows. Так же в курсе мы сконцентрируемся на подробностях, касающихся того, как создать подобные приложения с использованием технологий HTML, CSS и JavaScript. Но о чём мы говорить не будем, и чего мы коснёмся лишь в минимальном объеме, это то, как вы будете решать, что именно делает ваше приложение. То есть, о цели существования приложения в мире, а так же, о том, как будет выглядеть ваше приложение для достижений своей цели.
Это - вопрос хорошего дизайна и проектирования приложений для Магазина Windows - вся та работа, которая проводится над приложением задолго до начала написания кода.
Я сказал, что мы коснёмся этого в минимальном объеме, так как я, попросту, не считаю себя дизайнером. Я призываю вас быть честными с собой в этом плане: если с вами не работает хороший дизайнер - найдите его. Уверен, что вы, возможно, сможете сделать нормальный дизайн собственными силами. Но запросы рынка, ориентированного на потребителя, скомбинированные с новейшим языком дизайна, который используется в Windows 8, где упор идёт на упрощение и "бесшовный" опыт взаимодействия пользователя с приложением, подчёркивают важность профессиональной помощи. Есть разница между функциональным приложением и замечательным приложением, между инструментом и произведением искусства, между приложениями, с которыми пользователи вынуждены мириться и приложениями, которые они любят.
Что касается дизайна, я предлагаю разработчикам внимательно прочитать материал "Разработка интерфейсов пользователя для приложений" (http://msdn.microsoft.com/library/windows/apps/hh779072.aspx) для лучшего понимания принципов дизайна. Однако, будьте честны, вы действительно хотите размышлять над тем, что означает "быстрый и динамичный" (и проектировать не только статичные сеточные макеты, но и динамические части дизайна, наподобие анимации?). Вы хотите тратить своё время на графический дизайн и создание художественных элементов (что очень важно для замечательного приложения)? Вы хотите беспокоиться о выравнивании каждого пикселя макета приложения во всех четырех режимах просмотра? Если нет, найдите кого-нибудь, кто хочет всем этим заниматься, так как комбинация его дизайнерского чутья и вашего искусства программирования приведет к гораздо лучшим результатам, чем если вы будете работать в одиночку. Как говорит один мой сослуживец, браки "фриков" и "гиков" часто приводят к самым креативным, привлекательным и вдохновляющим результатам.
Позвольте мне отметить, что дизайн это не одномоментный и не статический процесс. Разработчик и дизайнер нуждаются в совместной работе над проектом, так как нужды дизайна возрастают в ответ на то, как, на самом деле, работает программная реализация проекта. Например, при работе приложения с учетом ограничений производительности в реальном мире, оно может нуждаться в использовании индикатора прогресса, когда загружает определенные страницы или, возможно, лучше будет воспользоваться редизайном навигации по страницам. В подобной ситуации возможен и отказ, как мы обнаружили с партнёром по одному из ранних приложений, где графические элементы, использованные в дизайне, были попросту недоступны для загрузки из сервиса поддержки приложения. Дизайн был восхитителен, другими словами, но на практике его реализовать не удалось, в итоге понадобились изменения. В итоге, убедитесь в том, что вам удалось построить здоровые и счастливые взаимоотношения с дизайнером.
На этом позвольте перейти к нашей части истории приложения: к написанию программного кода!