- Phone Link и Link to Windows от Microsoft
- Новые совместимые устройства
- Описание приложения
- Доступ к личному кабинету Интернет-банка ТКС
- Некоторые функции программы
- Приложение Phone Link для синхронизации компьютера и смартфона
- Phone Link для синхронизации компьютера с смартфоном
- Требования и настройка приложения Phone Link
- Инструкции в зависимости от операционной системы смартфона:
- Работа с приложением Phone Link
- Функции Phone Link
- Требования для работы приложения
- Инструкции по настройке
- Добавление нового устройства Android
- Привязка телефона во время настройки ПК или сопряжение в Phone Link, начиная с вашей учетной записи Microsoft
- Во время настройки ПК:
- Во время сопряжения в Phone Link:
- В обоих случаях:
- Как настроить точку доступа?
- Каковы требования для использования этой функции?
- Требования к ПК:
- Требования к телефону:
- Как включить эту функцию?
- С вашего ПК:
- С вашего Android устройства:
- Вопросы & Ответы
- О3: Разрешение на уведомление
- В4: Почему я не вижу функцию Точка доступа?
- Подключение устройства
- Процедура отключения
- Как отключить Ваши устройства
- Включение функций в приложении
- Использование и сканирование QR-кода
- Почему провал WP — трагедия для мобильного рынка?
Phone Link и Link to Windows от Microsoft
В свежих версиях системы они будут предустановлены.
Microsoft запустила приложения Phone Link (Связь с телефоном) и Link to Windows (Связь с Windows) для синхронизации смартфонов с компьютерами на Windows. Чтобы всё работало, достаточно поставить на компьютер Phone Link, а на смартфон — Link to Windows. До сих пор эта связка работала только со смартфонами Samsung, Honor и Microsoft Surface Duo (плюс, внезапно, iPhone), но вскоре список совместимых устройств расширится.
Новые совместимые устройства
На конференции разработчиков Oppo представители компаний Oppo и Microsoft объявили, что скоро связка с Windows появится на Android-смартфонах Oppo, OnePlus и Realme. В частности, приложение Связь с Windows будет предустановлено на смартфонах, работающих на ColorOS 14 или OxygenOS 14 и более свежих версиях.
Описание приложения
Связь с телефоном позволяет через Wi-Fi взаимодействовать с приложениями и файлами на смартфоне с компьютера. После подключения можно запускать приложения, отвечать на сообщения, просматривать фотографии и подключаться к точке доступа Wi-Fi на смартфоне без дополнительного подтверждения.
Доступ к личному кабинету Интернет-банка ТКС
Программа обеспечивает комфортный и защищённый доступ к личному кабинету Интернет-банка ТКС. С её помощью можно просматривать баланс всех счетов, вкладов и карт, вести историю транзакций, анализировать доходность вкладов (данные выводятся в виде графика). Также программа позволяет совершать платежи, внутрибанковские и межбанковские переводы и переводы с карты на карту. Есть функции для связи с банком, просмотра и подключения спецпредложений и поиска ближайших офисов банка и банкоматов. Кроме того, в приложении транслируются актуальные курсы валют в ТКС Банке и ЦБ РФ. Вход в программу защищается пин-кодом. Интерфейс программы удобный для пользователя и красиво оформленный.
Некоторые функции программы
- Платежи и переводы
- Управление продуктами Тинькофф
- Действия с картами
- Поиск и аналитика
- Бонусы: новые спецпредложения с уведомлениями о новых акциях; повышенные категории кэшбэка; прогноз кэшбэка; управление баллами или милями для владельцев карт с программой лояльности.
Домашняя страница: Ссылка на сайт
Русский интерфейс: Да
Если нашли ошибку, выделите текст и нажмите Ctrl + Enter
Последнее обновление программы в шапке: 16.09.2023






