Надіслане 23-03-2011 11:57 від Polhovskiy | 0 коментарів  
Зареєстрований як , , , , ,

Следим за ошибками в WP7 приложениях

Представьте себе, приложения на WP7, иногда падают. Да-да-да, ваши супер-пупер приложения могут падать. Нереально оттестировать все случаи, именно потому и существуют логи. Но представьте себе, вести лог на компьютере и вести лог на мобильном устройстве, на котором скорость чтения/записи меньше, место для хранения - ограниченно. Вот почему нам необходимо отслеживать ошибки и ловить их в тот момент, когда они случаются. На WP7, когда возникает необработанное исключение, оно гасится операционной системой, потому разработчики всегда видят просто закрывающееся приложение. Согласитесь, всегда хотелось бы иметь информацию о том, что произошло, когда возникла ошибка? Во время тестирования приложения - не возникает проблем. А вот когда вы выкатываете его пользователям, начинаются ужасы :)

Давайте рассмотрим способ оповещения разработчиков об ошибках. Сначала реализуем способ, который оповещает об ошибках сразу по возникновению, потом тот, который отправляет отчеты после перезапуска.

Отчет сразу


Главное, что необходимо понимать, так это то, что вам будет необходимо взаимодействовать с пользователями. Многие из них не будут отправлять отчеты, и это уже ваше дело, предлагать им отправить их или заставлять их это сделать. Теперь, когда мы это поняли, необходимо сделать так, что бы наш код работал только в релизе и только на устройстве. Реализовав это, после нескольких версий приложений, начинаешь путаться в том, исправили этот баг или нет, потому и докрутили распознавание версии, и добавление ее к письму. Ну, и естественно, все это оборачивается в отправку письма на специальный адрес

[Читать дальше]
Надіслане 17-03-2011 01:01 від Polhovskiy | 0 коментарів  
Зареєстрований як , , , ,

Веб разработчикам. Правильный вывод сайтов на Windows Phone 7

Об этом мало говорят, но все же. Сегодня мы поговорим с вами о веб разработчиках, в частности о тех, которые разрабатывают сайты, которые будут доступны на Windows Phone 7 устройствах. Мы начнем с тем, которые связаны с IE7, а немного позже перейдем и к IE9.

Использование мобильного браузера для выхода в интернет становится все популярнее. Подумайте, разве вы хоть раз не выходили в интернет с мобильного телефона?

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



В Windows Phone 7 разделена область отображения сайтов от окна браузера. Область отображения не зависит от окна браузера и разрешения экрана. Окно браузера всего лишь отображает видимую часть сайта и это все связанно с техническими характеристиками устройства и приложения. Для более детального изучения, советую почитать этот пост.

Управляем окном просмотра


На Windows Phone 7, все веб сайты по умолчанию получают окно просмотра 1024 пикселя. Перед тем как отрендерить контент, браузер выставляет такой зум, что бы область отображения вписалась в ширину окна. В итоге мы видим мини сайт из далека при первой загрузке.

[Читать далее...]

Немного о рисовании. Часть первая – Фигуры и линии, манипуляции с объектами.

В последнее время, обращаю внимание на, то что много где спрашивают, как же рисовать пальцем на Windows Phone 7, как приделать возможность передвигать объекты, как их масштабировать и поворачивать? Причем это делают как разработчики, так и пользователи. Хочу начать небольшой цикл, в котором мы обсудим, как делать все эти вещи на Silverlight на Windows Phone 7.

Итак, сегодня вводная статья, в которой мы покроем из чего же можно строить рисунки.

Как и в обычном Silverlight, у нас есть доступ к множеству объектов, которое можно нарисовать.  Вот список, со ссылкой на документацию по каждому:
Названия говорят сами за себя, так что думаю, что нет необходимости переводить. Самое важное, что следует помнить, так это то, что к каждому из этих элементов мы можем цепляться на события, тем самым осуществлять перемещение объектов, изменение их размера и т.п.
У всех этих фигур есть общие свойства:
  • Stroke - объект Brush, определяющий способ рисования контура объекта.
  • StrokeThickness - толщина контура.
  • Fill - объект Brush, определяющий способ закрашивания внутренней части фигуры.

