Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Was sie hier nicht lernen

Ähnliche Präsentationen


Präsentation zum Thema: "Was sie hier nicht lernen"—  Präsentation transkript:

0 Mobile Computing mit Windows Mobile
.NET Compact Framework & Webanwendungen

1 Was sie hier nicht lernen
Wie testet man, ob ein Ei schlecht ist? Was sie hier nicht lernen

2 Was ist Mobile Computing?
Agenda I Was ist Mobile Computing? Mobile Betriebssysteme von Microsoft Wer kann Mobile Computing? II Grundlagen Mobile Computing Plattformen, Werkzeuge Leistungsmerkmale der SDKs, Browser etc. mobile Anwendungen / Webanwendungen III Fazit Lohnt sich Mobile Computing?

3 Mobile Computing Mobile Betriebs-systeme Mobile Geschäfts-prozesse
Mobile Geräte

4 Die mobilen Betriebssysteme
Windows Mobile ist ein Markenname von Microsoft

5 Die Basis mobiler Betriebssysteme
Torsten Weber | I Was ist Mobile Computing? [1]

6 Windows Mobile 5 / 6 Partnerinnovationen „höhere“ Produktivität
graduelle Verbesserungen 3G/UMTS, WiFi, Voice/Data neue APIs „höhere“ Produktivität Word, Excel, Powerpoint Mobile Persistent Storage ActiveSync 4 „besseres“ Multimedia WMP 10 Mobile HDD, USB 2.0 …

7 Wer kann Mobile Computing?
vor einigen Jahren waren mobile Anwendungen schwerer zu entwickeln, das ist heute leichter die Werkzeuge sind erheblich mächtiger .NET Compact Framework ist verfügbar keine tief greifenden Kenntnisse oder spezielle Ausbildung erforderlich jeder kann prinzipiell sofort damit entwickeln Torsten Weber | I Was ist Mobile Computing?

8 Windows Mobile ist anders
Entwicklung für mobile Geräte nicht vergleichbar mit Entwicklung für Desktops oder Server unter Windows Mobile 5 nur 32 Prozesse und nur 32 MB virtueller Adressierungsraum Einschränkungen wurden mit Windows Embedded CE 6 aufgehoben Embedded CE 6 != Windows Mobile 6 Torsten Weber | I Was ist Mobile Computing?

9 Windows Mobile ist anders
Microsoft: mobile Anwendungen sollten nicht beendet werden andere Speicherverwaltung: Anwendungen können jederzeit beendet werden darauf kann reagiert werden Torsten Weber | I Was ist Mobile Computing?

10 Windows Mobile ist anders
andere Denkweise beim Zugriff auf Daten Torsten Weber | I Was ist Mobile Computing?

11 Windows Mobile ist anders
Torsten Weber | I Was ist Mobile Computing?

12 Windows Mobile ist anders
Torsten Weber | I Was ist Mobile Computing?

13 Windows Mobile ist anders
192 dpi 96 dpi Torsten Weber | I Was ist Mobile Computing?

14 Windows Mobile ist anders
Torsten Weber | I Was ist Mobile Computing?

15 Windows Mobile ist anders
Torsten Weber | I Was ist Mobile Computing?

16 Wer kann Mobile Computing?
prinzipiell kann jeder Mobile Computing mächtige Entwicklungsumgebung + Kenntnisse in .NET Framework und / oder .NET Compact Framework != konzeptionell gutes Mobile Computing es benötigt auch einen Erfahrungsschatz Torsten Weber | I Was ist Mobile Computing?

17 Wer kann Mobile Computing?
Was ist, wenn die Erfahrung fehlt? Was ist, wenn nur ein Aspekt mobil gemacht werden soll? Torsten Weber | I Was ist Mobile Computing?

18 Sie brauchen was mobiles! 1. Lösung: Terminalanwendung
Torsten Weber | I Was ist Mobile Computing?

19 Sie brauchen was mobiles! 2. Lösung: Webanwendung
Torsten Weber | I Was ist Mobile Computing?

20 Sie brauchen was mobiles! 3. Lösung: .NET Compact Framework
Torsten Weber | I Was ist Mobile Computing?

