Vergleich der Widows Mobile- und Android-Entwicklungsplattform


Vergleich mobiler Entwicklungsplattformen

Einführung

Software-Giganten wie Google stören die ansonsten sicheren und etablierten Akteure im Bereich der Entwicklung mobiler Anwendungen. Neulinge wie Android haben durch die Einführung ihrer Regeln zu erheblichen strukturellen Veränderungen in der Zukunft der Entwicklung mobiler Anwendungen geführt. Diese veränderte Umgebung bringt nicht nur zusätzliche Möglichkeiten mit sich, sondern fügt auch bestimmte Einschränkungen hinzu. Entwickler müssen heute ihre Optionen bewerten und herausfinden, wie sie von dieser veränderten Umgebung profitieren können. 

Während Mobile Computing die Aufmerksamkeit von Anwendungsentwicklern auf sich gezogen hat, wurde nur sehr wenig Arbeit geleistet, um die Programmierfreundlichkeit dieser Technologien zu untersuchen. Hier werden wir uns zwei der am weitesten verbreiteten mobilen Entwicklungsumgebungen ansehen - Android und Windows Mobile - und diese Optionen aus Entwicklersicht untersuchen und bewerten. 

Android

Android wurde 2007 von Google als Open-Source-Plattform für die Entwicklung mobiler Software für Smartphones veröffentlicht. Die Android-Plattform wurde im Rahmen der Open Handset Alliance veröffentlicht. Das Hauptziel dieser Allianz war es, offene Standards für Smartphones festzulegen. Android ist im Grunde ein Linux-basiertes Open-Source-Betriebssystem für Handys. Als mobiles Betriebssystem können Entwickler mithilfe von Java-Bibliotheken, die von Google entwickelt wurden, verwaltete Codes in Java erstellen. Android bietet nicht nur ein mobiles Betriebssystem einschließlich einer Entwicklungsumgebung, sondern auch eine benutzerdefinierte virtuelle Maschine, die als Dalvik Virtual Machine bezeichnet wird, um Anwendungen auszuführen, und fungiert als Middleware zwischen dem Betriebssystem und dem Code. Bei der Anwendungsentwicklung erleichtert Android die Verwendung von 2D- und 3D-Grafikbibliotheken, erweiterte Netzwerkfunktionen wie 3G, Edge und WLAN sowie eine angepasste SQL-Engine für die kontinuierliche Speicherung. 

Windows Mobil

Das von Microsoft entwickelte Windows Mobile ist ein Betriebssystem für mobile Geräte. Basierend auf Microsoft Windows CE 5.0 wird Windows Mobile als Betriebssystem auf vielen Smartphones, PDAs und Touchscreen-Geräten verwendet. Windows Mobile erleichtert die Erstellung von benutzerdefinierten geschriebenen Anwendungen in verwalteten und nativen Codes. Die Anwendungsprogrammierschnittstelle (Application Programming Interface, API) in Windows Mobile ist erweiterbar und verfügt über umfangreiche Funktionen sowie eine programmierbare Ebene. Darüber hinaus nutzt Windows Mobile auch die Funktionen der Microsoft.Net-Umgebung. 

Wir werden diese Plattformen vergleichen und ihre Stärken und Schwächen genau untersuchen. Die Plattformen werden anhand von Implementierungs- und Leistungsaspekten sowie Entwicklerunterstützung verglichen. Wir haben diese Kriterien für den Vergleich ausgewählt, da sie die wichtigsten Aspekte für Entwickler mobiler Software darstellen. 

Implementierung

Wir werden persistenten Speicher als Grundlage für den Vergleich des Implementierungsaspekts verwenden. Die Technologie für die dauerhafte Speicherung in der Mobiltechnologie variiert zwischen verschiedenen mobilen Entwicklungsumgebungen. Sowohl Windows Mobile als auch Android können eine Datenbank auf dem Gerät verwenden, die eine einfachere Bearbeitung sowie das Extrahieren von Daten erleichtert. In Bezug auf die lokale Dateispeicherung unterstützen beide Umgebungen Speicherkarten für zusätzlichen Speicherplatz. Der Unterschied liegt jedoch in der Art und Weise, wie der Speicherplatz genutzt wird. Während Android keine Anwendungen auf Speicherkarten installieren kann, lässt Windows Mobile dies zu. Sowohl Android- als auch Windows Mobile-Plattformen verfügen über eine relationale Datenbank. Außerdem verfügen die Bibliotheken auf beiden Plattformen über einige nützliche Persistenzfunktionen. Nach der Initialisierung der Bibliotheken ist der Zugriff auf die Datenbank über eine objektorientierte Schnittstelle möglich, auf die Entwickler problemlos zugreifen können. 

Performance

Leistungsdaten sind sowohl für Benutzer als auch für Entwickler wichtig. Der Leistungsvergleich der beiden Plattformen wird anhand der Dateigröße durchgeführt. Der Hauptzweck der Messung der Dateigröße besteht darin, eine bessere Vorstellung von der Konfiguration sowie den Laufzeitabhängigkeiten zu erhalten, die in gepackten Anwendungen enthalten sind. 