Обычно мы располагаем наши фигуры внутри контейнеров, например Grid или Canvas. Для рисования лучше всего использовать Canvas, так как тут мы имеем поддержку абсолютного позиционирования. Все дети контейнера Canvas могут быть расположены с помощью свойств Canvas.Left и Canvas.Top.

Давайте рассмотрим небольшой пример

Так наша вводная статья перетекла в первую, или о том, как можно прицепить передвижение, масштабирование и т.п. к динамически созданным объектам. Вся прелесть примеров обычно состоит в том, что нигде невозможно найти именно того, что нужно. Практически все, что я находил, показывало, как создать фигуры в XAML. Сейчас я покажу как добавить на Canvas квадратик, который будет уметь расширяться и уменьшаться с помощью MultiTouch. Для этого подключим Microsoft.Phone.Controls.GestureService о котором я немного говорил тут.

Итак, для начала нам нужен Canvas, на котором мы будем располагать объекты.

[Читать далее...]
Надіслане 08-03-2011 09:43 від Polhovskiy | 0 коментарів  
Зареєстрований як , , ,

GPS и как его обмануть в режиме отладки

Всем привет!

Во всех Windows Phone устройства есть встроенная система глобального позиционирования (GPS). GPS используется многими приложениями, такими как Карты, Камера и поиск (для предоставления результатов, которые зависят от места поиска). Разработчики могут использовать данные с GPS, используя пространство имен System.Device.Location, которое поддерживается в .NET версии 4 и выше. Класс GeoCoordinateWatcher представляет нам местоположение, основанное на координатах Долготы и Широты. Работа с GeoCoordinateWatcher относительно простая. Немного дальше мы обсудим, как с ним работать и как тестировать ваши приложения на Windows Phone 7. Но в вашем приложении, не всему е необходимо статическое положение на карте? Иногда необходимо и отслеживать передвижение, что бы определить поведение приложения в зависимости от положения.

В этом случае людям может показаться странным тот факт, что вы ходите (или ездите) с устройством, прицепленным к ноутбуку и на ходу пытаетесь отладить свое приложение. Неудобно, еще и опасно.

Но не переживайте, как всегда, о нас позаботились. Windows Phone GPS Emulator (небольшое WPF приложение) и одна библиотека для WP7 позволят вам отлаживать приложение на эмуляторе или реальном устройстве, не покидая рабочего места. А как только вы завершите этап отладки и тестирования, вам будет необходимо всего лишь изменить одну строку кода для того, что бы получать реальные данные.

С помощью GPS Emulator вы можете установить свое местоположение где угодно на Земном шаре :) А теперь добавьте к этому возможность добавления маршрутов и удобный интерфейс... Ну и конечно же эмуляция движения по маршруту!  Что входит:
  • Приложение GPS Emulator для Windows (WPF)
  • Клиентская библиотека для Windows Phone 7
  • Пример приложения для Windows Phone
  • Большое приложение, которое использует карты Bing (сложный пример)

Используя GPS Emulator вы можете создавать сложные маршруты, по которым вы потом будете "ехать" или "идти".  Телефон получит координаты, даже не подозревая, что его обманули :)

Использование GPS Emulator в вашем Windows Phone приложении



Когда я решился все же добавить GPS в свое приложение, я добавил Эмулятор. И долго не мог понять, почему же не работает на девайсе? Все потому, что я удалил лишние Capabilities из WMAppManifest. Удостоверьтесь, что в нем есть
Capability Name="ID_CAP_LOCATION" Capability Name="ID_CAP_SENSORS"

Теперь давайте разберемся, как же GPS Emulator помогает вам отладить ваше приложение?