21 Sie brauchen was mobiles! 4. Lösung: .NET Compact Framework + XSLT
Torsten Weber | I Was ist Mobile Computing?

22 Sie brauchen was mobiles! Welche Lösung?
Mobile Betriebs-systeme Mobile Geschäfts-prozesse Mobile Geräte Torsten Weber

23 Wie und Was unterscheiden können
Funktionsweise einer Versicherung: kollektive Risikoübernahme die Verteilung von Risiko auf Menge und auf Zeit machen Coca Cola und Pepsi dasselbe? das Geschäft  ist das Was braucht eine Versicherung Service-Orientierung oder Mobile Computing und dort AJAX?  ist das Wie Torsten Weber | I Was ist Mobile Computing?

24 Wie und Was unterscheiden können
II Grundlagen Mobile Computing Wie und Was unterscheiden können MSXML Kartendienst Mobiles System URL, Parameter JPEG, PNG Desktop System XML SOAP XML Adresssuche JSON VPN MSMQ Komprimierung Datenbank Service Ereignisse

25 Werkzeuge für Mobile Computing
Entwicklung für das .NET Compact Framework mit Visual Studio Standard Edition (2005) bzw. Professional (2008) (aber jeweils nie Express) native (C++) Device-Programmierung kein extra Werkzeug mehr für eMbedded VC++ MFC 8, ATL 8 (auch für Smartphone), STL, CRT Forms-Designer, Datentools, etc. Emulatoren ARM-Image Deployment-Designer (CAB-Files) + Code-Sign. Torsten Weber | II Grundlagen Mobile Computing

26 Das .NET Compact Framework
ist kompatible Teilmenge des .NET Framework für Windows CE-basierte Geräte bekannte .NET-Entwicklung RAD für mobile Geräte Designer, Debugger, Emulatoren im Geräte-ROM seit WM 2003 Vorteil gegenüber Desktop, Server in .NET CF 2 kein COM Interop Torsten Weber | II Grundlagen Mobile Computing

27 Ein Vergleich .NET / .NET CF
Torsten Weber | II Grundlagen Mobile Computing

28 Die Funktionalitäten beim .NET CF 2
Visual Studio 2005 Display USB or Serial Processor Memory GSM/GPRS CDMA/1xRTT Device Hardware WiFi Bluetooth Radio Drivers Windows Mobile CE DB ActiveSync SQL CE Pocket Outlook Pocket Internet Explorer Windows Media Player Windows CE Software Platform (APIs) Home Screen User Interface/Shell HTML Control DOM GAPI Camera D3DM Location* Remote API Configuration* Bluetooth Security State & Notifications* Pocket Watson Connection Mgr. TAPI* SMS* MAPI* POOM* ActiveSync Multimedia Communication Device Management Presentation SQL CE ADO CE XML CE DB OLE DB Data Access Native Win32 ATL Managed .NET Compact Framework Server side ASP .NET Mobile Controls * = Managed wrappers MFC Torsten Weber | II Grundlagen Mobile Computing

29 Torsten Weber | II Grundlagen Mobile Computing
Neuerungen in .NET CF 2 mehr Performance Generics, partielle Klassen COM Interop Kryptographie Message Queues serielle Ports neue Steuerelemente User Controls mit Designer Torsten Weber | II Grundlagen Mobile Computing

30 Wenn das .NET CF nicht reicht
Bluetooth, Druck, IrDA, OBEX Smart Device Framework 32feet.com ComponentOne Infragistics In the Hand Odyssey Software Xceed Torsten Weber | II Grundlagen Mobile Computing [2], [3], [4]

31 Die Entwicklung einer mobilen Anwendung
Visual Studio 2005 C# / VB.NET .NET CF „Desktop“ Version .NET CF Windows Windows Mobile Torsten Weber | II Grundlagen Mobile Computing

32 mobiler SQL Server (ab .NET CF 1)
kompakte relationale Datenbank SQL-Syntax (kompatibel mit SQL Server) hohe Performance unterstützt Replikation & Synchronisation Zugriff per ADO.NET, ADOCE, OLEDBCE 128-Bit-Verschlüsselung der DB unterstützt Transaktionen Torsten Weber | II Grundlagen Mobile Computing

