Posted on Leave a comment

Apache Cordova: Framework für das einfache Erstellen von Smartphone-Apps

Apache Cordova: Framework für das einfache Erstellen von Smartphone-Apps

blank

Das Smartphone ist für die meisten Menschen in Deutschland bereits zu einem unverzichtbaren Begleiter geworden. Sie können sich damit jederzeit und an jedem Ort Informationen über das Internet beschaffen, Spiele spielen oder viele verschiedene Aufgaben erledigen. Die Nutzungszahlen liegen bereits seit vielen Jahren deutlich höher als bei herkömmlichen PCs. Für zahlreiche Gewerbebetriebe ist das Smartphone bereits zu einem unverzichtbaren Mittel für die Kommunikation mit den Kunden geworden. Auch für viele interne Prozesse in einem Unternehmen ist dieses Geräts mittlerweile sehr wichtig. Für diese Zwecke kommen meistens Apps zum Einsatz. Mit dem Framework Apache Cordova können Sie diese auf einfache Weise erstellen.

Apps für unterschiedliche Betriebssysteme entwickeln

Wenn Sie eine Smartphone-App entwickeln wollen, besteht das Problem, dass hierbei unterschiedliche Betriebssysteme verfügbar sind. Besonders häufig kommt das Betriebssystem Android von Google zum Einsatz. Doch auch iOS von Apple ist weit verbreitet. Darüber hinaus gibt es noch einige weitere Möglichkeiten. Ältere Geräte verwenden beispielsweise häufig noch Windows 10 mobile – ein Betriebssystem von Microsoft für Smartphones, das mittlerweile jedoch nicht mehr unterstützt wird. Darüber hinaus gibt es LG webOS, Blackberry und Tizen. Obwohl diese Auflistung noch nicht ganz vollständig ist, zeigt sie bereits, wie vielfältig die Möglichkeiten sind.

Eine native App muss jedoch stets auf das Betriebssystem abgestimmt sein. Dabei kommen jeweils ganz unterschiedliche Techniken und Programmiersprachen zum Einsatz. Wenn Sie nun eine App für die Kunden eines Unternehmens programmieren möchten, stehen Sie vor einer schwierigen Entscheidung: Entweder können Sie eine Version für alle genannten Betriebssysteme entwickeln, was jedoch mit einem enormen Aufwand verbunden wäre. Oder Sie beschränken sich auf eines dieser Betriebssysteme – beispielsweise auf Android. Das würde die Entwicklungskosten deutlich reduzieren. Aufgrund der hohen Verbreitung erreichen Sie damit auch viele Kunden. Allerdings schließen Sie dabei zahlreiche Nutzer aus. Das kann negative Auswirkungen haben.

Apache Cordova dient dazu, dieses Problem zu umgehen. Hierbei handelt es sich um eine Technik, die es erlaubt, Smartphone-Apps für alle gängigen Betriebssysteme zu erstellen. Dennoch sind hierfür nur ein Code und nur eine Programmiersprache notwendig. Das führt dazu, dass Sie auf diese Weise sehr viele Menschen erreichen können. Dennoch bleibt der Aufwand für die Entwicklung gering. Das reduziert die Kosten erheblich.

Die Entstehungsgeschichte von Apache Cordova

Die erste Version von Apache Cordova entstand 2009 bei einem iPhoneDevCamp – einer Veranstaltung für die Entwickler von iPhone-Apps. Dabei präsentierte eines der anwesenden Teams die erste Version des Frameworks – unter der Bezeichnung PhoneGap. Diese Technik zog viel Aufmerksamkeit auf sich. Noch im gleichen Jahr gewann PhoneGap den People’s Choice Award bei der renommierten O’Reilly Media Web 2.0 Conference. Im darauffolgenden Jahr verkündete das Unternehmen Apple offiziell, dass es der Verwendung von PhoneGap für die Entwicklung von iOS-Apps zustimmt. Das Framework selbst wurde damals vom kleinen Software-Unternehmen Nitobi vermarktet. Diese Erfolge zogen jedoch bereits bald darauf das Interesse größerer Firmen auf sich. So kam es 2011 zu einer Übernahme durch Adobe.

Das führte zu größeren Veränderungen hinsichtlich der Nutzung des Frameworks. Die Technik wurde dabei in zwei Bereiche gespalten. Das bisherige Framework spendete Adobe der Apache Software Foundation. Dieses ist seither als freie Software erhältlich. Dabei kam es auch zu einer Änderung des Namens. Zunächst erhielt dieses Projekt die Bezeichnung Apache Callback, ehe es in Apache Cordova umbenannt wurde.

