COMPAREX AG
Cross-Plattform-Softwareentwicklung

Cross-Plattform-Softwareentwicklung für mobile Endgeräte – Chance oder „Fass ohne Boden“?

Ach, was waren die 90er und die ersten Jahre des 21. Jahrhunderts schön. Es gab für Softwareentwickler im Endkunden- und Client-Umfeld eigentlich nur eine Plattform: Microsoft Windows. Inzwischen sind viele verschiedene Plattformen und Betriebssysteme verfügbar, vom traditionellen Desktop-Rechner über das Tablet bis hin zum Smartphone. Das stellt Softwareentwickler aktuell vor neue Herausforderungen, denn im Idealfall sollten sie alle Programme bedienen können. Wie das gehen soll? Sogenannte Cross-Plattformlösungen bringen vielleicht die Lösung.

Ein Beitrag von Matthias Eißing, Technology Consultant, Embarcadero Germany GmbH, CodeGear

Früher war alles besser und vor allem einfacher. Zumindest für Softwareentwickler trifft dies zu: Der Kunde wollte ein Datenbank-Frontend, der Vorstand ein BI-Dashboard, das Call-Center benötigte eine Anbindung vom CRM-System an die Hardware der Telefonanlage. All das hat sich im Umfeld von Windows abgespielt. Was blieb war die Frage nach der passenden Windows-Entwicklungsumgebung.

Seit einigen Jahren haben sich Tablets, Smartphones und Phablets im privaten sowie geschäftlichen Umfeld durchgesetzt. Oft auf Drängen der eigenen Mitarbeiter oder aus strategischen Gründen der Führungsebene. Das Stichwort hier heißt BYODBring Your Own Device. Unternehmen sind heute gefordert, mobile Endgeräte in ihre Umgebung einzubinden, zu konfigurieren und natürlich auch zu sichern.

Einfacher wird es nicht – Softwareentwicklung für mobile Endgeräte

Die Softwareentwicklung für mobile Endgeräte hat das Leben des Entwicklers nicht einfacher gemacht. Ganz im Gegenteil es gibt eine Vielzahl von Entwicklungsumgebungen, die man grob in zwei Bereiche einteilen kann:

  • webbasierte Umgebungen auf Basis von HTML5 und JavaScript,
  • Entwicklungsumgebungen, die für die Zielplattform und die Ziel-CPU ein Kompilat erzeugen (bedingt kann man auch Android-Anwendungen, die mit Java erzeugt wurden, dazu zählen).

Webbasierten Anwendungen sieht man häufig ihren Ursprung an. Da diese letztendlich einen Webbrowser kapseln, sehen deren Oberfläche wie Webseiten aus. Man hat den großen Vorteil, dass diese Anwendungen auf Android, iOS, Windows Phone und auch BlackBerry oder Tizen laufen. Allerdings muss man aufpassen, „was“ und „wo“ funktioniert. Im Klartext: Elemente sehen nicht so aus wie gewohnt und darunter kann das Benutzererlebnis leiden. Ein Beispiel hierzu ist Cordova. Außerdem ist der Einsatz von JavaScript als Programmiersprache häufig nur ein Kompromiss, als dass es eine echte Erleichterung ist. Denn, um professionelle Software zu entwickeln, ist es wenig geeignet.

Kompilierende Entwicklungsumgebungen hingegen haben den Vorteil einer besseren Ausführungsgeschwindigkeit und sie ermöglichen den Zugriff auf alle zugrundeliegenden Schnittstellen des mobilen Betriebssystems. Die meisten fokussieren sich aber auf die wichtigsten Plattformen: Android und iOS. Immerhin stellen sie 95% der Betriebssysteme von mobilen Endgeräten dar. Zur Kategorie der kompilierenden Entwicklungsumgebungen gehören auch die zwei Platzhirsche der Hersteller selbst: Xcode von Apple und das Android Studio von Android/Google. Beide bieten natürlich keine plattformübergreifenden Möglichkeiten an.

