Приложения для всех: готовность к мировому рынку и Магазин Windows
Введение
Материалы к лекциям 15,16 Вы можете скачать здесь.
Заголовок этой лекции: "Приложения для всех", в особенности слово "всех" - имеет несколько оттенков смысла. Во-первых, это жизненно важная роль Магазина Windows во всём процессе взаимодействия пользователя с Windows 8. Магазин Windows – это то самое место, с помощью которого вы распространяете приложения среди пользователей (за исключением предприятий и передачи приложений другим разработчикам). Все, другими словами, получают приложения из Магазина Windows.
Таким же образом, все, кто имеет дело с приложениями, имеет дело и с Магазином Windows. Взаимоотношения вашего приложения с Магазином Windows во многом определяют и состояние ваших дел, и эти взаимоотношения водействуют на все стадии жизненного цикла приложения от планирования и разработки до распространения и обслуживания. Думайте о Магазине Windows, таким образом, не как о чём-то, что нужно вам только тогда, когда вы завершили работу над приложением: о нём нужно помнить с того самого времени, как вы задумались над приложением, которое вы хотите создать. На самом дел, сюда вы можете прийти сразу из Главы 1 курса "Введение в разработку приложений для Windows 8 с использованием HTML, CSS и JavaScript", где я рекомендовал прочесть первый из следующих разделов еще до того, как вы начнете эксперименты с кодом! На самом деле Магазин Windows напоминает пару держателей для книг во всём процессе разработки приложений: вы думаете о нём, когда планируете приложение, и когда всё готово, вы переходите на его портал для того, чтобы сделать приложение доступным для других людей.
Эти "другие" - контекст для дополнительного смысла к слову "все". В общем случае, когда вы хотите предложить продукт клиентам, вы желаете расширить его доступность для как можно большего количества потенциальных клиентов. Есть, конечно, случае, когда вы можете намеренно ограничить свою аудиторию, но для большинства приложений возможность достичь большего количества пользователей – это привлекательная возможность. И если вы этого не хотите, то ваши конкуренты этого хотят!
Один из способов расширения доступности вашего приложения – это включение в базу потенциальных пользователей, которых беспокоят специальные возможности (accessibility) приложений. Хотя этот термин берет начало в обслуживании людей с серьезными заболеваниями, исследования показали, что многие люди – примерно 60%, тем или иным образом используют специальные возможности, даже если они не являются инвалидами. Для одних, кто может работать лишь с ограниченным набором устройств ввода – наподобие клавиатуры или мыши – это важно при работе с устройствами, поддерживающими лишь сенсорное управление. Изменение масштаба, похожим образом, служит людям со слабым зрением, служит и людям с хорошими финансовыми возможностями (то есть, для пользователей, которые готовы тратиться на устройства с высоким значением DPI для того, чтобы получить более четкую графику). Приложения, которые хорошо работают со средствами для чтения текстов с экрана, которые предназначены для людей со слабым зрением, так же могут отлично работать и для мобильных пользователей, которые вынуждены за чем-то внимательно наблюдать, например, для людей, которые ведут машину. Поддержка цветовых схем высокой контрастности помогает не только тем, кому тяжело различать оттенки цветов, но и тем, кто работает с мобильным устройством на ярком солнце.
Всё это обязывает разработчиков приложений серьезно относиться к специальным возможностям, тем более, что Магазин Windows особенно отмечает необходимость поддержки приложениями полной доступности. Как мы увидим, это преимущественно включает в себя добавление соответствующих атрибутов aria-* в HTML-разметку, адаптацию макетов к различным размерам экрана и включение в состав приложения вариантов изображений, поддерживающих различные параметры контрастности.
Второй способ расширения аудитории приложения заключается в подготовке приложения к мировому рынку – то есть – использовать в приложении локализованные ресурсы, с помощью которых оно адаптируется для использования с языком пользователя, региональными настройками, форматами даты и времени и так далее. К счастью Windows 8 позволяет вам структурировать ресурсы – преимущественно, изображения и строковые данные, таким образом, что эти настройки применяются автоматически, так же, как система выполняет масштабирование разрешения или настройки контрастности. WinRT так же содержит API, которые помогают подготовить приложение к мировому рынку, а само приложение может предпринять дополнительные шаги для локализации веб-сервисов, из которых оно получает данные, соответствующим образом работать с динамическими плитками и уведомлениями и так далее Более того, доступны некоторые дополнительные инструменты, наподобие Multilingual App Toolkit, которые позволяют упростить перевод ресурсов приложения.
Наградой за все эти усилия является, конечно, то, что те пользователи, которые ищут в Магазине Windows приложения на своём языке увидят именно ваше приложение, а не те, которые доступны лишь на одном языке наподобие английского. Эти пользователи так же, весьма вероятно, выразят свою признательность в отзывах о вашем приложении и в его оценках.
Одна из важнейших особенностей Магазина Windows заключается в том, что он даёт вам доступ к глобальным рынкам из любого места, где бы вы ни работали. Ранее выход на мировой рынок был утомительным и дорогим процессом, предусматривающим понимание местного налогового законодательства, конвертацию валют и так далее. Теперь это не так. Всё это механизмы Магазина Windows делают для вас. Как только Магазин Windows появляется на каком-либо рынке, это означает, что Microsoft проделала всю необходимую работу для того, чтобы реализовать особенности этого рынка в Магазине Windows. Другими словами, та небольшая плата, которую вы вносите за возможность отправки приложений в Магазин Windows делает для вас возможным вести дела на этих рынках с минимальными усилиями или вовсе без них. Это замечательно. Кроме того, Магазин Windows позволяет вам настраивать цену приложения для региональных рынков – если вы берете плату за приложение или реализуете схему покупок внутри приложения – так как уровень жизни в различных странах может серьезно различаться. И это тоже хорошо.
В этой лекции, таким образом, мы начнем с рассмотрения взаимоотношений между вашим приложением и бизнесом, основанным на вашем приложении, реализуемым при поддержке Магазина Windows, вне зависимости от того, планируете ли вы каким-либо образом монетизировать своё приложение. Затем мы поговорим о специальных возможностях и о подготовке приложения к мировому рынку. Последний раздел – и лекции, и всего курса – замкнёт круг, начатый в самой первой главе курса "Введение в разработку приложений для Windows 8 с использованием HTML, CSS и JavaScript". Он посвящен отправке приложения в Магазин Windows и тому, что вы можете там ожидать. Теперь, когда вы пронесли своё приложение так далеко, подготовим его для того, чтобы каждый мог им насладиться!
Ваше приложение, ваш бизнес
Если вы спросите у местного психолога или философа, то он, возможно, согласиться с идеей о том, что практически всеми людьми, обладающими разными профессиями и возможностями, принадлежащими к разным культурам, движет небольшое количество фундаментальных мотивов: страх, вожделение, жажда власти, любовь, желание служить людям и поиски удовольствия. На самом деле, самые мудрые из них скажут, что последнее – поиски удовольствия и счастья – это корень всех остальных мотивов.
Оставив всё это в стороне, и при условии, что вы не занимаетесь программированием под страхом смертной казни или не работаете над приложениями, которые не будут соответствовать правилам Магазина Windows, давайте просто взглянем и определим основные причины, по которым вам может быть интересно писать программы:
- Богатство: вы хотите зарабатывать деньги.
- Слава: вы хотите общественного признания.
- Филантропия: вы хотите сделать свой вклад в общее дело человечества.
- Удовольствие: вам просто нравится заниматься программированием – людям, которые не занимаются программированием, этого не понять!
Какой бы из пунктов этого списка вам ни подошёл, в какой бы комбинации, от вашей мотивации в значительной мере зависит ваш "бизнес" как разработчика. Я использую этот термин (business) очень свободно. В английском языке, по меньшей мере, десяток разных толкований этого слова, лишь треть из которых связаны с коммерческой деятельностью, организацией, практикой и торговлей. Другие определения имеют дело с чем-то, что для вас важно, как когда мы говорим "Это не твоё дело", или "Я добился успеха в этом, чтобы знать о подобных вещах". Короче говоря, приложения могут отражать сущность вашего "дела", чем бы оно ни было и сущность этого отражена в том, как вы делитесь приложениями с другими. Опять же, за исключением параллельной загрузки (side loading) (об этом – в следующем разделе), передача ваших приложений другим людям подразумевает выполнение этого действия через Магазин Windows. По этой причине взаимоотношения вашего приложения с Магазином Windows эффективно определяют суть ваших дел с ними, и эти взаимоотношения охватывают весь жизненный цикл приложения:
- Планирование. Опредялет, будет ли приложение приложением для Магазина Windows, соответствие его требованиям сертификации и возможность заработка на приложении (если нужно)
- Разработка. Реализация функций, связанных с Магазином Windows и использование API для реализации пробных версий, покупок внутри приложения и так далее.
- Тестирование. Использование, до отправки приложения в Магазин Windows, средств для предварительного тестирования и проверки приложения на совместимость с требованиями сертификации.
- Доступность. Открытие доступа к приложению на различных рынках с использованием портала для разработчиков Магазина Windows.
- Маркетинг, продажи и поддержка. Реклама приложения, увеличение его заметности, работа с пользователями вашего приложения (ответы на оценки и обзоры), размещение ссылки на него на вашем веб-сайте (если применимо) и использование аналитики Магазина Windows с помощью инструментов портала для разработчиков.
- Обновление и развитие. Улучшение приложения со временем или уход приложения с рынка.
Скоро мы рассмотрим некоторые из этих пунктов подробнее, особенно те, которые касаются планирования и разработки. Это включает в себя API, которые позволяют вам имитировать взаимодействие с Магазином Windows при отладке. Так же мы посмотрим на доступные модели монетизации – от полностью бесплатных приложений, приложений, содержащих рекламу и платных приложений, до пробных версий и приложений, поддерживающих покупки внутри приложения. В конце концов, ваш выбор в данной области является основой того, как вы собираетесь удовлетворить свои цели в написании приложений, какие бы мотивы не лежали в основе всего этого.
К оставшимся пунктам мы вернемся в последнем разделе лекции 16, так как сначала обсудим специальные возможности и локализацию.