Приложение Phone Link для синхронизации компьютера и смартфона
Для сбера бы нормальный рабочий клиент теперь ещё:)
Поиск есть,эту тему я видел. Спасибо что дополнительно на неё указали. Здесь-я просто установил приложение и всё.
А там надо возиться,как минимум с сертификатами,установка через портал и интероп тулс. Согласен,возни не много,но уже сложнее.
И да,я понимаю что система сама по себе уже требует к себе не простого нажал кнопку и всё работает,а более вдумчивого подхода.
Сообщение отредактировал shiogorat — 20.09.23, 19:31
2 минут времени своего жалко, видимо. Interop unlock там не нужен.
Сообщение отредактировал Computershik — 24.09.23, 18:54
Computershik, Не жалко 🙂 И да,извиняюсь, видимо как-то по диагонали пост про установку читал.
congratulate: Людей у которых есть айфон без банка, но есть WP
Phone Link для синхронизации компьютера с смартфоном
Приложение Phone Link (Связь с телефоном) позволяет синхронизировать компьютер под управлением Windows со смартфоном на базе Android или iOS. Это уменьшает необходимость переключения между вашим смартфоном и компьютером, позволяя использовать такие функции, как совершение вызовов и ответ на них, ответ на текстовые сообщения, а также просмотр и отклонение уведомлений непосредственно на вашем компьютере с Windows.
Требования и настройка приложения Phone Link
Для более подробной информации обратитесь к официальной документации Microsoft по адресу ссылка.
Инструкции в зависимости от операционной системы смартфона:
Пожалуйста, следуйте соответствующим инструкциям в зависимости от операционной системы Вашего смартфона.
Работа с приложением Phone Link
Работа с Phone Link запускается на вашем ПК с Windows и в приложении Phone Link. Со своего ПК вы можете подключиться к некоторым устройствам Android, Samsung и HONOR с помощью приложения Link to Windows, которое либо предварительно установлено на вашем устройстве, либо вы можете загрузить его из Google Play или Samsung Store.
Функции Phone Link
Связь между вашим устройством Android и ПК дает вам мгновенный доступ ко всему, что вы любите. С легкостью читайте текстовые сообщения и отвечайте на них, просматривайте последние фотографии со своего устройства Android, используйте любимые мобильные приложения, совершайте и принимайте звонки, а также управляйте уведомлениями вашего устройства Android прямо на своем ПК.
Требования для работы приложения
Для работы Phone Link требуется:
- Последняя версия Windows
Инструкции по настройке
- Убедитесь, что ваш компьютер и устройство Android находятся рядом, включены и подключены к одной и той же сети Wi-Fi.
- Если вы запускаете с компьютера:
Добавление нового устройства Android
Если вы добавляете еще одно устройство Android:
Привязка телефона во время настройки ПК или сопряжение в Phone Link, начиная с вашей учетной записи Microsoft
Во время настройки ПК:
При связывании телефона во время настройки ПК учетная запись Microsoft, которую вы использовали при настройке ПК, будет использоваться для входа в связанный телефон во время процесса сопряжения.
Учетная запись Microsoft, которую вы использовали при настройке компьютера, будет перенесена на подключенный телефон во время процесса сопряжения.
Во время сопряжения в Phone Link:
При привязке к Phone Link выбранная вами учетная запись Microsoft будет использоваться для входа в связанный телефон во время процесса сопряжения.
Выбранная вами учетная запись Microsoft будет перенесена на связанный телефон во время процесса сопряжения.
В обоих случаях:
После завершения сопряжения телефона с учетной записью Microsoft вы сможете получить доступ к своему телефону при использовании продуктов и услуг Microsoft.
Учетные данные вашей учетной записи Microsoft будут перенесены на ваш телефон для беспрепятственного доступа к вашему содержимому, когда вы дадите разрешение на подключение телефона к компьютеру.
Используйте свои любимые приложения, отвечайте на сообщения, совершайте звонки, просматривайте фотографии и многое другое в приложении Phone Link. После утверждения разрешений на доступ к вашему телефону вы можете использовать свои любимые приложения, отвечать на текстовые сообщения, совершать звонки, просматривать фотографии и многое другое на своем ПК с Windows. Если вы разрешите синхронизацию контактов со своего телефона с учетной записью Microsoft, то вы сможете получить беспрепятственный доступ к синхронизированным с телефоном контактным данным в других приложениях и службах Microsoft.
Примечание: Вы можете отключить свои устройства в любое время, выполнив действия, перечисленные на Отсоединить устройство.
Как настроить точку доступа?
Теперь вы можете подключиться к мобильной точке доступа вашего телефона, добавив ее в меню Wi-Fi вашего компьютера. Точка доступа предоставляет вам удобный способ многократного подключения к точке доступа вашего телефона без необходимости каждый раз вводить пароль.
Примечание: Может взиматься плата за передачу мобильных данных.
Каковы требования для использования этой функции?
Требования к ПК:
Требования к телефону:
Как включить эту функцию?
С вашего ПК:
С вашего Android устройства:
Вопросы & Ответы
В1: Почему мне нужно предоставлять разрешения при сопряжении моих устройств?
О1: В Android 13 представлено разрешение на уведомления во время выполнения. Это разрешение необходимо для передачи данных и отправки уведомлений между вашими устройствами.
В2: Почему я не могу разрешить уведомления в Phone Link?
В3: Почему мне нужно давать разрешение на уведомления?
О3: Разрешение на уведомление
Разрешение на уведомление позволяет передавать данные и отправлять уведомления между Вашими устройствами, что закладывает основу для функций взаимодействия между устройствами. Предоставляя разрешения Вы можете использовать свое устройство Android на своем ПК для управления фотографиями телефона, управления уведомлениями и использования приложений (если это поддерживается).
В4: Почему я не вижу функцию Точка доступа?
Убедитесь, что у Вас установлены последние обновления приложений Phone Link и Link to Windows. Убедитесь, что на Вашем компьютере установлена ОС Windows 11, сборка 22621 или более поздняя версия.
Microsoft Phone Link упрощает синхронизацию Вашего ПК с Windows и iPhone®. Для начала откройте Phone Link на компьютере с Windows 11. Следуйте инструкциям по сопряжению и разрешениям.
Вы также можете загрузить Link to Windows с сайта App Store на Вашем iPhone®, но это не обязательно.
Подключение устройства
Эта связь между Вашим iPhone® и ПК дает Вам мгновенный доступ ко многим вещам, которые Вам нравятся. С легкостью читайте текстовые сообщения и отвечайте на них, совершайте и принимайте звонки, а также управляйте уведомлениями iPhone® прямо на своем ПК.
Чтобы обеспечить максимально эффективное использование Phone Link, мы рекомендуем установить последнюю версию Windows 11. Проверить наличие обновлений можно здесь.
Процедура отключения
Прежде всего убедитесь, что Ваш компьютер и iPhone® находятся поблизости и на обоих включен Bluetooth.
После успешного сопряжения Вашего устройства через Bluetooth Вам необходимо будет включить эти три настройки на Вашем iPhone®, чтобы получить доступ ко всем доступным функциям. Для полноценной работы некоторых функций требуется несколько разрешений.
Как отключить Ваши устройства
Чтобы отключить iPhone® от ПК с ОС Windows:
- В разделе Bluetooth выберите Информация значок рядом с именем Вашего компьютера в списке Мои устройства и выберите Забыть это устройство.
- Откройте Phone Link и откройте Настройки. Под вкладкой Мои устройства выберите устройство, связь с которым хотите отключить, с помощью опции Удалить.
Теперь Ваши устройства должны быть отключены.
Включение функций в приложении
Вы можете выбрать, какие функции Вы хотите включить в Phone Link. Для этого перейдите в Настройки и выберите вкладку Функции. Здесь Вы найдете переключатели, для которых Вы предоставляете разрешения. Удаление разрешений также приведет к отключению этой функции в приложении.
Использование и сканирование QR-кода
Уникальный QR-код генерируется каждый раз, когда Вы хотите подключить новое устройство iPhone® к компьютеру. Просто воспользуйтесь камерой Вашего iPhone®, чтобы отсканировать его.
Если Вы отсканировали QR-код, но сопряжение не удалось, необходимо обратиться к технической поддержке.
Сначала убедитесь, что Bluetooth включен как на ПК с Windows, так и на iPhone®. Кроме того, убедитесь, что Ваш компьютер и iPhone® «обнаружимы» друг для друга.
Если сопряжение все еще не завершено, возможно, Вам придется сбросить Phone Link на Вашем ПК и Link to Windows, чтобы вернуть их в исходное состояние.
Если проблема сохраняется:
Откройте приложение Phone Link и откройте Настройки. Под Отзывы & Сообщество — это форма, которую Вы можете использовать для описания своих проблем. Предоставьте как можно подробное описание проблемы.
Вы также можете найти это, выполнив поиск «Центр отзывов» в поле поиска на панели задач.
Предыдущее содержимое взято с сайта Microsoft требования и настройка приложения Связь с телефоном.
Дизайнер с YouTube-канала AR 4789 представил концепт мобильной операционной системы Windows 12 Mobile. Видеоролик доступен на канале энтузиаста.
В фанатской презентации дизайнер продемонстрировал различные функции и возможности системы, которая внешне напоминает Android, iOS и компьютерную версию Windows 11, оптимизированную под мобильные устройства. При этом в ролике не прослеживается дизайн существовавших ранее Windows Mobile и Windows Phone.
По задумке автора, система позволяет пользователю настраивать рабочий стол по своему вкусу и использовать несколько рабочих столов. Среди приложений, которые можно увидеть на экране, есть браузер Edge, магазин приложений Microsoft Store и чат-бот Copilot с искусственным интеллектом. Во всех случаях иконки приложений идентичны ПК-версиям.
Концепт никак не связан с компанией Microsoft, поэтому идея дизайнера AR 4789, вероятнее всего, никогда не будет реализована. Компания Microsoft окончательно прекратила поддержку Windows 10 Mobile 14 января 2020 года, не справившись с конкуренцией с Android от Google и iOS от Apple. Основным производителем Windows-смартфонов была компания Nokia, но на данной ОС также выходили устройства Samsung, HTC, HP и многих других производителей.
Ранее Google выпустила Android 15.

Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно? Тогда добро пожаловать в статью!
Пожалуй, довольно большой процент моих читателей и подписчиков когда-либо владел и пользовался смартфонами на Windows Phone. Мнение пользователей этой мобильной платформы во многом разнится — кто-то восхваляет по настоящему продуманный и плавный интерфейс, кто-то ругает Microsoft за «кидалово» с обновлениями, но большинство людей сходится во мнении, что Windows Phone — была действительно необычной и имела собственную изюминку.

