marano software

39

Upload: aldona

Post on 07-Jan-2016

57 views

Category:

Documents


0 download

DESCRIPTION

Windows Mobile 6.5 - мощная платформа для создания привлекательного и функционального интерфейса в ваших мобильных приложениях. Marano Software. Microsoft RUS. Марат Бакиров. Виталий Дильмухаметов. Вопросы. Может ли Windows Mobile приложение выглядеть красиво? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Marano  Software
Page 2: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 2

Windows Mobile 6.5 - мощная платформа для создания привлекательного и функционального интерфейса в ваших мобильных приложениях

Marano SoftwareMicrosoft RUS

Марат БакировВиталий

Дильмухаметов

Page 3: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 3

Вопросы

Может ли Windows Mobile приложение выглядеть красиво?Кто из Вас имеет опыт native (C++) разработки для Windows Mobile?Кто из Вас имеет опыт разработки на .NET CF?Кто из Вас знает что такое pinvoke?.

Page 4: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 4

Содержание

Тенденции мобильных интерфейсовПолупрозрачность и градиентUI FrameworkПоддержка жестов в WM 6.5Управляемая обертка для жестовСоздание Widgets

Page 5: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 6

Вопрос

Что такое красивое приложение?

Page 6: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 7

Тенденции интерфейсов

Page 7: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 8

Тенденции интерфейсов

Page 8: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 9

Тенденции интерфейсов

Page 9: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 10

Тенденции интерфейсов

Page 10: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 11

Тенденции интерфейсов - выводы

Прозрачные изображенияПрямоугольные элементы с закругленными угламиЭлементы с градиентной заливкойФоновые изображения

Page 11: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 12

Прозрачность бывает разная

Прозрачный цветПрозрачный рендеринг изображения

Page 12: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 13

Осуществление прозрачности

Фон изображения закрашивается каким-либо цветом и обьявляется прозрачным

Поддерживается в .NET CF:

ImageAttributes attr = new ImageAttributes();

attr.SetColorKey(Color.Red, Color.Red); e.Graphics.DrawImage(bmp, destRect, 0, 0, bmp.Width, bmp.Height, GrahicsUnit.Pixel, attr)

Page 13: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 14

Осуществление прозрачности

Все изображение прозрачноеСмешивание по альфа-каналу

Поддерживаеться Windows Mobile платформой:

[DllImport("coredll.dll") extern public static Int32 AlphaBlend(IntPtr hdcDest,

               Int32 xDest, Int32 yDest, Int32 cxDest,               Int32 cyDest, IntPtr hdcSrc,  Int32 xSrc,               Int32 ySrc, Int32 cxSrc, Int32 cySrc, BlendFunction blendFunction);

Page 14: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 15

Осуществление прозрачности

Изображение содержит альфа-канал

Поддерживаеться Windows Mobile платформой через Imaging API’s COM интерфейсы:

IImagingFactory IImage

Page 15: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 16

Градиентная заливка

Создается смешиванием двух или нескольких цветов, причем один цвет плавно переходит в другой.Поддерживаеться Windows Mobile платформой:

[DllImport("coredll.dll")]

public extern static bool GradientFill( IntPtr hdc, TRIVERTEX[] pVertex, uint dwNumVertex, GRADIENT_RECT[] pMesh, uint dwNumMesh, uint dwMode);

Page 16: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 17

Как?http://code.msdn.microsoft.com/uiframework

Msdn.UIПрозрачность, градиенты, title bar

Подстройка существующего UI.DataGrid, ListView, CustomBorder.

Page 17: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 18

Виталий Дильмухаметов

Marano Software

Демонстрация

UI Framework

Page 18: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 19

Поговорим о жестах

Жесты это не только касание, но и взаимодействие.Касание пальцем не является точным:

Форма и размерРазная скорость и угол движенияМенее точное чем пером (stylus)

Page 19: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 20

WM 6.5 элементы управления и жесты

ListviewListbox (включая combo)WebviewTreeviewTab (прокрутки налево/направо чтобы поменять страницу)

Page 20: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 21

Как жесты работают в WM 6.5

Жесты!= Mouse MessagesЖесты, доставляются к окну первого касаниясообщение WM_GESTUREwParam Содержит код типа жестаlParam Содержит GESTUREINFO структуру

Page 21: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 22

Поддерживаемые типы жестов

Панорамирование (Pan)Прокрутка (Scroll) – Инерция после панорамированияВыбор (tap)Двойной выбор (Double-tap)Задержка (Hold)

Page 22: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 23

Managed WrapperGestureRecognizer

Добавляется к System.Windows.Forms.ControlРаботает чере P/InvokeИспользует сообщения WM_GESTUREПредоставляет управляемые (.NET) события

var g = new GestureRecognizer();g.TargetControl = panel1;g.Select += (sender, GestureEventArgs e) => …g.DoubleSelect += (sender, GestureEventArgs e) => …g.Hold += (sender, GestureEventArgs e) => …g.Pan += (sender, GestureEventArgs e) => …g.Scroll += (sender, GestureScrollEventArgs e) => …

Page 23: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 24

Physics Engine

Обеспечивает “естественное” ощущение во время прокрутки.Продолжает прокрутку и уменьшает скорость в зависимости от начального ускорения.Обеспечивает эффект растянутой резины.Также обеспечивает допустимую остановку основаную на размере елемента.

Page 24: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 26

Managed WrapperPhysicsEngine

Использует PhsyicsEngine API через P/InvokeПредоставляет управляемое событие AnimateFrame

var p = new PhysicsEngine();p.ExtentControl = pictureBox1;p.ViewportControl = panel1;…g.Scroll += (sender, GestureScrollEventArgs e){ p.Stop(); p.Angle = e.Angle; p.Velocity = e.Velocity; p.Start(); // or p.Start(e.Angle, e.Velocity);};

Page 25: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 27

Автоматические жесты (WAG)

Автоматизирует сценарии использования жестов.Поддерживается любым окном со стилем WS_VSCROLL или WS_HSCROLLПоддерживает отправку WM_VSCROLL/WM_HSCROLL сообщений или анимации

Page 26: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 28

Managed WrapperAutoGestureContext

Работает через WAGI API и P/InvokeУправляемое событие Status и OwnerAnimate

var wag = AutoGestureContext.GetContext(panel1);wag.IsOwnerAnimated = true;wag.HorizontalExtent = 10; // percentwag.OwnerAnimate += (sender, AutoGestureAnimateEventArgs e){ pictureBox1.Location = e.Location;};wag.Status += (sender, AutoGestureStatusEventArgs e){ label1.Text = e.Status.ToString() + “ “ + e.ExtraStatus.ToString();};

Page 27: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 29

Марат Бакиров

Microsoft Rus.

Демонстрация

Gesture Framework

Page 28: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 30

Что такое Widget?Небольшoe одноцельное мини-приложениe

Page 29: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 31

Widgets на мобильных устройствах

Page 30: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 32

Что они могут делать?

Выглядят также как и родные приложенияДоступ к ограниченым данным устройства за пределами изолированной программной средыПолная поддержка AJAX, родной JSON парсер, можно использовать элементы управления ActiveX (как Flash)

Page 31: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 33

Что там под капотом?

Widget Package

Widgets RuntimePowered by

Internet Explorer Mobile

Web Rendering

Engine

Plug-ins

Script Engine

JavaScriptDevice Extensions

Flash

MSXML

Windows Media

SettingsStorage

Secu

rity

Brok

er

Menu

HTML

JavaScript

CSS

Images

XML Manifest

Page 32: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 34

За пределами изолированной программной средыДоступ к информации о текущем

состоянии устройстваCradlePresentPhoneHomeServicePhoneRoamingPhoneSignalStrengthPhoneOperatorNameDisplayRotationPowerBatteryStrengthPowerBatteryState

Page 33: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 35

Создание Widgetов

1 2 3

Create Package

Deploy

Design and develop the user

experience

Distribute it on the Windows Marketplace

Create the XML

Manifest Transfer to device and

install

Package as Zip,

renamed to .widget

Page 34: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 36

Виталий Дильмухаметов

Marano Software

Демонстрация

Создание простого Widget(a)

Page 35: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 37

Итоги

Тенденции мобильных интерфейсовПолупрозрачность и градиентUI FrameworkПоддержка жестов в WM 6.5Управляемая обертка для жестовСоздание Widgets

Page 36: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 38

Ресурсы ENG

UI Framework: http://code.msdn.microsoft.com/

uiframeworkGesture Framework:

http://code.msdn.microsoft.com/gestureswmРазработка Widgets:

http://msdn.microsoft.com/en-us/library/dd721906.aspx

Page 37: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 39

Ресурсы RUS

Руссский блог Windows Mobilehttp://blogs.msdn.com/windowsmobile_ru/

Конкурс приложений для Windows Mobilewww.wmdev.ru

Page 38: Marano  Software

http://msplatforma.ru

Microsoft Платформа 2010 40

Вопросы

Марат Бакировhttp://blogs.msdn.com/mbakirov

Виталий Дильмухаметовhttp://blogs.gotdnotnet.ru/personal/grp

{Александр Яхнин}http://blogs.msdn.com/priozersk/

Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение часа после завершения этого доклада

Page 39: Marano  Software