После того как вы загрузите Windows Phone GPS Emulator, в проекте вы найдете сборку которая называется GPSEmulatorClient. В этой библиотеке есть класс, который называется GeoCoordinateWatcher, собственно, так же называется, как и класс System.Device.Location.GeoCoordinateWatcher, просто они лежат в разных пространствах имен. Поддельный класс GeoCoordinateWatcher реализует интерфейс IGeoPositionWatcher, который реализует и настоящий класс. Потому, можно сказать что GPSEmulatorClient.GeoCoorinateWatcher реализует тоже API, что и настоящий System.Device.Location.GeoCoordinateWatcher. Что получается в итоге? Мы можем работать с поддельным классом вместо настоящего, всего лишь выполнив несколько простых условий: необходимо добавить ссылку на сборку GpsEmulatorClient и написать using GpsEmulatorClient; в своем классе.

[GЧитать дальше...]

«Потряси меня» – Windows Phone 7

Несмотря на название поста, я сегодня расскажу вам о серьезных вещах. Сейчас мы поговорим о том, как работать с акселерометром, и что есть в помощь разработчику.

На текущий момент есть сего несколько приложений, которые очень популярны и при этом используют акселерометр для ввода каких-то данных от пользователя. Как правило, акселерометр используется играх, таких как симуляторы самолетиков и гоночки, так же я встречал и магический шар, который надо трясти для получения ответов. Так же есть большое количество идей, ну например казино, игровые автоматы или рулетка, где вам необходимо будет тянуть или вращать... Вроде все просто и понятно: зафиксировал движение и добавил логику при определенном движении.

В Windows Phone есть очень хорошая поддержка акселерометра и API достаточно прост для использования. Есть даже готовые примеры от Microsoft с использованием акселерометра. Вот ссылка на C# и VB. Но это все хорошо, только для получения необработанных данных. и если вы захотите что-то типа распознавания каких-то особых "трясений" (представляю себе танец с бубном =D), вам придется все это сделать с нуля вручную.

Что же, если это вам необходимо, то сегодня ваш день!  Сегодня мы узнаем, как использовать Windows Phone Shake Gesture Library, которая использует акселерометр для определения "встряхивания" в трехмерном пространстве (т.е. по осям  – X, Y, и Z).

Давайте определим "встряхивание". Для начала, назовем это Shake, и shake - это продолжительно движение в трехмерном пространстве, при котором направление движения меняется несколько раз (представьте себе, как бармен мешает коктейль). Итак, представьте, что трясете телефон по вертикальной оси, для этого вы двигаете телефон вверх - вниз несколько раз, непрерывно. Для того, что бы определить жест, мы смотрим на следующее:
  • Так как движение продолжительное, мы встряхиваем телефон движением вверх-вниз непрерывно, потому у нас нет периодов, когда телефон перестает двигаться.
  • Движение вверх-вниз достаточно выразительное, потому оно является достаточно мощным, что бы мы могли зафиксировать встряхивание.
  • Присутствует несколько смен направления движения.

Для примера, посмотрим на изображение ниже (это визуализация полученных данных с акселерометра). Зеленая линия (ось Z) представляет собой непрерывное потряхивание, где мы видим четкую смену направления движения с четырьмя различными пиками(два с положительным значением ~1, и два с отрицательным ~(-1)). ShakeGestureLibrary распознает это как правильный жест и вызывает соответствующее событие.

Следует обратить внимание на то, что ShakeGestureLibrary работает в режиме реального времени. Вы увидите событие как только библиотека распознает жест. Алгоритм, который используется в ней не требует больших затрат CPU и памяти (по заявлению разработчиков), потому все и работает в настоящем времени.

Теперь короткое объяснение, как использовать библиотеку.

[Читать дальше...]
Надіслане 22-02-2011 10:37 від Polhovskiy | 0 коментарів  
Зареєстрований як , ,

Обновление Windows Phone 7. Проблемы с Samsung

Итак, вчера многие владельцы Windows Phone 7, неожиданно обнаружили обновления для своих устройств. Я, как и многие другие, сразу попытался обновить свой телефон, с паникой думая: "Ну, наконец!". Оказалось, что это обновление - пустышка и выкатывается для того, что бы разработчики могли в следующий раз лучше выкатить обновления. Мало того, что нас постигло разочарование, так у Microsoft, еще и возникли проблемы с Samsung. Владельцам девайсов этой фирмы, не рекомендуется обновлять свои устройства.

