Vergleich von Mobile Frameworks - Cross Platform App Development
Die Frage, welches Framework "das Beste" zur Entwicklung von Cross Plattform Apps ist, lässt sich dabei nicht absolut beantworten. Wir stellen die beliebtesten Frameworks vor und geben Ihnen einen tabellarischen Überblick mit Links zu den nackten Fakten. Schließlich vergleichen wir diese und erläutern deren Stärken und Schwächen und zeigen auf, für welchen Nutzertyp sich welches Framework am besten eignet.
Die beliebtesten Frameworks zur Cross Platform App Entwicklung
Mit Google Trends lässt sich schnell ermitteln, welche Frameworks zur Cross Plattform Entwicklung die beliebtesten sind. Nachfolgend die Trendgrafik für die Jahre 2010-2014.
Quelle: Google Trends (Link zum aktuellen Cross-Platform Framework-Vergleich bei Google Trends)
jQuery Mobile steht in dieser Übersicht allerdings außen vor, weil es ein reines JavaScript Framework ist; sich also damit keine nativen Apps programmieren lassen.
Ansonsten ist offenbar Phonegap weiterhin das am weitesten verbreitete Cross Plattform Framework, gefolgt von Sencha. Durchaus brauchbare Alternativen, wie etwa Corona oder Appceletator (Titanium Mobile) werden im Verhältnis deutlich weniger gesucht, obwohl auch diese Ihre Stärken haben.
Tabellarische Übersicht der Cross Platform Frameworks
C++ Frameworks
Framework | Leistungsumfang | Sprache | Links, Tutorials | Preis/Lizenz |
Corona | Framework mit eigener Objective-C ähnlicher Sprache und weitreichenden APIs z.B. für Physik, Sprites, Animation, Social Media Integration uvm. |
Lua (ähnlich Objective C) |
trial/subscription |
HTML5 / JavaScript Frameworks
Framework | Leistungsumfang | OS | Links, Tutorials | Preis/Lizenz |
Sencha Touch | HTML5 Framework mit Drag&Drop Visualisierungen | iOS, Android, BlackBerry, Kindle Fire, web | ab $995 | |
Appcelerator Titanium | JavaScript basierende Plattform mit der Cross Browser Apps programmiert werden können | iOS, android, web | Appcelerator Tutorial "Pizza" | Test kostenlos Preis auf Anfrage |
PhoneGap | HTML5/JS Framework mit Funktion zur Einbettung in native Apps | iOS, android, BlackBerry, Windows Phone, Bada, Symbian, web | Apache License (kostenlos) |
Die HTML5 Cross-Plattform Frameworks im Vergleich
Appcelerator Titanium Mobile
Um mit Titanium Mobile zu programmieren, ist es zunächst notwendig, die Entwicklungsumgebung derjenigen Betriebssysteme zu installieren, für die eine native App entwickelt werden soll (siehe "Quick Start Guide: Entwickeln von nativen Applikationen mit Titanium"). Während des Entwicklungsprozesses wird aber fast ausschließlich in Titaniums SDK, welches auf Python basiert, gearbeitet. Das läuft über Titanium Studio, die Eclipse basierende IDE (Integratet Developer Environment) des Frameworks.
Bei der Erstellung einer App kann dadurch auf alle Hilfsmittel der nativen Entwicklung, wie Code-Completion und Debugging zurückgegriffen werden.
Zum Schluß wird die App kompiliert, technisch wird dabei der JavaScript Code in den nativen Code je nach mobilem OS eingefügt und zur Laufzeit ausgeführt. Die Titanium API sorgt schließlich dafür, dass alle Objekte, die der Programmierer in JS angelegt hat, eine Entsprechung im nativen Code bekommen.
Damit ist fast alles möglich, was auch direkt per nativem Code erreichbar wäre - allerdings derzeit nur in iOS und Android sowie als hybride Web App.
Herstellerangaben zum Titanium Mobile Framework:
- 70% schneller als die Entwicklung mit Objective-C oder Java (bei Entwicklung für iOS UND Android...)
- Eine einzige Plattform zur Entwicklung für iOS, Android und HTML5 (hybride Apps)
- Unbeschränkte Erweiterbarkeit
- Unterstützt 5000+ native APIs
- Läuft mit JavaScript
Appcelerator hat auch einen relativ objektiven und sehr ausführlichen Vergleich zwischen Titanium Mobile und Phonegap veröffentlicht.
Phonegap
Phonegap ist vielleicht deshalb das erfolgreichste Framework, weil es beides bietet: Einerseits einen reinen HTML5 + JS Ansatz, der Webentwickler sehr erfreut und auf der anderen Seite Zugriff auf fast alle Hardwarefeatures eines Smartphones, wie Accelerometer, Kamera und Geolocation (siehe Cordova API Referenz).
Der Programmierer kann daher mit einfachsten Mitteln (einem HTML-Editor und einem Browser mit Code-Inspector) eine Website entwickeln. Das fertige Produkt wird dann in eine native Hülle gebettet, wo dieser Code in einer Web-View ausgegeben wird. Technisch gesehen handelt es sich also bei diesem Ansatz eher um eine Website, die über eine JavaScript Bridge mit dem nativen Wrapper kommuniziert.
Das Phonegap Framework ist daher sehr klein und einfach und die perfekte Wahl für überschaubare Projekte. Wer aus der Web-Entwickler Szene kommt und Dreamweaver nutzt kann sich zudem über den "Kauf" von Phonegap durch Adobe freuen, der weitreichende Funktionen des Ganzen seit CS6 integriert.
Die Probleme beginnen jedoch, wenn man dem Framework etwas mehr abverlangt. Die scheinbar kleinste Hürde ist schon ein großer Stolperstein: das User Interface. Das UI muss in HTML gebaut werden, kann also kein natives UI sein und es mangelt ihm daher an der Dynamik flexibel integrierter Elemente.
Auch auf anderes Handwerkszeug aus der nativen Entwicklerkiste, wie etwa eine ausgeklügelte Table-View über die man die Darstellung von Daten einfach und performant organisieren kann, muss man daher in Phonegap abschreiben.