940 likes | 1.42k Views
Mobile Computing mit Windows Mobile. .NET Compact Framework & Webanwendungen. Wie testet man, ob ein Ei schlecht ist?. Was sie hier nicht lernen. I Was ist Mobile Computing?. Agenda. Mobile Betriebs- systeme. Mobile Geschäfts- prozesse. Mobile Geräte. Mobile Computing.
E N D
Mobile Computing mit Windows Mobile .NET Compact Framework & Webanwendungen
Wie testet man, ob ein Eischlecht ist? Was sie hier nicht lernen
I Was ist Mobile Computing? Agenda
Mobile Betriebs-systeme • Mobile Geschäfts-prozesse • Mobile Geräte Mobile Computing
Die mobilen Betriebssysteme • Windows Mobile ist einMarkenname von Microsoft
Die Basis mobiler Betriebssysteme Torsten Weber | I Was ist Mobile Computing? [1]
Windows Mobile 5 / 6 • Partnerinnovationen • 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 …
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?
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?
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?
Windows Mobile ist anders andere Denkweise beim Zugriff auf Daten Torsten Weber | I Was ist Mobile Computing?
Windows Mobile ist anders Torsten Weber | I Was ist Mobile Computing?
Windows Mobile ist anders Torsten Weber | I Was ist Mobile Computing?
Windows Mobile ist anders 96 dpi 192 dpi Torsten Weber | I Was ist Mobile Computing?
Windows Mobile ist anders Torsten Weber | I Was ist Mobile Computing?
Windows Mobile ist anders Torsten Weber | I Was ist Mobile Computing?
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?
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?
Sie brauchen was mobiles!1. Lösung: Terminalanwendung Torsten Weber | I Was ist Mobile Computing?
Sie brauchen was mobiles!2. Lösung: Webanwendung Torsten Weber | I Was ist Mobile Computing?
Sie brauchen was mobiles!3. Lösung: .NET Compact Framework Torsten Weber | I Was ist Mobile Computing?
Sie brauchen was mobiles!4. Lösung: .NET Compact Framework + XSLT Torsten Weber | I Was ist Mobile Computing?
Mobile Betriebs-systeme • Mobile Geschäfts-prozesse • Mobile Geräte Sie brauchen was mobiles!Welche Lösung? Torsten Weber
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?
II GrundlagenMobile Computing • MSMQ • VPN • JSON • SOAP • MSXML • Komprimierung Wie und Was unterscheiden können Kartendienst Mobiles System URL, Parameter JPEG, PNG Desktop System XML XML Adresssuche Datenbank Service Ereignisse
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
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
Ein Vergleich .NET / .NET CF Torsten Weber | II Grundlagen Mobile Computing
Die Funktionalitäten beim .NET CF 2 Visual Studio 2005 Native Managed Server side MFC ATL .NET Compact Framework ASP .NETMobile Controls Win32 Software Platform (APIs) Device Management Communication Presentation Data Access Multimedia Remote APIConfiguration*Bluetooth Security State & Notifications* Pocket Watson Connection Mgr.TAPI*SMS* MAPI* POOM* ActiveSync Home ScreenUser Interface/ShellHTML ControlDOM SQL CEADO CEXMLCE DBOLE DB GAPICameraD3DMLocation* * = Managed wrappers Windows Mobile Windows CE CE DBActiveSync SQL CE Pocket OutlookPocket Internet ExplorerWindows Media Player Drivers Device Hardware Radio ProcessorMemory GSM/GPRSCDMA/1xRTT WiFiBluetooth DisplayUSB or Serial 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
Wenn das .NET CF nicht reicht • Bluetooth, Druck, IrDA, OBEX • Smart Device Framework • 32feet.comComponentOneInfragisticsIn the HandOdyssey SoftwareXceed Torsten Weber | II Grundlagen Mobile Computing [2], [3], [4]
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
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
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
Szenario DataSet if (Person.New) { datamodel.Update(); … Code / RAM Dateisystem / RAM Torsten Weber | II Grundlagen Mobile Computing
Szenario SqlCeResultSet if (Person.New) { datamodel.Update(); … Code / RAM Dateisystem / RAM Torsten Weber | II Grundlagen Mobile Computing
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
neue Steuerelemente • CameraCapture • ContactPicker • PicturePicker Torsten Weber | II Grundlagen Mobile Computing
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 • BeispielOutlookSession outlook = new OutlookSession();Contact me = new Contact();me.FullName = “Torsten Weber”;outlook.Contacts.Items.Add(me); // gespeichertme.JobTitle = “BASTA Speaker”; me.Update(); // gespeichert Torsten Weber | II Grundlagen Mobile Computing
neue APIs - Managed Messaging • Microsoft.WindowsMobile.PocketOutlook • Email & SMS • + Attachments • Recipient ≠ Contact ! • BeispielDim message As New SmsMessagemessage.To.Add(New Recipient(callerNumber))message.Body = “Update Process 203 RPC40o" + selectedTimemessage.Send() 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
Szenario „Dispatching“ mit SnAPI SMS ISDN Torsten Weber | I Was ist Mobile Computing?
neue APIs - SnAPI • zwei Schritte • SystemState-Objekt erzeugen • Event-Handler anhängen • BeispielSystemState 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
neue APIs - SnAPI • BeispielSystemState 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
Leitfaden für die erste mobile Anwendung • Visual Studio • andere IDE ist möglich • Emulatoren sind dabei • mobiler SQL Serverist 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
II Grundlagenmobile Webanwendungen Leitfaden für die erste mobile Anwendung • für den physischen Zugriffauf 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]
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?
2 Szenarien für das Wie für Mobile AJAX Torsten Weber | II Mobiles AJAX – Wie geht es?
2 Szenarien für das Wie für Mobile AJAX 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?