Android-Anwendungen werden in APK-Dateien (Android Package) geliefert. Die .APK-Datei enthält im Allgemeinen eine Gruppe von .DEX-Dateien (Android-Programmdateien), die wie eine einzelne Anwendungsdatei zur Verwendung auf der Android-Plattform funktionieren. Die .APK-Datei ist im Grunde die komprimierte Version des Inhalts in der & # 39; Androidmanifest.xml & # 39; Datei. 

Windows Mobile-Anwendungen verwenden cab-Dateien für das Packen und Bereitstellen von Anwendungen. Der erste Schritt beim Erstellen einer verteilbaren Datei besteht darin, die Anwendung in eine CAB-Datei (Cabinet) zu packen. Diese CAB-Datei kann auf anderen Geräten bereitgestellt und dort erweitert und installiert werden. Eine CAB-Datei ist im Grunde ein ausführbares Archiv, das die Anwendung, Ressourcen, Abhängigkeiten wie DLLs und andere Ressourcendateien enthält. 

Eine vergleichende Studie zu mobilen Entwicklungsumgebungen wurde von Tom Morten Gronli, Jarle Hansen und Gheorghita Ghinea von der Brunel University in London durchgeführt. In dieser vergleichenden Studie wurde eine Demo-Beispielanwendung sowohl auf der Windows Mobile- als auch auf der Android-Entwicklungsplattform erstellt, um die Größe der Bereitstellungsdatei für jede Anwendung besser zu veranschaulichen. Die Demo-Beispielanwendung war ein einfaches Programm, das eine Textzeile auf dem Bildschirm druckte. Das Ergebnis des Codebeispiels war wie folgt: 
  • Die Bereitstellungsgröße der Demoanwendung in der Windows Mobile-Umgebung betrug 2,8 KB.
  • Die Bereitstellungsgröße der Demoanwendung in der Android-Umgebung betrug 9,3 KB.
Die angegebenen Dateigrößen waren ohne Obfuscator- oder Shrinker-Software. Dies ist der Dateityp, den ein Endbenutzer entweder herunterladen oder versenden und dann auf seinem Gerät installieren würde. Wie von oben zu sehen ist, hatte die Demo-Anwendung in Windows Mobile eine Dateigröße von 2,8 KB, während Android mit 9,3 KB ungefähr dreimal so groß war. Dies dient als Hinweis auf die Gesamtzahl der Konfigurationsdateien und Laufzeitabhängigkeiten, die zusammen mit jeder Clientanwendung gebündelt werden müssen. In Bezug auf die Anzahl der Codezeilen benötigte Windows Mobile nur 11 Zeilen, während Android 28 benötigte. 

Vergleich der Entwicklerunterstützung

Entwicklerunterstützung ist ein sehr wichtiger Aspekt, wenn es darum geht, Geschwindigkeit und Qualität während des Entwicklungsprozesses zu steigern. Obwohl beide mobilen Entwicklungsplattformen Ähnlichkeiten aufweisen, gibt es einige einzigartige Unterschiede in der Entwicklerunterstützung. Die Unterschiede werden deutlicher, wenn wir die integrierte Entwicklerumgebung (IDE) und die Tools berücksichtigen. 

Die einzige Wahl für die Entwicklung in Windows Mobile ist Visual Studio, das erneut von Microsoft entwickelt wird. Mit Visual Studio benötigt Windows Mobile Microsoft-Unterstützung, bevor neue Funktionen in der IDE implementiert und ausgeliefert werden können. Die Community kann nur Vorschläge machen, hat aber keinen direkten Einfluss. Es gibt jedoch eine positive Seite, da die Konsistenz gewährleistet ist. Auch der von Microsoft beim Versand neuer Produkte implementierte Qualitätsgenehmigungsprozess sichert die Qualität. 

Auf der anderen Seite gibt es mehrere Tooling-Optionen für Android mit einigen IDEs. Android verfügt über Open Source-Communities, die zur IDE-Entwicklung beitragen, indem sie die Qualität der Plugin-Funktionen für Software bereitstellen und sicherstellen. Die Umgebung mit mehreren IDEs kann jedoch eine ziemliche Herausforderung für die Aufrechterhaltung der Konsistenz und Qualitätssicherung darstellen. Konsistenz wird zu einer Herausforderung, da Erweiterungsfunktionen möglicherweise nur für einige der konkurrierenden IDEs verfügbar sind. Die Qualitätssicherung wird zu einer großen Herausforderung, da die von der Community durchgeführte Entwicklung nicht durch einen gemeinsamen Qualitätsstandard geregelt wird, der vor der Bereitstellung der neuen integrierten Entwicklerumgebung erforderlich ist. Die Qualitätssicherung des gelieferten Codes ist für die Lieferung voll funktionsfähiger Produkte von wesentlicher Bedeutung. Diese beiden Faktoren können möglicherweise die Code- und Anwendungsportabilität zwischen Umgebungen unmöglich machen. 

