Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Платформа Silverlight для разработки мобильных приложений для Windows Phone 7

3,094 views

Published on

From Windows Phone 7 Workshop at Moscow (27.09.2010)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Платформа Silverlight для разработки мобильных приложений для Windows Phone 7

  1. 1. Платформа Silverlight для разработки мобильныхприложений<br />Сергей Звездин<br />Microsoft Regional Director<br />http://zwezdin.com/<br />http://twitter.com/sergun<br />sergey@zwezdin.com<br />
  2. 2. О чем будем говорить<br />2<br />Общие сведения<br />Пользовательский интерфейс<br />Сенсоры<br />Определение местоположения<br />Уведомления<br />….и много демонстраций!<br />
  3. 3. Платформа Windows Phone 7<br />Единая аппаратная платформа<br />CPU/GPU<br />RAM<br />Разрешение экрана<br />Пальцевый ввод<br />Разработка приложений<br />Silverlight<br />XNA<br />3<br />Платформа Windows Phone 7<br />800 или 480<br />480 или 320<br />
  4. 4. Windows Phone 7 Framework<br />4<br />Windows Phone Frameworks<br />Camera<br />Device Integration<br />Launchers & Choosers<br />Windows Phone Controls<br />PhoneApplicationPage<br />PushNotification<br />WebBrowserControl<br />Sensors<br />PhoneApplicationFrame<br />Silverlight Presentation and Media<br />XNA Frameworks for Games<br />Controls<br />Drawing<br />IsolatedStorage<br />Drawing<br />GamerServices<br />Navigation<br />Shapes<br />Markup<br />Media<br />Audio<br />Media<br />Graphics<br />Content<br />Input<br />Application Object<br />Common Base Class Library<br />Diagnostics<br />Reflection<br />IO<br />Runtime<br />Resources<br />Globalization<br />Text<br />Location<br />Net<br />Collections<br />ComponentModel<br />Configuration<br />Security<br />Threading<br />ServiceModel<br />Linq<br />Платформа Windows Phone 7<br />
  5. 5. Жизненный цикл приложения<br />Tombstoning<br />Происходит когда приложение теряет фокус<br />Возможные причины:<br />кнопка «Назад», кнопка «Старт», клик на Toast-уведомление, запуск системных диалогов, телефонный звонок<br />Обработчики событий вApp.xaml.cs<br />События<br />Application_Launching, Application_Activated, Application_Deactivated, Application_Closing<br />5<br />Платформа Windows Phone 7<br />
  6. 6. Пользовательский интерфейс<br />6<br />Direct3D поверхность<br />Страница приложения<br />Стартовый экран<br />System Tray<br />Уведомления<br />SIP<br />Входящие звонки<br />App Bar<br />Пользовательский интерфейс<br />
  7. 7. Страницы приложения<br />Frame<br />Контейнер элементов приложения<br />Содержит страницы и системные элементы (system tray + application bar)<br />Класс PhoneApplicationFrame<br />Page<br />Заполняет содержимое страницы<br />Отслеживает ориентацию<br />Отслеживает события навигации<br />Наследник класса PhoneApplicationPage<br />7<br />Frame<br />Page<br />Содержимое страницы<br />Пользовательский интерфейс<br />
  8. 8. Модель UI<br />8<br />Мобильное приложение<br />Отображает UI страниц приложения при обращении к страницам через URI<br />Web-приложение<br />Отображает содержимое, используя протокол HTTP, которое адресуется через URL<br />Shell frame<br />Обращение к страницам, генерация UI и обработка событий навигации<br />Web browser<br />Обращение к HTTP-ресурсам, генерация их и обработка событий навигации<br />Сессии и стеки возврата<br />Группировка последовательностей обращений к страницам для пользователя<br />История и вкладки<br />Группировка обращений к HTTP-ресурсам<br />Пользовательский интерфейс<br />
  9. 9. Навигация<br />Вперед<br />NavigationService.Navigate(new Uri(“/MyPage.xaml”,uriKind.RelativeOrAbsolute));<br />Назад<br />NavigationService.GoBack();<br />Обработка нажатия на кнопку «Назад»<br />OnBackKeyPress<br />9<br />Пользовательский интерфейс<br />
  10. 10. Состояния страницы<br />10<br />Пользовательский интерфейс<br />Визуальное отображение страницы<br />Сохраняется в приложении для возможности восстановления<br />Удаляется когда сессия приостанавливается<br />Состояние<br />Данные, описываемые состояние страницы (куки в браузере)<br />Пользовательский интерфейс<br />
  11. 11. Пользовательский интерфейс и навигация<br />
  12. 12. Элементы управления<br />Богатый набор элементов управления<br />Аналогичные элементам управления для настольных приложений<br />Дополнительные возможности для мобильных элементов управления<br />SIP<br />12<br />Элементы управления<br />
  13. 13. Элементы управления<br />Border<br />Button<br />Canvas<br />CheckBox<br />Grid<br />HyperlinkButton<br />Image<br />ListBox<br />MediaElement<br />Messagebox<br />ProgressBar<br />RadioButton<br />ScrollViewer<br />TextBlock<br />TextBox<br />WebBrowser<br />ToolKitControls(WrapPanel)<br />13<br />Элементы управления<br />
  14. 14. Ввод информации<br />Mouse events<br />Уже реализованы для вас<br />Элементы SIP иWebBrowserуже поддерживают жесты<br />ScrollViewer<br />Как в Silverlight<br />Жесты FLICK иPAN бесплатно!<br />Raw<br />Touch.FrameRendered<br />14<br />Ввод информации<br />
  15. 15. SIP<br />Стандартные раскладки виртуальной клавиатуры для разных ситуаций<br />15<br />Ввод информации<br />
  16. 16. Жесты<br />Обработка<br />На системном уровне (WM_GESTURE). <br />Tap, Double Tap, Pan, Flick, Touch and Hold *<br />Multi-Touch<br />Pinch, Stretch<br />Манипуляции<br />Все наследникиUIElementsимеют события<br />ManipulationStarted, ManipulationData,ManipulationCompleted<br />16<br />Ввод информации<br />
  17. 17.
  18. 18. Элементы управления<br />
  19. 19. Сенсоры<br />19<br />+Y<br />Акселерометр<br />-Z<br />-X<br />+X<br />+Z<br />-Y<br />Ввод информации<br />
  20. 20. Местоположение<br />20<br />Местоположение<br />GPS<br />+Точность<br />-Энергопотребление<br />-Скорость<br />-Точность<br />+Энергопотребление<br />+Скорость<br />WiFi<br />+/-Точность<br />+/-Энергопотребление<br />+/-Скорость<br />СетьGSM<br />
  21. 21. Определение местоположения<br />
  22. 22. Application Bar<br />Toolbar<br />Не более 4 значков<br />Можно задать уровень прозрачности<br />Меню позволяет определить больше позиций<br />Можно определить в декларативно в XAML или в коде<br />Значки<br />Размер – 48x48 пикс.<br />Прозрачный фон<br />Автоматически добавляется обводка<br />22<br />Application Bar<br />
  23. 23. Launchers & Choosers<br />Launcher<br />Запускает одно из встроенных приложений, позволяющее выполнить пользователю определенную задачу<br />Пользователю не возвращается никаких данных<br />Пример: PhoneCallTask<br />Chooser<br />Запускает одно из встроенных приложений, позволяющее выполнить пользователю определенную задачу и возвращающее пользователю необходимые данные<br />После завершения задачи полученные данные возвращаются пользователю<br />Пример: PhotoChooserTask<br />23<br />Launchers<br />
  24. 24. Launchers & Choosers<br />Launchers<br />EmailComposeTask<br />MarketplaceDetailTask<br />MarketplaceHubTask<br />MarketplaceReviewTask<br />MarketplaceSearchTask<br />MediaPlayerLauncher<br />PhoneCallTask<br />SearchTask<br />SMSComposeTask<br />WebBrowserTask<br />Choosers<br />CameraCaptureTask<br />EmailAddressChooserTask<br />PhoneNumberChooserTask<br />PhotoChooserTask<br />SaveEmailAddressTask<br />SavePhoneNumberTask<br />24<br />Launchers<br />
  25. 25. Launchers<br />
  26. 26. Хранение информации<br />Isolated Storage<br />Аналогичный механизм – в Silverlight<br />Настройки и данные<br />Данные защищены и изолированы<br />API предоставляет доступ к файлам и папкам<br />Ограничений на размер нет<br />Windows Azure<br />Может использоваться для хранения данных в облаке<br />Простой доступ из Windows Phone 7<br />26<br />Хранение информации<br />
  27. 27. Хранение информации<br />
  28. 28. Push Notifications<br />28<br />Уведомления<br />Push-клиент<br />Tile<br />Toast<br />Открытие канала<br />Данные (app)<br />URI для взаимодействия<br />Данные (toast)<br />Данные(tile)<br />App<br />Отправка URI на сервер<br />Отправка данных клиенту<br />Push-сервис<br />Ваш сервис<br />!<br />Отправка push-данныхиспользуя URI<br />
  29. 29. Push Notifications<br />29<br />Уведомления<br />14<br />15<br />New photos online!<br />Seattle, WA: Sunny and 85 degrees<br />
  30. 30. Push Notifications<br />
  31. 31. Итоги<br />Обзор платформы Windows Phone 7<br />Жизненный цикл приложения и модель UI<br />Навигация, элементы управления<br />Ввод информации, жесты, сенсоры<br />Определение местоположения<br />Application Bar, launchers, choosers<br />Push Notifications, WebBrowser, scripting<br />Ссылки<br />Портал для разработчиковhttp://developer.windowsphone.com/<br />Ресурсы для разработчиковhttp://go.microsoft.com/?linkid=9670344<br />Windows Phone 7 JumpStarthttp://r.ch9.ms/WP7MSL1USBL/<br />Windows Phone 7 Developer Training Kithttp://channel9.msdn.com/learn/courses/WP7TrainingKit/<br />Silverlight for Windows Phone Toolkithttp://silverlight.codeplex.com<br />31<br />Платформа Silverlight для разработки мобильныхприложений<br />
  32. 32. Вопросы<br />?<br />
  33. 33. Спасибо за внимание!<br />Сергей Звездин<br />Microsoft Regional Director<br />http://zwezdin.com/<br />http://twitter.com/sergun<br />sergey@zwezdin.com<br />

×