Конечно же, Windows Phone была далеко не первым опытом Microsoft на мобильном рынке. До этого, Редмондская компания поддерживала очень крутую платформу для коммуникаторов и КПК под названием Windows Mobile. Фактически, это был полноценный компьютер в кармане — большинство кнопочных телефонов могли максимум запускать простенькие J2ME-приложения, в то время как WM позволял запускать множество самых разных программ — как написанных на C++/Pascal, так и написанных на C#/VB.Net. Мобильная платформа во всём пыталась подражать своему старшему брату — API системы было очень похоже на то, что мы видим в обычной Windows — тут и полноценная оконная система, и waveout для вывода звука, и GDI для вывода графики.

Windows Mobile прочно занимал свою нишу на мобильном рынке: HTC постоянно представляла новые модели коммуникаторов, которые довольно хорошо продавались. Но тут пришёл первый iPhone, который перевернул всё с ног на голову. Оказывается смартфоном можно управлять полностью пальцами, нажимая на красивые, анимированные элементы интерфейса! Это перевернуло всю индустрию — даже Nokia с её Symbian было тяжело конкурировать с продуктом от Apple. Microsoft видела, что пользователи хотят не столько свободы и кастомизации в системе, сколько плавности интерфейса, стабильности и простоты использования.

Плеер Zune HD стал дебютом свежего подхода к созданию интерфейсов — Metro UI. И хотя сам девайс не сыскал особой популярности, став в некоторой степени провальным, Microsoft взяла на вооружение концепцию этого интерфейса, дабы реализовать её уже в полноценной мобильной ОС. В октябре 2010 года выходит первая версия новой мобильной платформы Microsoft — Windows Phone 7, заложившая фундамент той самой системы, которую мы с вами до сих пор вспоминаем с теплотой!

На WP7 вышло весьма много устройств: тут и девайсы от HTC, и смартфоны Lumia от Nokia, и даже продолжение линейки Omnia от Samsung! Но были у этой платформы и серьезные минусы: она базировалась на ядре обычной Windows CE (оно же использовалось в Windows Mobile) и из-за желания повысить безопасность системы, Microsoft отключила возможность использовать код на нативных языках в своих приложениях. Кроме того, во многих аспектах WP7 была достаточно сырая — хотя для неё регулярно выходили обновления.
Почему провал WP — трагедия для мобильного рынка?
Конечно же параллельно с доработкой WP7, Microsoft разрабатывала новую версию ОС, которая должна была объединить мобильные и десктопные приложения в одну общую концепцию. Кроме того, разработчики решили отказаться от лёгкого ядра Windows CE в пользу более тяжелого и продвинутого ядра Windows NT, которое используется в полноценных версиях Windows.

К сожалению, апгрейда с WP7 на WP8 предусмотрено не было, что многие пользователи считают «кидаловом» со стороны Microsoft. Отчасти это так, но проблема была в том, что даже флагманские устройства на WP7 имели 512мб ОЗУ, чего было недостаточно для первой версии WP8. Думаю, в какой-то степени Microsoft просто не хотели портить имидж максимально плавных смартфонов тормозами обновленной системы, хотя примеры шустрой работы на 512мб ОЗУ есть — например, Lumia 520.

