developers club 2003

25
Platforma Smart Client Platforma Smart Client Tomasz Cieplak

Upload: tomasz-cieplak

Post on 24-May-2015

399 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Developers Club 2003

Platforma Smart ClientPlatforma Smart Client

Tomasz Cieplak

Page 2: Developers Club 2003

AgendaAgenda

Platforma Tablet PC – w skróciePlatforma Tablet PC – w skrócie Projektowanie Aplikacji dla Tablet PCProjektowanie Aplikacji dla Tablet PC Programowanie z Zastosowaniem Tablet PC Programowanie z Zastosowaniem Tablet PC

SDKSDK Klasa Ink – w praniuKlasa Ink – w praniu

Page 3: Developers Club 2003

Platforma Tablet PCPlatforma Tablet PCSprzętSprzęt

ObudowaObudowa Hybrydowa (Convertible) – konwersja obudowy Hybrydowa (Convertible) – konwersja obudowy

klasycznego Notebook PC do Tablet PCklasycznego Notebook PC do Tablet PC Tablica (Slate) – smukła jednostka z demontowaną Tablica (Slate) – smukła jednostka z demontowaną

lub bezprzewodową klawiaturąlub bezprzewodową klawiaturą

Elektromagnetyczny digitajzerElektromagnetyczny digitajzer Mniejsze zużycie energii oraz większa czułość w Mniejsze zużycie energii oraz większa czułość w

porównaniu z technologią „ekranu dotykowego”porównaniu z technologią „ekranu dotykowego”

„„Pióro” (Stylus)Pióro” (Stylus) Nadajnik częstotliwości radiowej o bardzo małej Nadajnik częstotliwości radiowej o bardzo małej

mocymocy Czułość na naciskCzułość na nacisk Dotyk do powierzchni digitajzera nie jest konieczny Dotyk do powierzchni digitajzera nie jest konieczny

do poprawnego działaniado poprawnego działania W większości urządzeń oba końce są W większości urządzeń oba końce są

wykorzystanewykorzystane Praca bez „uwięzi”Praca bez „uwięzi”

Page 4: Developers Club 2003

Platforma Tablet PC Platforma Tablet PC OprogramowanieOprogramowanie

System operacyjny w wersji: Windows XP System operacyjny w wersji: Windows XP Tablet PC EditionTablet PC Edition Dostępny w wersjach: OEM oraz dla wszystkich Dostępny w wersjach: OEM oraz dla wszystkich

subskrybentów MSDNsubskrybentów MSDN Rozszerzenia systemoweRozszerzenia systemowe

Np.: zdarzenie systemowe – zmiana orientacji Np.: zdarzenie systemowe – zmiana orientacji wyświetlaczawyświetlacza

Systemy rozpoznawania pisma i mowySystemy rozpoznawania pisma i mowy Instalowany domyślnie .NET FrameworkInstalowany domyślnie .NET Framework

Aplikacje przystosowane dla Tablet PCAplikacje przystosowane dla Tablet PC Windows JournalWindows Journal Narzędzia oraz gryNarzędzia oraz gry

Page 5: Developers Club 2003

Platforma Tablet PCPlatforma Tablet PCKrótka Historia Komputera z PióremKrótka Historia Komputera z Piórem

GRiDGRiD Pad

$2,4002kg

EOPersonal

Communicator$4,000

1kg

AppleNewton

$700408g

Palm Comp.PalmPilot

$300162g

CompaqiPaq$500190g

Tablet PCRóżni Producenci

Różne modele$2000

1989 1991 1993 1996 1999 2002

Page 6: Developers Club 2003

Platforma Tablet PCPlatforma Tablet PCTablet PC – przesłanki do sukcesuTablet PC – przesłanki do sukcesu

Ewolucja ale nie RewolucjaEwolucja ale nie Rewolucja Udoskonalony komputer przenośnyUdoskonalony komputer przenośny Wsparcie dla istniejących aplikacji i konfiguracjiWsparcie dla istniejących aplikacji i konfiguracji