Adobe führte hingegen den Namen PhoneGap fort. Dabei handelt es sich jedoch nicht um ein eigenständiges Framework, sondern lediglich um eine Distribution, die auf Apache Cordova beruht. Mittlerweile nutzen jedoch noch viele weitere Anwendungen Apache Cordova – beispielsweise Ionic, Monaca, Onsen UI und Cocoon. Darüber hinaus ist es möglich, direkt mit Apache Cordova zu arbeiten. Das bietet den App-Entwicklern vielfältige Anwendungsmöglichkeiten.

Hybrid-Apps – was bedeutet das?

Apache Cordova eignet sich für die Gestaltung von Hybrid-Apps. Dabei handelt es sich um eine spezielle Technik, die eng mit diesem Framework verbunden ist. Apache Cordova – damals jedoch noch unter der Bezeichnung PhoneGap – hat die Verbreitung dieser Technik erst angestoßen. Vor der Entstehung von PhoneGap gab es zwar bereits einige Versuche mit hybriden Apps, doch waren diese nur wenig erfolgreich. Erst mit der Entwicklung von PhoneGap entstand ein Framework, das die Entwicklung von Hybrid-Apps einer größeren Gruppe von Entwicklern möglich machte.

Um die Funktionsweise von Hybrid-Apps zu verstehen, ist es zunächst wichtig, die Unterschiede zwischen nativen Apps und Web-Apps zu erklären. Native Apps sind Programme, die direkt auf dem entsprechenden Gerät installiert sind. Sie stehen in direktem Austausch mit dem Betriebssystem und können auf diese Weise auf alle Funktionen des Geräts – wie etwa die Kamera oder den Bewegungssensor – zugreifen. Das bietet nicht nur vielfältige Möglichkeiten für die Funktionen der Apps. Darüber hinaus ist diese Technik sehr effizient. Daher stellen native Apps im Prinzip stets die beste Lösung dar. Wie bereits angesprochen, ist es hierbei jedoch erforderlich, für jedes Betriebssystem eine eigene Version zu entwickeln. Das bringt nicht nur einen enormen Aufwand mit sich. Da hierfür auch verschiedene Programmiersprachen zum Einsatz kommen – beispielsweise Swift für iOS-Anwendungen und Java für Android-Apps – sind für diese Aufgabe sogar vollkommen unterschiedliche Entwickler-Teams notwendig.

Web-Apps stellen eine Möglichkeit dar, um dieses Problem zu beheben. Sie laufen komplett im Webbrowser ab. Allerdings sind sie nicht wie eine gewöhnliche Webseite aufgebaut. Normalerweise bieten sie eine individuelle Benutzeroberfläche, die eine effiziente Interaktion mit dem Anwender ermöglicht. Die App wird dabei im Browser aufgerufen und ausgeführt. Sie hat keinen direkten Zugriff auf das Betriebssystem. Das bringt den Vorteil mit sich, dass hierbei nur eine einzige Version für alle Betriebssysteme ausreicht. Diese lässt sich auf jedem Gerät ausführen, das über einen Webbrowser verfügt. Auf der anderen Seite sind damit aber auch einige Nachteile verbunden. Beispielsweise werden die Daten hierbei über das Internet übertragen. Wenn eine geringe Datenübertragungsrate besteht, führt das zu erheblichen Verzögerungen. Ein weiterer Nachteil besteht darin, dass es auf diese Weise nicht möglich ist, auf alle Funktionen des Geräts zuzugreifen. Schließlich müssen Sie beachten, dass sich Web-Apps nicht auf dem Gerät installieren lassen. Sie werden wie eine gewöhnliche Webseite im Browser aufgerufen. Das bringt auf der einen Seite den Vorteil mit sich, dass zu Beginn der Zugriff recht einfach ist, da keine Installation erforderlich ist. Wenn der Anwender jedoch eine native App einmal installiert hat, führt das zu einem besonders einfachen Zugang. Daher ist dies für regelmäßige Nutzer besser.