Но вот где WP8 была передовой, так это «под капотом». Microsoft смогли сделать что-то невообразимое для мира ARM-устройств: они реализовали нормальный слой абстракции от «железа» и ввели концепцию ACPI, знакомую нам из обычных десктопных ПК. Вкратце, ACPI — это что-то типа списка железа в устройстве, под которое ОС должна найти и загрузить драйверы, не забыв под это всё выделить ресурсы (devicetree в Linux реализует похожую концепцию). Кроме того, Microsoft реализовала полноценный UEFI в своих смартфонах, что позволяло, например, сделать дуалбут в будущем. На практике это всё означает то, что даже неподдерживаемые No-Name смартфоны можно было обновить до Windows 10, банально поменяв пару ключей в реестре: на Android-устройствах такое невообразимо. Фактически, это стандартизация ARM-железа.

На этом технические фишки Windows Phone не заканчиваются. Переходя к пользовательской части, стоит упомянуть фреймворк для построения интерфейса (WPF/Silverlight), который из коробки работает очень шустро, отлично масштабируется под разные размер экрана и предлагает мощные возможности по анимации и кастомизации интерфейса под стиль приложения. Да и само SDK навязывало изначально правильную концепцию программирования, заставляя выделять все задачи в отдельные потоки, не только задействуя дополнительные ядра процессора, но и улучшая пользовательский опыт от приложения (неправильно написанные Android-приложения легко могут подвисать при выполнении какой-то работы).