Udoskonalenia TechnologiczneUdoskonalenia Technologiczne Małej mocy, wysokiej wydajności procesoryMałej mocy, wysokiej wydajności procesory Wysokiej rozdzielczości wyświetlacze LCDWysokiej rozdzielczości wyświetlacze LCD Technologie źródeł zasilania: lekkie i żywotne baterieTechnologie źródeł zasilania: lekkie i żywotne baterie Sieci bezprzewodoweSieci bezprzewodowe

Atrament CyfrowyAtrament Cyfrowy „„Atrament” jest najistotniejszym typem danychAtrament” jest najistotniejszym typem danych „„Atrament” to nie tylko zaznaczone pikseleAtrament” to nie tylko zaznaczone piksele „„Atrament’ nie jest jedynie formatem pośrednim przy Atrament’ nie jest jedynie formatem pośrednim przy

rozpoznawaniu pismarozpoznawaniu pisma

Page 7: Developers Club 2003

Platforma Tablet PCPlatforma Tablet PCSprzętSprzęt

ProducentNazwa Produktu Procesor RAM

Dysk Twardy Klawiatura Bateria Waga

Rozmiar Ekranu

Cena (USA)

HPCompaq Tablet PC TC1000

Transmeta Crusoe TM5800 1Ghz 256 Mb 30 Gb Odłączana 3,0 godz. 1,5 kg 10.4" US$1,699

Acer TravelMate C100Pentium I I I -M 800Mhz 256 Mb 30 Gb Wbudowana 1,5 godz. 1,6 kg 10,4" US$2,399

ViewsonicTablet PC V1100

Pentium I I I -M 866 Mhz 256 Mb 20 Gb Zewnętrzna 2,0 godz. 1,0 kg 10,4" US$1,955

Toshiba Portégé 3500/05Pentium I I I 1.33 Ghz 256 Mb 40 Gb Wbudowana 1,5 godz. 2,0 kg 12,1" US$2,299

Fujitsu Stylistic ST4000Pentium I I I 800Mhz 256 Mb 20 Gb Zewnętrzna 2,5 godz. 1,6 kg 12,1" US$2,299

Motion Computing M1200

Pentium I I I -M 867Mhz

128Mb-1Gb

20, 40, 60 Gb Zewnętrzna 4,0 godz. 1,5 kg 12,1" US$2,199

PeaceBlade Technology PaceBook

Transmeta Crusoe TM5600 600Mhz 128Mb 20,30 Gb Zewnętrzna 5,0 godz. 2,0 kg 12,1" US$2,095

US$2,399256MB Zewnętrzna 3,0 godz. 1,1 kg 10,4"NECNEC Versa LitePad

Pentium I I I -M Processor 933MHz

1.8" HDD 20GB

Źródło: http://www.etabletpc.com/

Page 8: Developers Club 2003

AgendaAgenda

Platforma Tablet PC – w skróciePlatforma Tablet PC – w skrócie Projektowanie Aplikacji dla Tablet PCProjektowanie Aplikacji dla Tablet PC Programowanie z Zastosowaniem Tablet PC Programowanie z Zastosowaniem Tablet PC

SDKSDK Klasa Ink – w praniuKlasa Ink – w praniu

Page 9: Developers Club 2003

Projektowanie Aplikacji dla Tablet PC Projektowanie Aplikacji dla Tablet PC Tworzenie wydajnych aplikacjiTworzenie wydajnych aplikacji

Orientacja ekranuOrientacja ekranu Pióro konta myszPióro konta mysz Cyfrowy atramentCyfrowy atrament Użytkowość aplikacji – TestowanieUżytkowość aplikacji – Testowanie

Page 10: Developers Club 2003

AgendaAgenda

Platforma Tablet PC – w skróciePlatforma Tablet PC – w skrócie Projektowanie Aplikacji dla Tablet PCProjektowanie Aplikacji dla Tablet PC Programowanie z Zastosowaniem Programowanie z Zastosowaniem

Tablet PC SDKTablet PC SDK Klasa Ink – w praniuKlasa Ink – w praniu

Page 11: Developers Club 2003

Tablet PCTablet PC SDK SDK

Instalowany na:Instalowany na: Windows XP Tablet PC Windows XP Tablet PC

EditionEdition Windows XP Windows XP

Professional (SP1) [*]Professional (SP1) [*] Windows 2000 (SP2) [*]Windows 2000 (SP2) [*]