Hybride Apps weisen sowohl Aspekte von nativen Apps als auch von Web-Apps auf. Sie verwenden zwar ebenfalls den Browser, um auf die App auf dem Smartphone darzustellen. Allerdings ist dieser Zusammenhang für den Anwender nicht erkennbar. Der Browser dient lediglich als Wrapper. Auf diese Weise können Sie beispielsweise alle typischen Browser-Bedienelemente wie die URL-Anzeige unterdrücken. Das ermöglicht eine individuellere Gestaltung als bei Web-Apps. Außerdem lassen sich auf diese Weise Anwendungen fest auf dem Gerät installieren. Ein weiterer Vorteil besteht darin, dass mit dieser Technik ein erweiterter Zugriff auf die Funktionen des Geräts möglich ist als bei Web-Apps. Darüber hinaus ist die Ausführungsgeschwindigkeit deutlich höher – aber nach wie vor niedriger als bei nativen Apps.

HTML, CSS und JavaScript: auf bekannte Techniken zurückgreifen

Ein weiterer großer Vorteil von Apache Cordova besteht darin, dass dieses Framework keine vollkommen neue Technik verwendet. Es beruht auf weit verbreiteten Auszeichnungs- und Programmiersprachen: auf HTML5, CSS und auf JavaScript. Das stellt für alle Entwickler, die bereits über gute Kenntnisse im Bereich der Gestaltung von Webseiten verfügen, große Vorteile dar. HTML5 und CSS dienen dabei der optischen Gestaltung der Anwendung. Dabei gibt es kaum Unterschiede zur Gestaltung mobiler Webseiten für das Smartphone. Mit JavaScript können Sie die Funktionsweise der App festlegen. Auch hierbei handelt es sich um eine sehr weit verbreitete Programmiersprache, die häufig im Bereich der Webentwicklung zum Einsatz kommt.

Auf diese Weise ist für viele Webentwickler der Einstieg in die App-Entwicklung ausgesprochen einfach. Sie können genau die Programmier- und Auszeichnungssprachen verwenden, die sie bereits nutzen. Zwar gibt es auch hierbei einige Unterschiede bei der Nutzung von Apache Cordova. Diese sind jedoch sehr geringfügig, sodass die Einarbeitung in der Regel leicht fällt.

Apps mit Apache Cordova in verschiedenen Umgebungen entwickeln

Apache Cordova zeichnet sich nicht nur dadurch aus, dass Sie mit diesem Framework Apps für viele verschiedene Smartphone-Betriebssysteme erstellen können. Darüber hinaus kann die Entwicklung auch auf jedem beliebigen Computer stattfinden. Frameworks für die App-Entwicklung für iOS sind beispielsweise häufig nur für Computer von Apple erhältlich. Diese nutzen ebenfalls ein eigenes Betriebssystem. Das stellt ein weiteres Hindernis bei der Entwicklung dieser Apps dar.

Bei den ersten Versionen von PhoneGap – dem Vorgänger von Apache Cordova – trat dieses Problem ebenfalls auf. Damals war es für Apps, die für ein iPhone oder iPad bestimmt waren, notwendig, einen Apple-Rechner mit dem Betriebssystem MacOS zu verwenden. Für Apps für Windows Phone war hingegen ein Computer mit dem Betriebssystem Windows notwendig. Das erschwerte die Erstellung. Um dieses Problem zu umgehen, hat Adobe 2012 den sogenannten PhoneGap Build Service eingerichtet. Dabei wird der Quellcode der Anwendung auf einen Server geladen und dort kompiliert. Das macht es möglich, passende Versionen für alle unterstützten Smartphones zu erstellen. Das gestaltet auch die Entwicklung der Apps plattformunabhängig.

Fazit: einfache Entwicklung für unterschiedliche Smartphone-Betriebssysteme

Als Fazit kann man festhalten, dass Apache Cordova die Entwicklung von Smartphone-Apps deutlich vereinfacht hat. Der wesentliche Vorteil dieser Technik besteht darin, dass Sie auf diese Weise nur einen Code erstellen müssen und damit Apps für alle gängigen Smartphone-Betriebssysteme erzeugen. Das sorgt für eine deutliche Reduzierung des Entwicklungsaufwands. Hinsichtlich der Performance und der Funktionalitäten sind die hybriden Apps, die hierbei entstehen, nativen Apps beinahe ebenbürtig. Lediglich bei der Ausführungsgeschwindigkeit kommt es zu einigen Defiziten. Dennoch eignet sich Apache Cordova ausgezeichnet, wenn Sie Apps für ein breites Publikum gestalten wollen, ohne dass dabei hohe Kosten für die Entwicklung entstehen.

Bildquelle Logo: https://cordova.apache.org/

Ähnliche Produkte

Schreibe einen Kommentar