И третья классная фишка, про которую почему-то все забыли — это поддержка DirectX 11. Конечно в WP7 уже была поддержка Xna (именно на его базе написана Terraria), что позволяло писать игры одновременно для Windows, Xbox 360 и собственно мобилок, но он имел некоторые ограничения и был прослойкой между графическим API (как Direct3D или OpenGL) и самой игрой. Windows Phone 8 же давал настоящий, полноценный DirectX 11 — хотя и поддерживал максимум вторые шейдеры, но при этом умел те фишки, которые не умел Android — инстансинг для оптимальной отрисовки геометрии, установка стейтов «пачками» и эффективное «bindless» управление ресурсами шейдеров. Теоретически, это давало возможность портировать полноценные игры с ПК/Xbox на Windows Phone, хотя на практике не так много кто этим пользовался.

Ну и вспоминая аргумент про кидалово Microsoft с обновлениями, нужно помнить, что обратная совместимость с приложениями для более ранних версий системы была: на Windows Phone 8 можно было играть в годноту с Windows Phone 7 (NFS Undercover, NFS Hot Pursuit, Mirrors Edge и ещё некоторые классные мобильные игры), а на Windows 10 Mobile можно было запускать почти любое приложение для Windows Phone 8.

Так в чём же потеря WP — трагедия для мобильного рынка? А вы посмотрите на свой Android-смартфон сейчас. Сколько в нём ОЗУ? 4гб? 8гб? 12гб? Смущает ли вас то, что Android умудряется неприятно подтормаживать даже с такими ресурсами? А теперь вспомните Lumia 520: Snapdragon 200, 512 мегабайт оперативной памяти. Вот так она работает из коробки:

Мои давние читатели знают мою любовь к смартфонам прошлых лет. Для меня нет понятия запланированного устаревания: если под устройство есть комплект разработки и документация, то при большом желании я могу дописать нужные мне приложения сам. Мой проект SelfEco (сам себе экосистема) как раз об этом — почти полгода назад я написал клиент YouTube и ВК для Android 2.2+. Фактически это означает, что мои приложения работали на ВСЕХ Android смартфонах от 2010 года и новее.

Исходным кодом своих приложений я свободно делюсь — как в качестве примера читателям, так и для возможности каких-то фиксов в будущем или даже модов. В 2021-2022 году я ходил с Lumia 640XL с Win10 Mobile на борту, как с основным смартфоном. И в целом, меня все устраивало и всё нравилось: там и годный клиент ВК был (LunaVK), и клиент телеги нормальный, и браузер кое-какие страницы всё ещё нормально переваривал. Но больше всего мне нравится Windows Phone 8 — она работает ещё шустрее и несколько более строгая в плане дизайна. Да и «люмии» сейчас стоят сущие копейки — моя 640XL обошлась мне в 100 российских рублей (~1.5$ по тому курсу), я не шучу. А на онлайн-барахолках можно найти живые, целые аппараты с нормальными аккумуляторами по 200-500 рублей, иногда даже в родных коробочках!

Lumia 1320 и Lumia 640XL — подарки читателя Kotenilla! Дак почему бы не применить всю эту круть и мощь во благо, учитывая дешевизну смартфонов? Решено: Качаем SDK и пишем собственный клиент ВК и YouTube — это минимально-необходимые для меня приложения!
Для того, чтобы отлаживать и устанавливать сторонние приложения на смартфоны с Windows Phone, их нужно предварительно разблокировать и сделать «Interop Unlock». Процедура несложная и занимает немного времени на большинстве люмий. Дабы сильно не затягивать статью, я не буду описывать процесс разлочки здесь — его можно найти на 4pda для разных поколений устройств.

Начинаем с клиента ютуба. Собственно, концепция отнюдь не поменялась с прошлой статьи — мы всё так же используем API Invidous для получения информации о видео. Нативное API YouTube — полная дичь, да ещё и с ограничениями на один токен, в то время как Invidous сам распоряжается токенами и распределяет их как нужно. Нам лишь остаётся написать «морду», которая будет отображать полученные с сервера данные и передавать ссылку на видео в встроенный плеер.