[*] brak systemów [*] brak systemów rozpoznawania pismarozpoznawania pisma

Zawiera API, Zawiera API, wytyczne wytyczne projektowe, projektowe, przykłady koduprzykłady kodu

API wspiera użycie API wspiera użycie kodu zarządzanego kodu zarządzanego i niezarządzanegoi niezarządzanego Biblioteka COMBiblioteka COM

Realizacja COMRealizacja COM Biblioteka zarządzanaBiblioteka zarządzana

Warstwa Warstwa pośrednicząca pośrednicząca ponad realizacją ponad realizacją COM dostępna przez COM dostępna przez RCW (Runtime RCW (Runtime Callable Wrapper)Callable Wrapper)

Pełen zestaw Pełen zestaw dokumentacjidokumentacji

Page 12: Developers Club 2003

Tablet PC SDKTablet PC SDKModel obiektów biblioteki zarządzanej (I)Model obiektów biblioteki zarządzanej (I)

„„Atrament”Atrament” jest kolekcją jest kolekcją kresek (Strokes)kresek (Strokes)

KreskaKreska reprezentuje reprezentuje sekwencję od ustawienie sekwencję od ustawienie pióra przez przeciągnięcie do pióra przez przeciągnięcie do oderwania pióraoderwania pióra

Kiedy kolekcja jest Kiedy kolekcja jest rozpoznawana, rezultat tego rozpoznawana, rezultat tego procesu jest składowany wprocesu jest składowany w RecognitionResultRecognitionResult

Atrybut Atrybut DrawingAttributesDrawingAttributes specyfikuje jak kreski są specyfikuje jak kreski są interpretowane (kolor, interpretowane (kolor, szerokość, przeźroczystość, szerokość, przeźroczystość, itd.)itd.)

ExtendedPropertiesExtendedProperties stanowi stanowi kolekcja danych kolekcja danych zdefiniowanych dla aplikacjizdefiniowanych dla aplikacji

DividerDivider analizuje kreski czy są analizuje kreski czy są fragmentem tekstu czy fragmentem tekstu czy grafiki (obiekt dostępny w grafiki (obiekt dostępny w SDK 1.5)SDK 1.5)

Page 13: Developers Club 2003

Tablet PC SDKTablet PC SDKModel obiektów biblioteki zarządzalnej (II)Model obiektów biblioteki zarządzalnej (II)

ObiektObiekt Tablet Tablet oznacza urządzenie - oznacza urządzenie - digitajzerdigitajzer

InkCollectorInkCollector dołączany jest do okna dołączany jest do okna przez uchwyt (handle). Gromadzi przez uchwyt (handle). Gromadzi „atrament” z powierzchni okna„atrament” z powierzchni okna

InkOverlayInkOverlay rozszerzenie klasy rozszerzenie klasy InkCollector - InkCollector - możliwości możliwości zaznaczania zaznaczania i ścierania „atramentu”i ścierania „atramentu”

Kontrolka Kontrolka InkPictureInkPicture dziedziczy po dziedziczy po kontrolce PictureBoxkontrolce PictureBox

Kontrolka Kontrolka InkEditInkEdit dziedziczy po dziedziczy po kontrolce RichText, jej zadaniem kontrolce RichText, jej zadaniem jest rozpoznawanie tekstujest rozpoznawanie tekstu

KontrolkaKontrolka PenInputPanelPenInputPanel zapewnia zapewnia rozpoznawanie tekstu, wynik rozpoznawanie tekstu, wynik przekazuje do innej kontrolki (SDK przekazuje do innej kontrolki (SDK 1.5)1.5)

Klasa Klasa RendererRenderer wspiera wspiera rozpoznawanie atramentu na rozpoznawanie atramentu na elementach graficznych (np. elementach graficznych (np. Materiał skanowany)Materiał skanowany)

Page 14: Developers Club 2003

Tablet PC SDKTablet PC SDKModel obiektów biblioteki zarządzanej (III)Model obiektów biblioteki zarządzanej (III)

RecognizersRecognizers jest to kolekcja jest to kolekcja zainstalowanych modułów zainstalowanych modułów rozpoznawaniarozpoznawania

