Übersicht über die Anwendungsentwicklung (Geräte)
Aktualisiert: November 2007
Die Entwicklung von Anwendungen für intelligente Geräte unterscheidet sich nicht sehr von der Entwicklung von Desktopanwendungen. Dieses Thema enthält eine Übersicht über die Hauptschritte, die bei der Entwicklung von Anwendungen für intelligente Geräte ausgeführt werden, und zeigt die Unterschiede zwischen der Entwicklung von Desktopanwendungen und Anwendungen für intelligente Geräte auf.
Entwurfsüberlegungen
Arbeiten mit Geräten und Emulatoren
Erstellen der Anwendung
Sicherheitsüberlegungen
Packen und Bereitstellen der Anwendung
Geräteanwendungen im Vergleich zu Desktopanwendungen
Entwurfsüberlegungen
Projektmappen für intelligente Geräte und Windows CE
Informationen zum besseren Verständnis des Verhältnisses zwischen Software für Windows CE, Pocket PC, Smartphone und Windows Mobile™ finden Sie im Windows Mobile Developer Center im Artikel Learn Windows Mobile. Weitere Informationen finden Sie unter Entwurfsüberlegungen zum Entwickeln für intelligente Geräte.
Versionskompatibilität
Um zu bestimmen, welche Versionen von Tools und Technologien beim Entwickeln von Geräteanwendungen zusammenspielen, finden Sie Informationen unter Introduction to Development Tools for Windows Mobile-based Pocket PCs and Smartphones. Verwaltete Projekte müssen für Version 2.0 oder 3.5 von .NET Compact Framework entwickelt werden.
Entwurfsrichtlinien
Die Art und Weise, wie Sie eine Geräteanwendung entwerfen, bestimmt, wie einfach, schnell und effizient ein Benutzer Aufgaben mit dieser Anwendung erledigen kann. Je stärker Sie die Anwendung für die maximale Nutzung der Features unterschiedlicher Geräte optimieren, desto einfacher verwendbar, konsistenter, reaktionsschneller und leichter zugänglich, kurz gesagt, desto benutzerfreundlicher ist die Anwendung. Ausführliche Entwurfsrichtlinien zu bestimmten Benutzeroberflächenfeatures erhalten Sie im SDK (Software Development Kit) für Ihr Gerät und in einem eigenen Abschnitt zu intelligenten Geräten.
Arbeiten mit intelligenten Geräten und Emulatoren
Geräteemulator
Der Geräteemulator wurde speziell für Visual Studio-Geräteprojekte entwickelt. In ihm werden Anwendungen ausgeführt, die für den ARM-Befehlssatz kompiliert wurden. Die Ausführung erfolgt als Prozess im Benutzermodus. Visual Studio unterstützt nun die DMA (Direct Memory Access)-Übertragung für die Kommunikation mit dem Emulator. Im Gegensatz zur herkömmlichen TCP/IP-Übertragung ist die DMA-Übertragung schneller, sie ist nicht von Netzwerkverbindungen oder anderen externen Faktoren abhängig, und sie bietet deterministische Verbindungsherstellung und -trennung.
Visual Studio enthält Emulatorabbilder für Windows Mobile 5.0 und Windows Mobile 2003. Zusätzliche Emulatoren werden bei der Installation weiterer SDKs wie Windows Mobile 6 installiert.
Um den Emulator zu öffnen, klicken Sie im Menü Extras auf Mit Gerät verbinden, wählen den gewünschten Emulator aus und klicken dann auf Verbinden.
Herstellen der Verbindung zu Geräten
Visual Studio verwendet das Core Connectivity-Framework, um eine sichere und zuverlässige Verbindung zwischen Entwicklungscomputer und Zielgerät herzustellen. Visual Studio verwendet diese Verbindung, um auf einem Gerät oder Emulator Dateien bereitzustellen und Anwendungen zu debuggen. Weitere Informationen finden Sie unter Verbinden von intelligenten Geräten mit Entwicklungscomputern.
Erstellen, Debuggen und Testen von Geräteanwendungen
Verwaltete Anwendungen
Mit Visual Studio können Sie Anwendungen für Version 2.0 oder Version 3.5 von .NET Compact Framework schreiben, indem Sie die Programmiersprachen Visual C# oder Visual Basic verwenden. Anwendungen für intelligente Geräte verweisen auf Assemblys in .NET Compact Framework und werden von der .NET Compact Framework-Common Language Runtime auf dem Gerät ausgeführt.
Um die Entwicklung zu unterstützen, bietet Visual Studio die folgenden Features:
Projektvorlagen für intelligente Geräte für verschiedene Anwendungstypen und Zielplattformen.
Weitere Informationen finden Sie unter Dialogfeld "Projekteinstellungen für intelligente Geräte".
Entwurfszeitunterstützung für Windows Forms-Anwendungen, die über Drag & Drop-Steuerelemente verfügen.
Weitere Informationen finden Sie unter Erstellen und Entwickeln von verwalteten Geräteprojekten.
Entwurfszeitunterstützung zum Erstellen von Anwendungen mit umfangreichen Daten, die SQL Server Compact 3.5-Datenbanken verwenden.
Weitere Informationen finden Sie unter Verwenden von SQL Server Compact 3.5-Datenbanken (Geräte).
Testtools zum Testen von Anwendungen für intelligente Geräte.
Weitere Informationen finden Sie unter Testtools für Projekte für intelligente Geräte.
Systemeigene C++-Anwendungen
Mit Visual Studio können Sie unter Verwendung der Programmiersprache Visual C++ Anwendungen für intelligente Geräte schreiben, die direkt auf einem Gerät ausgeführt werden. Weitere Informationen finden Sie unter Programmieren für Geräte mit Visual C++.
Sicherheit
Windows Mobile-Anwendungssicherheit
Entwickler für intelligente Geräte müssen berücksichtigen, wie sich unterschiedliche Sicherheitskonfigurationen auf die Ausführung ihrer Anwendungen auswirken. Die Anwendung wird möglicherweise nicht ausgeführt, wenn sie nicht signiert bzw. mit einem Zertifikat signiert ist, das auf dem Gerät des Benutzers nicht vorhanden ist. Weitere Informationen finden Sie unter Sicherheit bei Geräteprojekten.
Sonstige Sicherheitsüberlegungen
Der Aspekt der Remoteverbindung für Geräteanwendungen führt zu zusätzlichen Sicherheitsproblemen. Weitere Informationen finden Sie unter Sicherheit in .NET Compact Framework und Sicherheit in systemeigenem Code und .NET Framework-Code.
Packen der Anwendung für die Bereitstellung
Visual Studio enthält Tools zum Packen der Anwendung für intelligente Geräte in eine CAB-Datei oder ein MSI-Desktopinstallationsprogramm. Weitere Informationen finden Sie unter Verpacken von Gerätelösungen für die Bereitstellung.
Gerät im Vergleich zu Desktop
Für Geräteanwendungen verwenden Sie dieselbe integrierte Entwicklungsumgebung (Integrated Development Environment, IDE) von Visual Studio wie bei der Entwicklung von Desktopanwendungen. Einige Unterschiede zeigen sich jedoch bei der Auswahl von Geräten.
Die Visual Studio-IDE bietet zusätzliche Tools für die Herstellung einer Verbindung zu einem Gerät und für das Debuggen auf diesem Gerät.
Neben einem Projekttyp und einer Vorlage müssen Sie bei der Projekterstellung ein Gerät auswählen, auf dem die Anwendung ausgeführt und gedebuggt werden soll. Bei dem Gerät kann es sich entweder um ein physisches Gerät handeln, das mit dem Entwicklungscomputer verbunden ist, um ein vernetztes Gerät oder um einen Geräteemulator, der auf dem Entwicklungscomputer ausgeführt wird.
Die Klassenanzahl sowie die Member der Klassen unterscheiden sich von denen, die für die Entwicklung von Desktopanwendungen verfügbar sind. In verwalteten Projekten, die .NET Compact Framework verwenden, sind für Geräte weniger Klassen verfügbar, und die ergänzten Klassen unterscheiden sich in der Regel zwischen den verschiedenen Plattformen. Dasselbe gilt für systemeigene Projekte, in denen nur eine Teilmenge der Windows-APIs, MFC-Klassen und ATL-Komponenten zur Verfügung steht. Welche Klassen verfügbar sind, können Sie in der Dokumentation, mithilfe von IntelliSense oder im aktiven Projekt mithilfe des Objektbrowsers von Visual Studio feststellen.
Wie bei Desktopanwendungen können Sie auf systemeigenen Code zugreifen, indem Sie Plattformaufrufe verwenden. .NET Compact Framework bietet nur beschränkte Unterstützung für COM-Interop. Es unterstützt keine Erstellung von COM-Objekten in verwaltetem Code oder die Zusammenarbeit mit ActiveX-Steuerelementen.
Unterschiede bestehen auch bei bestimmten sprachspezifischen Elementen. Beispielsweise werden einige Visual Basic-Schlüsselwörter für Desktopanwendungen nicht unterstützt.
Manche Codeausschnitte und Beispiele, die in der Visual Studio-Dokumentation für Desktopprojekte bereitgestellt werden, können in Geräteprojekten Buildfehler auslösen.
Bestimmte Designaspekte sind zu berücksichtigen, z. B. der Formularfaktor des Geräts, der Stromverbrauch, Speicherplatzbeschränkungen und andere Faktoren, die bei der Desktopentwicklung keine Rolle spielen.
Zusätzliche Ressourcen
Weitere Informationen finden Sie im Mobile Developer Center.