Cross-Plattform-Softwareentwicklung

Schöne neue Welt – Cross-Plattformlösungen

Klingt schon verwirrend? Es wird noch besser: Auf Basis von webbasierten oder nativ-kompilierenden Entwicklungsumgebungen gibt es weitere Frameworks, Add-Ons und IDEs, die eine Abstraktionsschicht bei der Erstellung von Cross-Plattformanwendungen bieten. Mal speziell für Geschäftsanwendungen, mal für Cloud-Dienste oder ERP-Systeme. Zumindest erheben sie diesen Anspruch.

Plattformübergreifende Entwicklung muss aber nicht auf die mobilen Plattformen beschränkt sein. Auch wenn Microsoft Windows auf den ersten Blick in den Hintergrund des ganzen mobilen Hypes gerückt ist, so ist es weiterhin die dominierende Plattform für den täglichen Einsatz im Büro. In vielen Steuerungsanlagen und Produktionsumgebungen ist es unersetzlich und auch ein großer Anteil von Datei- und Webservern läuft auf dieser Plattform.

Viele Unternehmen richten daher unterschiedliche Teams für vermeintlich unterschiedliche Anwendungen ein: Backend, Desktop und App. Verschiedene Teams, verschiedene Aufgaben? Synergien ergeben sich dadurch nicht. Auch keine Potenziale zur Umsetzung einer durchgängigen Softwareentwicklung.

Doch gerade im mobilen Umfeld muss man heute flexibel und schnell reagieren können. Und dazu gehören auch die notwendigen Grundlagen, um für das Backend oder in parallel entwickelten Desktop-Anwendungen schnell Anpassungen durchführen zu können.

Ist dies nun eine „Chance“ oder „ein Fass ohne Boden“?

Die Beantwortung ist recht einfach: Cross-Plattformentwicklung ist eine Notwendigkeit, aus der neue Chancen entstehen können. Mobile Systeme in Form von Tablets und Smartphones haben unsere IT-Landschaft bereits nachhaltig verändert. Verschiedene Betriebssysteme benötigen unterschiedliche Programmiersprachen. Ein Programm muss mehrmals geschrieben werden, damit es auf den verschiedenen Endgeräten angewendet werden kann. Das kostet nicht nur Zeit, sondern auch Geld! Deshalb ist eine flexible Entwicklungsumgebung, kombiniert mit einer modernen Programmiersprache heute unerlässlich, um eine effiziente, geräteübergreifende Softwareentwicklung zu gewährleisten.

Microsoft hat dies erkannt und sein Visual Studio um moderne C++-Compiler für grundlegende Cross-Plattformentwicklung auf Basis von Clang und LLVM für iOS und Android erweitert. Leider wurde die Möglichkeit einer UI-Bibliothek und des direkten Zugriffs auf Plattform-spezifische Codes (wie Java auf der Android Plattform) vergessen.

Eine Alternative bietet die Cross-Plattformentwicklungsumgebung von Embarcadero. UI-Oberflächen, Bibliotheken, Zugriff auf Java-Bibliotheken (Android) bzw. Xcode-Frameworks (iOS) sind hier gegeben. Gerade die User-Interface-Erstellung mit der abstrahierenden „FireMonkey“-Bibliothek erleichtert die Cross-Plattformentwicklung auf Basis von C++ oder wahlweise Object-Pascal für Windows, Android, iOS und den Mac Desktop.

Einen Einblick in die Möglichkeiten zeigt dieses Video (englisch)

RAD Studio 10 Seattle jetzt nutzen!

Alle Informationen zur aktuellen Cross-Plattformumgebung von Embarcadero erhalten Sie hier bei COMPAREX.

Jetzt informieren »

Diesen Artikel teilen

Artikel vom:
26.11.2015

geschrieben von:

TAGS:
Software

Thema:

Kommentieren sie diesen Artikel...

© COMPAREX AG
Zurück nach oben