RecognizerRecognizer może może rozpoznawać kreski rozpoznawać kreski atramentu jako tekst, zaś atramentu jako tekst, zaś kształty jako znaki specjalnekształty jako znaki specjalne

Znak specjalny (Gesture)Znak specjalny (Gesture) tworzony przez system tworzony przez system rozpoznawania używany jest rozpoznawania używany jest

w celu rozszerzenia operacji w celu rozszerzenia operacji wejścia piórawejścia pióra

Proces rozpoznawania jest Proces rozpoznawania jest przeprowadzany przeprowadzany ww RecognizerContextRecognizerContext Zapewnia kontekstową Zapewnia kontekstową

informację w celu zwiększenia informację w celu zwiększenia dokładności rozpoznawania dokładności rozpoznawania tekstutekstu

RecognitionResult przechowuje RecognitionResult przechowuje inne wyniki rozpoznawaniainne wyniki rozpoznawania

Page 15: Developers Club 2003

Tablet PC SDKTablet PC SDKRozpoznawanie tekstuRozpoznawanie tekstu

Rozpoznawanie pisma Rozpoznawanie pisma odręcznegoodręcznego Chiński Chiński Angielski (Amerykański Angielski (Amerykański

i Brytyjski)i Brytyjski) FrancuskiFrancuski NiemieckiNiemiecki JapońskiJapoński KoreańskiKoreański

W niedalekiej W niedalekiej przyszłościprzyszłości WłoskiWłoski HiszpańskiHiszpański

Rozpoznawanie Rozpoznawanie znaków specjalnychznaków specjalnych

Rozszerzalna Rozszerzalna architektura pozwala architektura pozwala na zastosowanie na zastosowanie własnych modułów własnych modułów rozpoznawaniarozpoznawania Powstało kilka narzędzi Powstało kilka narzędzi

do rozpoznawania do rozpoznawania kształtówkształtów

Page 16: Developers Club 2003

Tablet PC SDKTablet PC SDKZnaki specjalneZnaki specjalne

Rozpoznawane poprzez Rozpoznawane poprzez wbudowane analizatory znaków wbudowane analizatory znaków specjalnychspecjalnych

System znaków specjalnychSystem znaków specjalnych Domyślnie wspierany przez system Domyślnie wspierany przez system

operacyjnyoperacyjny 14 znaków specjalnych14 znaków specjalnych

Np. przeciągnięcie, uderzenie, itp.Np. przeciągnięcie, uderzenie, itp.

Znaki specjalne aplikacjiZnaki specjalne aplikacji Aplikacja może wspierać znaki Aplikacja może wspierać znaki

specjalnespecjalne 38 znaków specjalnych38 znaków specjalnych

Np. Przewijanie góra, dół, Np. Przewijanie góra, dół, skreślenieskreślenie

Page 17: Developers Club 2003

AgendaAgenda

Platforma Tablet PC – w skróciePlatforma Tablet PC – w skrócie Projektowanie Aplikacji dla Tablet PCProjektowanie Aplikacji dla Tablet PC Programowanie z Zastosowaniem Programowanie z Zastosowaniem

Tablet PC SDKTablet PC SDK Klasa Ink – w praniuKlasa Ink – w praniu

Page 18: Developers Club 2003

Klasy Ink – w praniuKlasy Ink – w praniuPoczątki pracy z „cyfrowym atramentem”Początki pracy z „cyfrowym atramentem”

Aplikacja musi posiadać referencje do Aplikacja musi posiadać referencje do składnikówskładników Microsoft Tablet PC APIMicrosoft Tablet PC API Komponentów Microsoft Tablet PC API v1.5Komponentów Microsoft Tablet PC API v1.5

Jedynie w przypadku gdy używaneJedynie w przypadku gdy używane

Dołączone wsparcie do projektowania Dołączone wsparcie do projektowania kontrolek WinFormskontrolek WinForms Dodaj kontrolki do paska narzędzi VS.NETDodaj kontrolki do paska narzędzi VS.NET

Page 19: Developers Club 2003

Klasa Ink – w praniuKlasa Ink – w praniuWłaściwości atramentuWłaściwości atramentu

Każdy ślad atramentu posiada właściwość Każdy ślad atramentu posiada właściwość DrawingAttributesDrawingAttributes