Проблема возникает на шестом шаге, когда устройство перезагружается после обновления. Но вместо правильной загрузки, Zune выбрасывает такое сообщение:
RESTORATION ERROR

An error prevented the restoration of your phone to its previous version.

Your phone can’t be used in its present condition and there are no restore points for it on this computer. The phone might restart and return to normal if you disconnect it. For further assistance, contact your mobile operator.

ERROR CODE
C101002E

Которое говорит нам о том, что обновление прошло не правильно и телефон не может работать. Все может пройти при отключении. Немного прошерстив твиттер и интернет, я нашел, что некоторые пользователи при следующем включении получают сообщение "Connect phone to PC" и девайс не инициализируется. Hard reset не помогает. Картина достаточно смешанная, так как небольшое число пользователей отмечают, что девайс грузится некорректно. Еще часть пользователей отмечает что проблемы возникают при резервном копировании. Тем не менее, остаются владельцы девайсов, которые получили "Кирпич" после обновления.

Единственным официальным ответом был ответ от Windows Phone Support на твиттере(@WinPhoneSupport), где они сообщают нам о том, что надо "не дергаться" или отнести девайсы обратно в магазин.

[Обновление: Microsoft отмечает, что они в курсе проблемы и сейчас идет разбор отчетов.]

Надеюсь, что они смогут решить все проблемы с обновлением, ожидаем дальнейших новостей

[Оригинал: Обновление Windows Phone 7. Проблемы с Samsung]
Надіслане 21-02-2011 11:38 від Polhovskiy | 0 коментарів  
Зареєстрований як , ,

Windows Phone 7 Push Notification. Модель и действительность

С ростом количества разработчиков для платформы, растет и интерес к Push Notification. Это естественно, так как с помощь этой чудесной штуки мы можем уведомлять пользователя обо всех изменениях. Но так ли все прекрасно, как нам рисуют?

Во первых, при использовании Push Notification в Windows Phone 7, Microsoft предупреждает нас о том, что бы мы не отправляли таким способом никакие данные, от которых зависит какая-то временнáя активность. Потому что они не гарантируют своевременность доставки сообщений.

Это подтверждается личным опытом. При разработке приложений, как правило, все тестирование ведется на компьютере. Даже при тестировании на девайсе, часто не отключают его от компьютера. Потому сообщения приходят достаточно быстро. Но при реальном использовании, пользователи часто жалуются на задержку прихода сообщений, даже при использовании wi-fi.

Разработчикам следует задуматься о том, как же узнавать о том, пришло ли его уведомление пользователю? Я видел достаточно много обсуждений и различных решений. Сейчас мы соберем их все в одном месте:

Итак, есть различные статусы ("OK/Received/Connected/Active" и "OK/Received/Temporarily Disconnected/Active") получения сообщений. Обсудим некоторые моменты.

Статус "OK/Received/Connected/Active" обычно говорит нам о том, что все нормально работает, но вам следует помнить о следующих пунктах:
  • Этот статус не значит, что пользователь получил уведомление. Он только сообщает о том, что сервер получил уведомление и поставил его в очередь на отправку при следующей возможности.
  • Сервер может вернуть это состояние, даже если устройство находится в режиме недоступности. Этот означает, что уведомление будет отправлено как только устройство станет доступным.
  • Помните о различных интервалах для нотификации. Ваше приложение получит нотификацию, только через определенный интервал.


Статус "OK/Received/Temporarily Disconnected/Active" может возникнуть из-за ряда причин, включая...

[Читать далее]
Надіслане 21-02-2011 10:32 від Polhovskiy | 0 коментарів  
Зареєстрований як , , ,

Обновление Windows Phone 7!

Буквально сегодня вечером общались с коллегами про даты обновления, пока доехал домой все выкатилось :)

Итак, представляю вам долгожданный Update для Windows Phone 7!

Для того что бы произвести обновление, нам понадобятся Zune и девайс. У меня апдейт занял около 15 минут.

Начнем...

Подключаем телефон, жмем Settings и переходим на вкладку Phone. Видим ссылку Update, жмем и видим новый апдейт:



Если вам повезло попасть в группу первых в очереди на апдейт, то вам просто надо нажать Update. Большую часть времени занимает бекап данных. Как по мне, так это хорошее вложение времени.



После бекапа, весь процесс переходит на телефон, при этом прогресс бар информирует вас о состоянии апдейта. После апдейта, телефон автоматом перезагружается. Gосле этого, ваш ПК найдет девайс и скажет о том, что обновление произошло. При возникновении проблем с обновлением, вы можете попытаться решить их самостоятельно.



Так что теперь ожидайте полного обзора изменений на моем блоге к завтрашнему утру.
[Оригинал поста]
Надіслане 19-02-2011 10:52 від Polhovskiy | 0 коментарів  
Зареєстрований як , ,

Февральское обновление Windows Phone Toolkit

Februrary 2011 Toolkit Release

16 Февраля обновился Silverlight for Windows Phone Toolkit. Добавлено несколько новых конторолов, которые разработчикам приходилось раньше добавлять вручную, эти контролы включают Tilt эффект, и прогресс бар.
Загружайте новый Silverlight for Windows Phone Toolkit тут. Сразу обновите Windows Phone Developer Tools до январской версии.

Что нового?

Tilt эффект


Наконец-то интегрировали Tilt эффект! Теперь его можно включить отдельно для каждого контрола или для всего проекта. Все ваши кнопочки и элементы которые нажимаются, будут теперь иметь эффект надавливания. Раньше для этого приходилось добавлять отдельный класс в проект. Для тех, у кого это сделано, необходимо указать правильную ссылку на TiltEffect в проекте и все будет снова работать.

[Читать далее]

Windows Phone 7. Советы разработчикам. #9 - Облегчите себе жизнь. Используйте обычные контролы, но используйте их правильно!

Добрый вечер, Сегодня мы поговорим о девятом совете из цикла советы разработчикам на WP7. И совет этот состоит в том, что вам следует не усложнять себе жизнь и пользоваться стандартными контролами. Взаимодействие пользователя с приложением на мобильном устройстве происходит путем множества жестов пальцами. Листание, нажатие, повороты, увеличение… Все это, ну или почти все (тапы и нажатия точно), требуется для успешной работы пользователя с приложением. Все стандартные контролы по умолчанию поддерживают же... [Читать дальше]
Надіслане 10-02-2011 10:34 від Polhovskiy | 1 коментарів  
Зареєстрований як , , ,

Примеры приложений для Windows Phone 7 от Microsoft

Привет всем,

Как выясняется, одна из наиболее посещаемых страниц в документации Windows Phone 7 - это страница примеров. На этой странице можно найти различные примеры кода, которое демонстрируют огромную кучу возможностей Windows Phone. Самое главное - обратите внимание на киты для начинающих(Starter Kits). Это полнофункциональные приложения, которые вы можете найти на Marketplace. Исходный код этих приложений доступен для загрузки. Для каждого пакета существует тема в документации, в которой подчеркиваются основные моменты и интересные места.

На данный момент доступно 3 Кита:

Translator Starter Kit

Translator Start Kit скрин

Как вы уже догадались, это приложение позволяет ввести фразу на одном языке и получить ее на другом. Кит показывает как вызывать веб сервис, использовать XNA в Silverlight, проигрывать звук, работать с историей с помощью Isolated Storage и анимировать изображения в ToggleButton.

Тема

Скачать Translator Starter Kit

Translator App в Marketplace

Level Starter Kit


Level Starter Kit скрин

Это приложение позволяет вам побыть строителем ;-) Кит демонстрирует как работать с темами, акселерометром, и работать с ориентацией в пространстве.

Тема

Скачать Level Starter Kit

Level App в Marketplace

Unit Converter Starter Kit


Unit Converter Starter Kit скрин

Это приложение позволяет вам переводить из одних единиц измерения в другие. Кит демонстрирует как применять MVVM, как оптимизировать скорость запуска и создавать контекстно-зависимые меню.

Тема

Скачать Unit Converter Starter Kit

Unit Converter App в Marketplace

Изучайте, стройте, удачи :)