Einer der Unterschiede zwischen der Android- und der Windows Mobile-Entwicklungsplattform in Bezug auf Entwicklerunterstützung und Qualitätssicherung wird in der Testumgebung deutlicher. Schauen wir uns dies beim Unit-Test beider Entwicklungsplattformen genauer an. 

Unit Testing ist im Grunde ein Qualitätssicherungs- und Validierungswerkzeug zum Testen kleiner Teile eines Computers oder mobiler Anwendungen. Ziel ist es, jeden Abschnitt einzeln zu isolieren und zu testen. Dies wird dazu beitragen, die Qualität der verschiedenen Einheiten der Anwendung zu isolieren und sicherzustellen. 

Unit-Tests für Android sind sehr einfach, da die API das JUnit-Testframework verwendet. Das JUnit-Framework erzwingt eine hierarchische Organisation der verschiedenen Testeinheiten, was ein großer Vorteil ist. Außerdem gewährleistet das JUnit-Muster die Unabhängigkeit der Testeinheiten und minimiert Interferenzen. Dazu wird vor und nach jeder Testmethode zuerst die kürzlich erstellte Testumgebung erstellt und anschließend zerstört. Android geht mit JUnit sogar noch einen Schritt weiter, indem es das Testen des Codes auf dem Gerät ermöglicht. Hier sind die Testbibliotheken Teil der Standardbibliotheken von Android. 

Es gibt jedoch eine Herausforderung bei Android-Tests beim Gerätetest im Vergleich zu Windows Mobile: die Ergebnisse. Lesbarkeit. Android-Tests auf Geräten verfügen nicht über eine Benutzeroberfläche, über die die Testergebnisse angezeigt werden können. Um die Testergebnisse anzuzeigen, muss ein Handler implementiert werden, der Rückrufe vom Testläufer von Android verarbeitet. 

Windows Mobile hingegen weist ein hohes Maß an Lesbarkeit und Sichtbarkeit auf, während die Android-Plattform in Bezug auf Effizienz etwas schwierig zu bedienen ist. Die Schwierigkeit bei Android ist das Fehlen von Feedback, das automatisch über visuelle Tools in der integrierten Entwicklungsumgebung in Windows Mobile ausgegeben wird. 

Windows Mobile implementiert eine Version des xUnit-Frameworks. Der Code für Testklassen wird in einem separaten Projekt gespeichert, obwohl er immer noch in einer Lösung in der IDE verbleibt. Wie bei Android ermöglicht auch der xUnit-Test von Windows Mobile das Testen von Geräten. Der größte Unterschied besteht hier, wie bereits erwähnt, in der Testrückmeldung. Windows Mobile verfügt über eine umfassendere Benutzeroberfläche, die Feedback zu jedem Testlauf bietet. Dies erleichtert Entwicklern das bessere Verständnis, welcher Test erfolgreich war und warum ein bestimmter Test fehlgeschlagen ist. 

Die Debugging-Unterstützung ist auch für die Anwendungsentwicklung wichtig, da es sich um eine schrittweise Code-Ausführung in Echtzeit handelt, mit deren Hilfe Fehler gefunden und behoben werden können. Der Debugging-Prozess hängt von der integrierten Entwicklungsumgebung ab, um seine Aufgabe auszuführen. Sowohl Windows Mobile- als auch Android-Plattformen unterstützen das schrittweise Debuggen. Außerdem enthalten beide Plattformen eine Debugging-Funktion auf dem Gerät, mit der eine Anwendung auf einem mobilen Gerät ausgeführt werden kann, während das Debugging in der IDE ausgeführt wird. 

Fazit

Sowohl Android als auch Windows Mobile haben den Vorteil, dass sie eng in das Betriebssystem des Mobiltelefons integriert sind. Dies führt zu einer hervorragenden Integration zwischen dem mobilen Gerät und der Entwicklungsumgebung. Die Hauptstärke von Windows Mobile liegt in der engen Verbindung mit Microsoft als alleinigem Anbieter. Dies gewährleistet die Stabilität der Entwicklungsumgebung sowie eine hohe Qualitätssicherung bei Funktionen, die für Anwendungsentwickler aktiviert sind. Android hingegen hat eine interessante Möglichkeit zur Verbreitung von Apps über den Android-Markt gebracht. Da die Windows Mobile-Entwicklungsplattform ein Produkt von Microsoft ist, basiert sie auf Visual Studio. Visual Studio basiert auch auf dem Windows-Betriebssystem, sodass Sie hier keine Wahl haben. Für Android hingegen bietet Google das Eclipse-Plugin an. Entwickler sind nicht an Eclipse gebunden, da sowohl IntelliJ IDEA als auch Netbeans Entwicklerunterstützung bieten. Dies bedeutet, dass Entwickler die gewünschte IDE und das gewünschte Betriebssystem frei wählen können. Die einfache Entwicklung in verschiedenen Bereichen wird einen großen Einfluss auf die Wahl der mobilen Entwicklungsplattform für die Erstellung unterstützender Umgebungsanwendungen haben. 



Source by Jeff Yelton

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert