Mut zur Lücke

Microsoft, Google und Apple - drei Konzerne, drei Konzepte. Was, wenn die "Work-Life-Balance" oder der Alltag eines Nerds eine Kompatibilität erfordert? - PhoneGap könnte die Lösung sein.

 

Wenn drei große Konzerne mit drei großen Betriebssystemen unsere Welt beherrschen, dann ist es logisch, dass Menschen, die sich nicht für die Glaubensfragen hinter dieser Software interessieren auf zweierlei Art und Weise mit Unverständnis in dieser Welt leben müssen - je nach Betrachtung kann einem das entweder egal sein oder aber man muss sich mit einer Uneinheitlichkeit herumplagen, die gewollt zu sein scheint. Denn die drei Globalplayer sind Konkurrenten. Sie teilen einen der wenigen Kuchen, der tatsächlich immer noch größer wird und sich permanent neu formiert. Ist diese Uneinheitlichkeit eventuell Ursache für diese ständigen Neuerungen? Ist sie vielleicht gewollt? Was, wenn das Bestreben nach Einheitlichkeit irgendwann Erfolg hat?

 

Jetzt das Ganze mal ein wenig konkreter: Windows, Android und OSX/IOS - Microsoft, Google und Apple. Sie beherrschen die Welt. Streng genommen haben Android und OSX die gleiche Quelle, nämlich Linux. Aber das lassen wir jetzt mal außer acht.

Jetzt gibt es zwei Arten von Menschen. Zum einen diejenigen, die für einen bestimmten Zweck eine APP bzw. eine Anwendung benötigen. Beispiel: Eine Anwendung, mit der sich wiederkehrende Aufgaben verwalten lassen. Jetzt hat dieser erste Mensch das Problem, dass er privat ein iPhone nutzt, dienstlich einen Windows PC und ebenfalls dienstlich ein Smartphone mit Android. Der Work-Life-Balance Bullshit suggeriert ihm, dass er private und dienstliche Aufgaben verquicken muss - er sucht also eine Anwendung, die auf allen drei Plattformen läuft.

Der zweite Mensch ist der Softwareentwickler, der diese Notwendigkeit erkannt hat und sich mit diesem Problem auseinanderzusetzen hat - er muss eine Anwendung konstruieren die theoretisch und praktisch in den drei genannten Universen läuft. Das war vor Jahren eine kaum lösbare Herausforderung. Es ist heute immer noch eine Herausforderung aber nicht mehr unlösbar, je nachdem, wie komplex eine Anwendung sein soll.

 

Wie funktioniert eine plattformübergreifende Anwendungsentwicklung? Neben Java gab es bisher zwei Konzepte, die sich darauf konzentrierten für ein sogenanntes Framework, welches auf allen Plattformen existiert, Quellcode kompilieren zu können. Im Klartext: Ein Button oder ein Fenster unter Windows wird mit den gleichen Eigenschaften und Methoden angesprochen, wie unter OSX. Der Entwickler nutzt denselben Quellcode, er braucht ein Programm nur einmal zu entwickeln. Der erste erfolgreiche Ansatz hierfür steckt im kommerziellen QT-Framework, welches sich auch langsam aber sicher ausbreitet (das Programm, mit dem ich diesen Text schreibe, wurde mit diesem Framework erstellt).

Dann gab es den Open Source Ansatz mit dem Mono-Framework. Diesem Konzept hat sich Microsoft angenommen und es um Xamarin ergänzt. Wer heute mit C# oder Visual Basic – das sind die Platzhirsche der Programmiersprachen von Microsoft – entwickelt, der muss sich nichts Neues aneignen, wenn er auch Android oder OSX Programme erstellen möchte. Höhepunkt dieser Entwicklung war der Release von „Visual Studio“ unter OSX.

 

Aber, um es direkt zu sagen – das Ganze funktioniert immer nur teilweise. Mir war es bisher nicht möglich, mit Mono unter OSX und Visual Basic ein Formular zu erstellen. Und bei diesem Xamarin verstehe ich die Manifestation von Anwendungen nicht. Das liegt schlicht an der Vielfalt der Möglichkeiten. Und auch an der fehlenden Zeit und dem notwendigen Hintergrundwissen, um mich dort erst einzuarbeiten. Als Programmierer bedeutet Arbeitszeit Geld - ich muss in der Lage sein, ein Konzept sofort nutzen zu können.

 

So kommen wir zu dem eigentlichen Thema. Es gibt einen Ansatz plattformübergreifender Programmierung, der es mir ermöglicht hat, mit nur wenigen Mausklicks eine Anwendung für beliebige mobile Endgeräte zu erstellen. Man hat sofort ein Ergebnis und die Möglichkeiten sind vielfältig und lassen sich stetig erweitern. Diese Lösung kommt von Adobe, kostet nichts und nennt sich „PhoneGap“. Die Idee ist simple: Eine App ist nichts anderes als eine Webanwendung. Der Entwickler schreibt keinen Code im herkömmlichen Sinn, sondern er gestaltet eine Webseite wobei alle dynamischen Bibliotheken genutzt werden können. Auch externe Seiten können z.B, über IFrames eingebunden werden. Sämtliche Javascript Frameworks stehen zur Verfügung. Zur Gestaltung die ganze Bandbreite von CSS. Der Trick ist, dass auf dem Device, also dem Handy oder dem Tablet, eine spezielle Version des Apache Webbrowser als Container fungiert („Apache Cordova“). Man muss sich die Anwendung wie einen blanko Browser vorstellen.

 

Für die Programmierung nimmt man einfach den üblichen HTML Editor, den man bevorzugt. „Visual Studio Code“ von Microsoft, den es auch für alle Plattformen gibt, bietet sich an. 

Links sehen Sie einen Screenshot mit der Anwendungen als Test im Webbrowser, Visual Studio Code und der lokalen Anwendungen Phonegap Desktop, welche den Apache Webserver beinhaltet. Rechts sehen Sie das fertige Ergebnis, in Echtzeit, auf einem Handy. Auf diesem Handy wurde die Developer App von Phonegap installiert. Diese App gibt es für Android und IOS.


Die Anwendungsmöglichkeiten sind schier unbegrenzt. Alles, was sich als Webseite darstellen lässt, kann auch als APP erstellt werden. Mehr noch - ein Entwickler machte eine vorhandene Webseite responsive – die Webseite ist die App. PhoneGap nutzt den Quasi-Standard HTML und umgeht damit die naturgegebenen Unterschiede.

 

Stellt Euch also darauf ein, dass es meine Bücher demnächst als APP gibt. Die APP „Der Dorfpoet“ ist bereits in der Mache ;-)