В отличии от Android, никаких проблем с TLS не возникло: смартфон смог без проблем связаться с инстансом Invidous и получить данные о видео в трендах. Сам по себе, формат ответов очень простой и возвращается в виде JSON, который можно описать такой иерархией:
Практически сразу система нам навязывает распараллелленую парадигму написания кода — часть API банально не имеет синхронных аналогов! Например, из WebRequest убрали GetResponse, дабы неопытные разработчики не делали ошибок и не пытались вызывать долгие I/O операции в главном потоке (что вызывает подвисания приложения). .NET сам по себе имеет крутой механизм тасков (многопоточных задач) и реализацию концепции async/await, которая позволяет подождать выполнение операции, не блокируя остальное приложение.
Я решил придержаться более привычной мне концепции на коллбэках, которая позволяет более четко обрабатывать ошибки в подобных кейсах, да и в целом я не очень люблю подобный синтаксический сахар (а async/await и есть «сахар», поскольку разворачивается в стейт-машину). В качестве десериализатора (механизма парсинга JSON напрямую в экземпляры классов, используя рефлексию) я использовал классический Newtonsoft.Json.

После того, как механизм получения и обработки данных с сервера был готов, я начал реализовывать интерфейс приложения. И вот тут WP показал себя во всей красе. ListView? RecycleView? Нафиг эти костыли, винфон умеет нормально рисовать элементы интерфейса, которые вы выделили в ScrollView. И что забавно: в Android даже реализация с ScrollView при активной подгрузке данных вызывала лаги — на WP такого нет вообще! Тут всё просто работает из коробки!
Механизм анимаций здесь тоже декларативный и реализован в концепции т.н «сторибордов» — наборов действий, которые позволяют создавать достаточно сложные анимации вручную.
Буквально через пару часов после создания проекта, у меня уже была готова загрузка и отображение списка трендов:

А затем и логика воспроизведения видео, которая запускает встроенный плеер и передаёт в него ссылку на видео — которая выбирается относительно кодека (только mp4), разрешения устройства и предпочтений пользователя:

Кроме того, в приложение нужно было добавить настройки — для этого WP8 не предоставляет встроенных средств, нужно реализовывать логику самому. Впрочем, ничего сложного в этом нет — глобальный синглтон с полями настроек и логикой сохранения/загрузки:
WP предоставляет специальное изолированное хранилище для пользовательских программ — IsolatedStorage, в которое нельзя добраться из остальной системы (без разблокированного загрузчика и режима Mass Storage). Там же можно хранить и конфиги — правда с некоторым API для файлов сильно перемудрили — навязывать распараллеливание чтения обычно маленьких файлов — это совсем уже.
Итак, буквально за сутки разработки у меня получилось реализовать приложение, которое может выводить списки ютуба по региону (тренды/популярное), может искать видео и воспроизводить ролики с различными разрешениями. Кроме того, приложение умеет подгружать превьюшки и имеет собственный раздел истории. Неплохо за 24 часа для программиста, который фактически не имел опыта с платформой UWP/WinRT в прошлом, да? 🙂
Теперь пришло время реализовать клиент ВК! Фактически, ничего сложного в реализации клиента с базовым функционалом нет — это всё такая же «морда» к данным с сервера, к которым добавляется необходимость получать уведомления и реализовывать логику обновления данных. На этот раз, я решил выбрать API WP8.1: оно гораздо более богатое на возможности и ближе к современному UWP, чем Silverlight из WP8. Так уж сложилось, что API обычного WP8 ближе к WP7 и совместимо с WP8.1 только с помощью специальной прослойки.
Я не ставил целью написать полноценную замену ныне не рабочему официальному клиенту, но я хотел чтобы моё приложение поддерживало базовый функционал:
Начал я с реализации окна с диалогами и продумывания навигации приложения. WP8.1 всё ещё не имел концепции боковых менюшек, поэтому реализовывать панель навигации пришлось самому. Вместе с ней была реализована верхняя часть, которая содержит в себе заголовок со статусом и анимацию загрузки:

Класс-менеджер для общения с API ВК я решил реализовать по тому же принципу, что и для клиента YouTube: у нас есть два метода на всё-про всё, один сразу десериализовывает ответ в виде объекта Root (для каждого типа ответа — он свой, все они описаны в Data.Packet.Root):
До async/await я не дозрел и здесь 🙂 Спустя достаточно короткое время, у меня уже была готова подгрузка диалогов:

Реализация обновления во всех разделах одинаковая: есть метод RequestUpdate, который начинает процедуру обновления и получает данные с сервера, а затем ставит в очередь задачу на обновление UI из основного потока с помощью UpdateUI:
И механизма загрузки/отправки сообщений. В целом, с этим ничего сложного нет, однако теперь самое время разобраться с нотификациями. Пуши я пока-что поднять не смог, вместо них пока что лонгполлинг — достаточно для нотификаций пока приложение находится в фоне, но система со временем «прибивает» неактивные задачи, а сделать «бесконечный» фоновый таск как в Android не выйдет — система очень строго относится к любой фоновой работе.

Пришло время заняться музыкой — вот это действительно важный функционал! Для работы с аудио, я использовал довольно старый, но известный способ, который ВК пока что не пофиксил. Не то чтобы это из вредности, просто сами ВК особо не идут на контакт для интеграции аудио в своё приложение — исключением стали лишь очень крупные клиенты, как Kate Mobile — а значит можно реализовать действительно важные штуки: например, скачивание треков напрямую в музыкальную библиотеку, дабы их можно было послушать оффлайн! Вся работа с музыкой производится через прокси-сервер, поэтому аудио должно быть открыто.

Реализация фонового прослушивания музыки достаточно похожа на другие платформы, но в то же время заметно отличается. Само приложение может воспроизводить звуки с помощью MediaElement или BackgroundMediaPlayer, однако при сворачивании звук будет приостановлен (в отличии от MediaPlayer на Android). Для фонового прослушивания музыки, Microsoft решили сделать отдельный сервис BackgroundMusicPlayer, который запускается при попытке получить доступ к плееру из программы. Общаться с этим сервисом можно через межпроцессные вызовы — RPC и система предоставляет для него API. Вкратце: нам нужно создать фоновую задачу в виде отдельного модуля WinRT, который будет получать RPC-посылки от Foreground приложения и если нужно — отсылать ответы обратно. Ничего сложного!

Отдельного внимания заслуживает механизм скачивания музыки в библиотеку. В WP, программы не могут просто так «вторгнуться» в личное пространство пользователя — им обязательно нужны разрешения. Но это ладно, запросить разрешение — совсем не проблема. Зато настоящая проблема — ПОЛНОСТЬЮ асинхронный API. Захотел найти дескриптор файла в ФС — асинхронно, захотел его открыть — снова асинхронно. Поскольку у меня вся работа по скачиванию ведется в отдельном воркере и я не боюсь за дедлоки, пришлось лепить костыли с Task.Wait() 🙂
А ещё ВК возвращает mp3 без ID3-тегов, поэтому мне пришлось вручную их дописывать, дабы музыка в плеере удобно сортировалась:
Utils.ID3Tag.Fill(desc.artist, desc.title, "Неизвестен").CopyTo(buffer, (int)response.ContentLength);
Кроме того, дабы иметь возможность управлять музыкой из других приложений и экрана блокировки, Microsoft предоставляет т.н интерфейс SMTC — общий оверлей окна регулировки громкости, который позволяет управлять воспроизведением музыки. Его реализация простая до жути — просто включаем нужные кнопки (IsPlayEnabled, IsPauseEnabled и.т.п), добавляем обработчик события нажатия кнопки и обновляем информацию и обложку с помощью DisplayUpdater.