Właściwość Właściwość DrawingAttributesDrawingAttributes zawiera pola: zawiera pola: Kształt (Kształt (PenTipPenTip) – kropka lub kwadrat) – kropka lub kwadrat SzerokośćSzerokość WysokośćWysokość KolorKolor PrzeźroczystośćPrzeźroczystość Ignoruj nacisk (Ignoruj nacisk (IgnorePressureIgnorePressure)) Wygładzanie krawędzi (Wygładzanie krawędzi (AntiAliasedAntiAliased))

Każda nowa kreska pobiera Każda nowa kreska pobiera DrawingAttributesDrawingAttributes z z wcześniej zdefiniowanej właściwości wcześniej zdefiniowanej właściwości DefaultDrawingAttributesDefaultDrawingAttributes

Page 20: Developers Club 2003

Klasa Ink – w praniu Klasa Ink – w praniu Przechowywanie atramentuPrzechowywanie atramentu

Metody: Ink.Save() oraz Ink.Load()Metody: Ink.Save() oraz Ink.Load()

ISF / Base64 ISFISF / Base64 ISF Ink Serialized Format – format binarnyInk Serialized Format – format binarny

GIF / Base64 GIFGIF / Base64 GIF atrament jest metadaną nie obrazematrament jest metadaną nie obrazem możliwy do odtworzenia na systemach „bez atramentu”możliwy do odtworzenia na systemach „bez atramentu” atrament jest atramentem w systemie Tablet PCatrament jest atramentem w systemie Tablet PC

Metoda Ink.Load może być wywołana na Metoda Ink.Load może być wywołana na pierwotnym obiekcie Inkpierwotnym obiekcie Ink

Page 21: Developers Club 2003

WprawkiWprawki

Witaj Atramencie – InkCollectorWitaj Atramencie – InkCollector Edytor Atramentu – InkOverlayEdytor Atramentu – InkOverlay Atrybuty Atramentu – InkCollector || Atrybuty Atramentu – InkCollector ||

InkOverlayInkOverlay Rozpoznawanie tekstu – InkCollector || Rozpoznawanie tekstu – InkCollector ||

InkOverlayInkOverlay Znaki Specjalne – InkOverlayZnaki Specjalne – InkOverlay Gotowce – InkPicture && InkEdit Gotowce – InkPicture && InkEdit SDK 1.5 – PenInputPanelSDK 1.5 – PenInputPanel Co potrafi twój Tablet?Co potrafi twój Tablet?

Page 22: Developers Club 2003

„„Cyfrowy” podpisCyfrowy” podpis

Page 23: Developers Club 2003

ŹródłaŹródła

InternetInternet msdn.microsoft.com/tabletpcmsdn.microsoft.com/tabletpc www.microsoft.com/windowsxp/tabletpcwww.microsoft.com/windowsxp/tabletpc www.tabletpctalk.comwww.tabletpctalk.com www.tabletpcdeveloper.comwww.tabletpcdeveloper.com

LiteraturaLiteratura Building Tablet PC ApplicationsBuilding Tablet PC Applications,,Rob Jarrett and Rob Jarrett and

Philip SuPhilip Su,, Microsoft Press, 2003 Microsoft Press, 2003 Developing Tablet PC ApplicationsDeveloping Tablet PC Applications,, Clayton E. Clayton E.

CrooksCrooks, , 20032003 W przygotowaniu:W przygotowaniu: End-to-End Product End-to-End Product

Development for Tablet PCDevelopment for Tablet PC, , W. Frederick W. Frederick ZimmermanZimmerman, 2003, 2003

Page 24: Developers Club 2003

PodsumowaniePodsumowanie

Początki z „cyfrowym atramentem” są Początki z „cyfrowym atramentem” są łaskawe dla użytkownikałaskawe dla użytkownika

Tablet PC oferuje pełen zakres usług dla Tablet PC oferuje pełen zakres usług dla aplikacji typu „smart client”aplikacji typu „smart client”

Tablet PC zmienia podejście do miejsca Tablet PC zmienia podejście do miejsca i sposobu wykorzystania aplikacji przez i sposobu wykorzystania aplikacji przez użytkownikaużytkownika

Page 25: Developers Club 2003

© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.