[Оригинал поста тут.]
Надіслане 09-02-2011 11:12 від Polhovskiy | 1 коментарів  
Зареєстрований як , , , ,

Windows Phone 7. Когда одного эмулятора мало, или "сага о двух эмуляторах"

Привет всем!

Достаточно часто мы пишем приложения, которые будут взаимодействовать между собой, например игра для двух и более пользователей. В процессе всегда возникает необходимость тестирования приложения. Хорошо если у вас есть кого попросить запустить проект в студии и протестировать. Сегодня я расскажу вам, как сделать так, что бы можно было открыть несколько эмуляторов одновременно.

Итак, в итоге у нас будет:



И еще это:



Пошаговая инструкция:

Предупреждение: Следующая инструкция не гарантирует ничего, Microsoft не поддерживает ее. Продолжайте на свой страх и риск.
  1. Откройте в проводнике [Буква вашего диска]:\ProgramData\Microsoft\Phone Tools\CoreCon\10.0\addons
  2. Найдите файл ImageConfig.en-US.xsl
  3. Скопируйте его в ту же директорию и переименуйте во что-то типа "ImageConfig.en-US-2nd-Instance.xsl"
  4. Откройте копию с помощью любого текстового редактора
  5. Найдите элемент DEVICE
  6. Поменяйте Name и ID, для ID используйте GUID, придумайте его сами или воспользуйтесь онлайн генератором GUID (Убедитесь, что в guid все буквы большие)
  7. Теперь найдите в тексте VMID, и вставьте туда еще один GUID
  8. Сохраните файл
  9. Теперь закройте и снова откройте студию и все :)



Отладка


Для того что бы нормально отладить приложения, вам необходимо:

  1. Запустить первую студию, запустить в ней проект на втором эмуляторе.
  2. Теперь открывайте еще одну студию.
  3. Выбирайте первый эмулятор, правой кнопкой по проекту -> Debug -> Start New Instance

Отлаживайте и тестируйте свои приложения с удовольствием!



[Оригинал статьи]
Надіслане 07-02-2011 11:20 від Polhovskiy | 1 коментарів  
Зареєстрований як , , , , , ,

Windows Phone 7 для разработчиков. Совет #8. Понимание Pivot и Panorama

Привет всем!

Это восьмой совет в цикле 10 советов разработчику. Сегодня мы поговорим о Пивоте и Панораме.

Панорама и Пивот - два очень значимых компонента в платформе Windows Phone 7. С их помощью можно создавать интерфейсы, которые будут вдохновлять и удивлять пользователя снова и снова. С первого взгляда вам может показаться, что они оба служат какой-то одной цели. Вам это только кажется.

Обычные приложения влезают в определенные рамки, я имею ввиду размер экрана. Мы можем построить приложение, которое будет выходить за рамки! Панорама или Пивот предоставляют нам уникальную возможность: построить наше приложение на удлиненном экране. Вот, пожалуй и все сходства между ними. Понимание разницы между ними поможет вам строить правильные приложения.

Панорама...

Панорама пробуждает интерес. Она представляет нам контент который привлекает внимание пользователя. Типичный случай использования - когда вам необходимо собрать информацию из различных источников в одном месте. Словно обложка журнала, панорама позволяет пользователю просматривать интересующий его контент и играет роль отправной точки для начала работы с этим контентом. Вам не следует управлять приложением из панорамы, сделайте ее отправной точкой для дальнейшей навигации по приложению. Представьте себе приложение "Поваренная Книга". На панораме можно собрать такие элементы как "Рецепт дня", "Что готовят мои друзья", "Магазины с товарами не далеко от меня" или другой важный контент. Пошаговый рецепт, заметки и связь с друзьями должны быть доступны с панорамы, но эти задачи не следует размещать там. Для этого нужны пивоты.



Пивот...

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

В нашей "Поваренной Книге" мы используем Пивот для навигации к таким разделам как Рецепты, Избранное, что готовят друзья.



Несколько рекомендаций

Как бы само описание использования панорамы не подразумевает использование Пивота внутри панорамы. Но наблюдая за приложениями и многими разработчиками, я вижу, что все пытаются засунуть пивот в панораму или наоборот. Это очень грустно, получается совсем не так классно, как в мозгах у дизайнеров и разработчиков. А пользователи просто хватаются за голову в ужасе.