33 mobiler SQL Server (ab .NET CF 2)
Multi-User-Support SqlCeResultSet (scrollable updateable Cursor) zusätzlich zu DataReader, DataSet, DataTable Named Parameters Auto-Compact Management-Tools VS2005-Integration Smartphone-Unterstützung für Win CE & Win32 Torsten Weber | II Grundlagen Mobile Computing

34 Torsten Weber | II Grundlagen Mobile Computing
Szenario DataSet if (Person.New) { datamodel.Update(); … Code / RAM Dateisystem / RAM Torsten Weber | II Grundlagen Mobile Computing

35 Szenario SqlCeResultSet
if (Person.New) { datamodel.Update(); … Code / RAM Dateisystem / RAM Torsten Weber | II Grundlagen Mobile Computing

36 Windows Mobile 5 – Was ist neu?
.NET Compact Framework 1 SP3 im ROM RAM-Installation von CF 2.0 für PPC & Smartphone SQL Mobile für PPC & Smartphone Managed MAPI, Telephony, Pocket Outlook… State & Notifications Broker D3D Mobile APIs für Kamera & Location einheitliches CAB-Format Torsten Weber | II Grundlagen Mobile Computing

37 Torsten Weber | II Grundlagen Mobile Computing
neue Steuerelemente CameraCapture ContactPicker PicturePicker Torsten Weber | II Grundlagen Mobile Computing

38 neue APIs - Managed Outlook Mobile
früher kein COM Interop, unter .NET CF 2 aber oder mit Windows Mobile 5 API geht auch mit .NET CF 1 Beispiel OutlookSession outlook = new OutlookSession(); Contact me = new Contact(); me.FullName = “Torsten Weber”; outlook.Contacts.Items.Add(me); // gespeichert me.JobTitle = “BASTA Speaker”; me.Update(); // gespeichert Torsten Weber | II Grundlagen Mobile Computing

39 neue APIs - Managed Messaging
Microsoft.WindowsMobile.PocketOutlook & SMS + Attachments Recipient ≠ Contact ! Beispiel Dim message As New SmsMessage message.To.Add(New Recipient(callerNumber)) message.Body = “Update Process 203 RPC40o" + selectedTime message.Send() Torsten Weber | II Grundlagen Mobile Computing

40 Torsten Weber | II Grundlagen Mobile Computing
neue APIs - SnAPI State & Notifications API einheitliches API zwecks Benachrichtigung, "wenn etwas passiert" nutzt dokumentierte Registry-Keys transient & persistent notifications Torsten Weber | II Grundlagen Mobile Computing

41 Szenario „Dispatching“ mit SnAPI
SMS I S D N Torsten Weber | I Was ist Mobile Computing?

42 Torsten Weber | II Grundlagen Mobile Computing
neue APIs - SnAPI zwei Schritte SystemState-Objekt erzeugen Event-Handler anhängen Beispiel SystemState callerId = new SystemState( SystemProperty.PhoneIncomingCallerContact); callerId.Changed += new EventHandler(callerId_Changed); void callerId_Changed(object sender, ChangeEventArgs e) { Contact caller = (Contact)callerId.CurrentValue; Torsten Weber | II Grundlagen Mobile Computing

43 Torsten Weber | II Grundlagen Mobile Computing
neue APIs - SnAPI Beispiel SystemState missedCall; void Form_Load(…) { if(!SystemState.IsApplicationLauncherEnabled( “MyApp.MissedCall”)) { missedCall = new SystemState( SystemProperty.PhoneMissedCall ); missedCall.EnableApplicationLauncher( “MyApp.MissedCall”); } else { SystemState missedCall = new SystemState(“MyApp.MissedCall”); } missedCall.Changed += new EventHandler(missedCall_Changed); Torsten Weber | II Grundlagen Mobile Computing

44 Leitfaden für die erste mobile Anwendung
Visual Studio andere IDE ist möglich Emulatoren sind dabei mobiler SQL Server ist dabei Windows Mobile SDKs nachinstallieren Windows Mobile 5 SDK Windows Mobile 6 SDK lokalisierte Abbilder der Emulatoren nachinstallieren weitere Werkzeuge wie SmartDeviceFramework Torsten Weber | II Grundlagen Mobile Computing

45 Leitfaden für die erste mobile Anwendung
II Grundlagen mobile Webanwendungen Leitfaden für die erste mobile Anwendung für den physischen Zugriff auf mobile Geräte bzw. Emulatoren: ActiveSync (XP) ab 4.1 bzw. Gerätecenter (Vista) optional Geräteemulator 2 oder höher Torsten Weber | II Grundlagen Mobile Computing [5] – [13]

46 2 Szenarien für das Wie für Mobile AJAX
Mobile Webanwendung + Mobile AJAX mit Internet Explorer Mobile seit Windows Mobile 2003 möglich auch bei mobilen Geräten gibt es Vorteile von AJAX: Webseiten nicht komplett neu laden spart Bytes und damit Geld  Praxis .NET CF Anwendung + Mobile AJAX XML-Transformation für „mehr Benutzeroberfläche“ Torsten Weber | II Mobiles AJAX – Wie geht es?

47 2 Szenarien für das Wie für Mobile AJAX
Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

48 2 Szenarien für das Wie für Mobile AJAX
Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

49 Torsten Weber | II Mobiles AJAX – Wie geht es?
Was ist klar. Sie brauchen was mobiles! Wie?: Eine Webanwendung mit AJAX Detailinformationen: Ihr Mobile Operator ist T-Mobile oder Simyo oder jemand anderes. Wer weiß das schon so genau. Torsten Weber | II Mobiles AJAX – Wie geht es?

50 Szenario Webanwendung mit AJAX
Produktdaten mobil abfragen notwendig: Produkt-ID soll verhindert werden: zusätzliches „HTML-Drumherum“ (Overhead) Vorteil: Zwischenschritt eines Seitenaufbaus entfällt, Anwendung weiter sicht- und bedienbar Torsten Weber | II Mobiles AJAX – Wie geht es?

51 Szenario Webanwendung mit AJAX
Produkt Produkt-ID ? Produkt-ID Produkt Torsten Weber | II Mobiles AJAX – Wie geht es?

52 Szenario Webanwendung mit AJAX
wie viel übertragen wird, ist mit Fiddler feststellbar ( unterstützt als HTTP Debugging Proxy einen Debug-Modus wie eine IDE bei Emulatoren / mobile Geräten ist eine Konfiguration für Fiddler notwendig Torsten Weber | II Mobiles AJAX – Wie geht es?

53 Mitgeschrieben für Sie! Die Konfiguration von Fiddler
Für die Verwendung von Fiddler auf mobilen Geräten muss ein Browser erst konfiguriert werden. Für den Internet Explorer Mobile 5 unter Windows Mobile 5 (Pocket PC) führen Sie diese Konfiguration über Start, Einstellungen, Reiter Verbindungen, Anwendung Verbindungen, Reiter Erweitert und die Schaltfläche Netzwerk auswählen durch. Stellen Sie anschließend die Option Programme mit automatischem Internetzugriff verwenden auf den Eintrag Firmennetzwerk um. Klicken Sie dann auf die Schaltfläche Bearbeiten und wählen Sie den Reiter Proxyeinstellungen aus. Als nächstes muss die Option Dieses Netzwerk verwendet einen Proxyserver aktiviert und unter Proxyserver der Wert ppp_peer bei einer Verbindung über Bluetooth oder DMA bzw. dtpt_peer bei einer Verbindung über USB eingegeben werden. Klicken Sie anschließend auf Erweitert und im folgenden Dialog auf den Eintrag ppp_peer bzw. dtpt_peer beim Typ HTTP. Jetzt muss nur noch der Anschluss von 80 auf 8888 geändert und das Ganze 5-mal mit OK bestätigt werden. Jetzt ist der Desktop PC an der Reihe bei dem mit der rechten Maustaste im Infobereich der Taskleiste auf das Symbol von ActiveSync geklickt und dort im Kontextmenü der Eintrag Verbindungseinstellungen ausgewählt werden muss. In dem darauffolgenden Dialogfeld muss unter Dieser Computer ist verbunden mit die Option Firmennetzwerk eingestellt und mit OK bestätigt werden. Starten Sie Fiddler und wählen Sie aus dem Menü Tools den Menüpunkt Fiddler Options aus. Im darauf folgenden Dialogfeld Fiddler Options aktivieren Sie die Option Allow remote clients to connect aus und bestätigen mit OK. Docken Sie das mobile Gerät ein. Haben Sie keines zur Verfügung und arbeiten mit einem Emulator kann auch eine virtuelle Dockingstation verwendet werden. Hier muss erst sichergestellt werden, dass sich ActiveSync 4.x mit dem Emulator verbinden kann. In ActiveSync prüfen Sie über den Menübefehl Datei/Verbindungseinstellungen und in dem darauf folgenden Dialogfeld unter Verbindung zu folgenden Anschlüssen zulassen ob dort DMA ausgewählt ist. Anschließend kann über den Menüpunkt Extras/Geräteemulator-Manager per Kontextmenü eines gerade laufenden Emulators der Eintrag In Basisstation ausgewählt werden. Hat alles geklappt, ändert sich das Symbol des ausgewählten Emulators in ein Symbol, das eine Netzwerkverbindung dargestellt. Jetzt kann mit Start\Internet Explorer der Internet Explorer Mobile gestartet und der dabei entstehende Datenverkehr protokolliert und manipuliert werden. Eventuell muss dazu noch die Firewall des Desktop PCs angepasst und dort der Port 8888 freigegeben werden. Torsten Weber | II Mobiles AJAX – Wie geht es? [3]

54 Szenario Webanwendung mit AJAX
das Wie – Webanwendung mit Mobile AJAX  welche Technologie? zweckadäquat entscheiden alles laden: XML-Dateninseln teilweise laden: MSXML im Kontext laden: Mobile AJAX in Verbindung mit SOAP / XML, JSON usw. übertragene Daten Torsten Weber | II Mobiles AJAX – Wie geht es? [4], [5], [6]

55 2 Szenarien für das Wie für Mobile AJAX
Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

56 Szenario Webanwendung mit AJAX Lösung 1: Dateninseln
Beispiel für eine XML-Dateninsel: <xml> <Chapters> <Chapter Name=“Vorwort”> <ReferenceWeb ID=“…” URL=“…”>…</ReferenceWeb> </Chapter> <Chapter …> … </Chapter> </Chapters> </xml> CODE DEMO Torsten Weber | II Mobiles AJAX – Wie geht es?

57 Szenario Webanwendung mit AJAX Lösung 1: Dateninseln
Beispiel für eine XML-Dateninsel: function loadChapters() { xmlDoc = Chapters.XMLDocument; chapters = xmlDoc.getElementsByTagName("Chapter"); for (i = 0; i < chapters.length; i++) { option = new Option(); option.text = chapters[i].attributes.getNamedItem("Name").text; option.value = option.text; document.all.chaptersList.options.add(option); } } CODE DEMO Torsten Weber | II Mobiles AJAX – Wie geht es?

58 2 Szenarien für das Wie für Mobile AJAX
Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

59 Szenario Webanwendung mit AJAX Lösung 2: MSXML
erlaubt asynchrones Laden von Dateien per HTTP-GET… mit Hilfe von Msxml2.XMLHTTP eventuell kombiniert mit dritter Lösung (Kontext) Torsten Weber | II Mobiles AJAX – Wie geht es?

60 Szenario Webanwendung mit AJAX Lösung 2: MSXML
Beispiel laden einer Datei function LoadXmlFile() { if (webRequest) { new ActiveXObject("Msxml2.XMLHTTP"); if (webRequest) { webRequest.onreadystatechange = ParseResponse; webRequest.open("GET", „ true); webRequest.send(); } } … } CODE DEMO Torsten Weber | II Mobiles AJAX – Wie geht es?

61 2 Szenarien für das Wie für Mobile AJAX
Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

62 Szenario Webanwendung mit AJAX Lösung 3: SOAP (oder was anderes)
Internet Explorer Mobile 5 bietet JScript 5.6 bei Windows Mobile 2003 innerText und innerHMTL nur bei div und span unterstützt Zugriff auf Inhalte nur innerhalb von <form>…</form> bei Windows Mobile 5 gibt es eine Unterstützung für style und document.all Torsten Weber | II Mobiles AJAX – Wie geht es?

63 Szenario Webanwendung mit AJAX Lösung 3: SOAP (oder was anderes)
Beispiel für Windows Mobile 2003 / Windows Mobile 5 Kompatibilität: … <body> <form id="productID" …> <input type="button" id="btnRequest"… /> <div id="wait" /> <div id="result" /> </form> </body> </html> document.forms['productID'].btnRequest.disabled = true; wait.innerHTML = '<img src="Resources/Wait.gif" id="imgWait" alt="Bitte warten..." />'; Torsten Weber | II Mobiles AJAX – Wie geht es?

64 Szenario Webanwendung mit AJAX Lösung 3: SOAP (oder was anderes)
beim .NET Framework / .NET Compact Framework gibt es Proxyklassen, bei AJAX dagegen ActiveX damit können die Grenzen von JavaScript und HTML überwunden werden Zugriff auf Daten läuft zweigeteilt, asynchron ab Torsten Weber | II Mobiles AJAX – Wie geht es?

65 Torsten Weber | II Mobiles AJAX – Wie geht es?
Szenario Webanwendung mit AJAX Lösung 3: Beispiel ASP.NET 2.0 Web Service Ergebnis von SOAP auswerten und anzeigen Steuerelemente aktivieren, Statusbild ausblenden Steuerelemente deaktivieren, Status-bild anzeigen Browserweiche für ActiveX Objekt Methode für Schritt 2 registrieren SOAP-Nachricht zusammenbauen SOAP- Nachricht verschicken 2 WS 1 Produkt-ID Produkt Produkt Produkt-ID CODE CODE DEMO CODE Torsten Weber | II Mobiles AJAX – Wie geht es?

66 2 Szenarien für das Wie für Mobile AJAX
Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) dynami sch Torsten Weber | II Mobiles AJAX – Wie geht es?

67 Szenario Webanwendung mit AJAX Lösung 4: On-Demand-JavaScript
bei Desktop und Servern bei JSON verwendet „normal“ über document.CreateElement <script> erzeugen dann src-Attribut von <script> setzen bei IE Mobile nicht unterstützt (IE stürzt ab / hängt) <script>, src und Ziel erzeugen, als innerHTML eines <div> Torsten Weber | III Fazit

68 Szenario Webanwendung mit AJAX Lösung 4: On-Demand-JavaScript
<div id="scriptHolder"></div> // irgendwo // dann mit JavaScript On-Demand Code erzeugen // oder abrufen mit var newScript = "<script type='text/javascript' src=' scriptHolder.innerHTML = newScript; Methode bei Desktops, Servern wegen Script-Injection nicht unterstützt  Browserweiche Torsten Weber | III Fazit

69 2 Szenarien für das Wie für Mobile AJAX
Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) dynami sch Torsten Weber | II Mobiles AJAX – Wie geht es?

70 Szenario .NET CF mit AJAX (durch XSLT) Lösung: MSXML
III Fazit Szenario .NET CF mit AJAX (durch XSLT) Lösung: MSXML Oberflächen des .NETCF erweiterbar … aber Probleme können entstehen WebBrowser = COM Komplexität im Quellcode Torsten Weber | II Mobiles AJAX – Wie geht es?

71 Mobile Best Practices A B 1 3 2

72 Mobile Best Practices HTTP-Kommunikation ist smart, aber langsam und „fett“ Fiddler Tool einsetzen eigene Datenstrukturen und Protokolle einsetzen nur „Header“ übertragen bei mehreren Backend-Systemen Middle-Tier

73 Mobile Best Practices Zugriffsschichten, nicht pro Formular
Singleton-Provider, Singleton-Base Bibliotheken… EanReader ean = new EanReader (); ean.Enabled = true; … Singleton-Provider SingletonProvider <EandReader>.Instance.Enabled = true;

74 Mobile Best Practices XML-Verarbeitung bei .NET CF 2 um 40 % schneller
XMLDocument im Ausnahmefall XMLTextReader Datenbank vs. Dateisystem DataSets vs. ResultSets

75 Mobile Best Practices GC.Collect(); bei Bild-Operationen
Bilder sind unverwaltet Generics einsetzen Reflection kostet unheimlich viel Zeit Referenz- oder Werttyp?

76 Mobile Best Practices Multi-Threading einsetzen bei Splashscreens
bei Datenbankzugriffen bei Web Service-Zugriffen Application.DoEvents(); reicht manchmal BeginUpdate, EndUpdate verwenden

77 Mobile Best Practices Formulare einfach halten Muss der Stift sein?
jedes Steuerelement muss sich die Berechtigung „verdienen“ Tastatur eventuell selber als Formular Muss der Stift sein? Steuerelement finden Gestensteuerung Steuercodes

78 Mobile Best Practices

79 Mobile Best Practices Formulare nicht gerätespezifisch
an Unterschiede bei DPI und Ausrichtung denken Anchoring, Docking verwenden Add-Ins für Visual Studio für P/Invoke Komponenten verwenden

80 Mobile Best Practices PerformanceCounter oder Power Toys verwenden
Remote Performance Monitor and GC Heap Viewer NETCF CLR Profiler App Configuration Tool (NetCFcfg.exe) NETCF ServiceModel Metadata Tool Remote Logging Configuration Tool NETCF Network Log Viewer

81 Mobile Best Practices PerformanceCounter oder Power Toys verwenden
Remote Performance Monitor and GC Heap Viewer NETCF CLR Profiler App Configuration Tool (NetCFcfg.exe) NETCF ServiceModel Metadata Tool Remote Logging Configuration Tool NETCF Network Log Viewer

82 Mobile Best Practices

83 Mobile Best Practices

84 Mobile Best Practices

85 Mobile Best Practices

86

87 Mobile Best Practices

88 Torsten Weber | III Fazit
jeder kann Mobile Computing Berührungsängste Erfahrungsschatz enorme Wachstumsraten „2012“ führt kein Nischendasein mehr Mobile Computing mit .NET CF relativ einfach ein „so geht es los“-Leitfaden fehlt Dokumentation manchmal sehr dürftig Torsten Weber | III Fazit

89 Wer exportiert die meisten Nilpferde…?
Fragen? Wer exportiert die meisten Nilpferde…? Torsten Weber

90 Links & Informationen [1] Quelle Abbildungen: de.wikipedia.org/wiki/Lego [2] Smart Device Framework, [3] In the Hand, [4] Bluetooth, IrDA, OBEX, [5] ActiveSync v4.5 German – Deutsch [6] Windows Mobile 5.0 SDK for Pocket PC [7] Windows Mobile 5.0 SDK for Smartphone [8] Windows Mobile 6 Professional and Standard Software Development Kits Refresh Torsten Weber

91 Links & Informationen [9] Localized Windows Mobile 5.0 Pocket PC Emulator Images [10] Localized Windows Mobile 5.0 Smartphone Emulator Images [11] Windows Mobile 6 Localized Emulator Images [12] Microsoft Device Emulator 2.0 – Eigenständige Version [13] Windows Mobile Device Center Torsten Weber

92 Links & Informationen Download des Verweiswerkzeuges Programmieren mit dem .NET Compact Framework. Anwendungsentwicklung für mobile Geräte, Ruprecht Dröge, Peter Nowak, Torsten Weber Microsoft Press Deutschland 06/2008, Microsoft Press Deutschland 09/2006,

93 Impressum Torsten Weber * 22. März 1977, Wurzen MVP Visual Developer Device Application Development Theodor-Körner-Straße Wurzen + 49 (3425) Blog, XING und Publikationen: torstenweber.de


Herunterladen ppt "Was sie hier nicht lernen"

Ähnliche Präsentationen


Google-Anzeigen