В отличие от табов, которые всегда видны на экране, названия элементов пивота прячутся при выпадении из видимой области...

[Читать дальше]
Надіслане 31-01-2011 10:05 від Polhovskiy | 0 коментарів  
Зареєстрований як , ,

Предположительная дата обновления Windows Phone 7

Добрый вечер,

В интернете прошел слух о том, что обновление, которое все ждут, может появиться в Понедельник, 7 Февраля. Кодовое имя обновления "nodo"(no donuts). Это обновление обещает принести функциональность copy/paste и некоторые улучшения производительности.

Хочу напомнить, что предположительно, не будет никакого API для copy/paste. Эта функциональность будет встроена в TextBox (надеюсь, я и многие другие ошибаемся)

Дата 7 Февраля выбрана случайно, ну, относительно случайно. Зная. что скоро произойдет обновление, предполагается что его выкатят за неделю до Mobile World Congress, где доклад Стива Балмера, запланирован на 4 часа вечера, 14 Февраля (Время по Барселоне). Неделя - достаточный срок, что бы разобраться со всеми возможными проблемами при обновлении.

Если быть откровенным, то я не считаю copy/paste функционалом первой необходимости. Больше интересует производительность и бекап данных. И кто знает, может Microsoft нас приятно удивит несколькими сюрпризами :)
[Предположительная дата обновления Windows Phone 7]
Надіслане 30-01-2011 11:04 від Polhovskiy | 0 коментарів  
Зареєстрований як , , ,

Понятие Push Notification для Windows Phone 7. Часть 2 — Как это работает

Мой прошлый пост рассказал вам о том, зачем необходимы Push Notifications(PN).

Мы поняли, зачем это необходимо, теперь поговорим о том, КАК это работает.

В работе PN участвуют 3 игрока:
  • Облачный сервис или веб приложение, которое общается с вашим Windows Phone 7 приложением. Для примера представьте Сайт ВКонтакте и приложения для работы с ним.
  • Собственно устройство, но не ваше приложение, потому что если приложение запущено, то нет необходимости в PN. Но как только приложение будет выключено, PN становятся очень ценными, так как Microsoft Push Notification клиент - это сервис, который запущен на устройстве и который обеспечивает протокол клиент-сервер.
  • Ну и Microsoft Push Notification(MPN) сервис. Он отправляет сообщения в форме PN на Windows Phone устройство от имени вашего облачного сервиса. Сервис MPN разработан что бы предоставит облачным сервисам выделенный и устойчивый канал связи для того что бы общаться с телефоном.

Важно: Майкрософт не гарантирует бесперебойность доставки сообщений и потому очень не рекомендует отправлять с помощью PN какие-либо данные, связанные со здоровьем или жизнью человека.

Когда ваш сервис хочет отправить сообщение Windows Phone приложению, в то время как приложение не запущено, он должен использовать MPN, которая является сервисом Windows Azure. Сервис MPN отправит сообщение(PN) от имени облачного сервиса.

Но прежде чем облачный сервис сможет отправлять сообщения на Windows Phone устройства, ваше приложение должно отправить какой-то идентификатор, который будет использован облачным сервисом для того что бы отправлять сообщения сервису MPN. Windows Phone приложение открывает канал к MPN сервису(1). Когда приложение делает это, оно дает понять сервису, что сюда следует отправлять сообщения. Когда создается канал, создается end point на MPN серверах, что бы облачное приложение могло постить туда сообщения, и так ваши сообщения через MPN попадут на устройство через тот канал, который был создан. В ответ на открытие канала, MPN сервер возвращает приложению URI. Этот URI представляет канал, который следует использовать вашему облачному сервису и содержит всю информацию, связанную с текущей подпиской. Этот URI - это адрес, по которому ваше облачное приложение будет делать HTTP POST что бы отправить PN сообщение на устройство. Ваше приложение обязано отправит эту ссылку вашему сервису(2).



[Читать дальше]
Більше повідомлень Наступна сторінка »