Xojo

Was ist eigentlich Xojo? Bedeutet der Name etwas? Wie spricht man ihn aus? Und was macht man damit?

Xojo – gesprochen mit amerikanisch halbscharfem S, also irgendwie Sssodscho –, bedeutet tatsächlich etwas. Es ist ein ein klein wenig strapaziertes Akronym aus den Begriffen X-platform Object Oriented – also plattformübergreifend und objektorierientiert. Und das beschreibt ziemlich gut, was Xojo ist: Ein Entwicklungswerkzeug, mit dem sich von Mac, Windows oder Linux aus Anwendungen für ebendiese Plattformen erstellen lassen. Darüberhinaus auch echt native Web-Apps. Also nicht etwa HTML-basierte Webseiten, sondern eigenständig als Programm auf dem Server laufende Anwendungen. Außerdem iOS- und Raspberry Pi-Programme.

Xojo Mainwindow

Für Mac-Anwender, zu denen ich mich zähle, ist Xojo alles andere als eine Neuheit (in der jetzigen Form allerdings schon): Es gab schon vor Urzeiten ein Entwicklungssystem namens REALBasic, aus dem Xojo schlussendlich entstanden ist. Weshalb Xojo 2016 den 20. Geburtstag feierte. Der Namenswechsel nicht zuletzt auch wegen der unglücklichen Verbindungen mit seinen Ursprüngen: BASIC – als Beginner‘s All Purpose Symbolic Instruction Code – also kurz Programmiersprache für Anfänger – haftet auch heute noch bei vielen der Ruf als Anfängersprache an. Was, wenn man mit ein wenig informatischen Kenntnissen überlegt, völliger Blödsinn ist: Wie XCode, das Entwicklersystem von Apple, kompiliert auch Xojo in nativen Maschinencode (und mit dem gleichen Unterbau: dem LLVM-Compiler)  – und letzterem ist es herzlich egal, in welcher Sprache er gefüttert wird. Der große Unterschied ist nur, dass Xojo-Code, in seiner Einfachheit dem Urahn BASIC noch ähnlich, wenngleich heute sehr viel moderner, in den meisten Fällen auch nach Wochen noch fast wie englischer Text gelesen werden kann. Sollten Sie je versucht haben, eine Sprache wie C oder Java zu lernen und dabei nicht täglich zum Arbeiten gekommen sein, wissen Sie sehr gut, was für ein Vorteil das ist.

Kleines Beispiel, wenngleich so alleinstehend noch als relativ geringe Hürde wahrnehmbar:

In C-Dialekten erhöhen Sie eine Ganzzahlvariable namens i so:

i++

Das kann man sich noch relativ gut merken, aber so ganz will es auf den ersten Blick nicht einleuchten, oder?

In Xojo schreibt man dagegen

i = i + 1

Gut, das sind ein paar Zeichen mehr. Aber das liest sich wie eine mathematische Formel, oder?

Einleuchtender wird es schon, wenn wir nur ein wenig komplizierter werden. Wie Sie sicher wissen, dreht Programmcode sich oft in Schleifen – irgendeine Liste von Dingen muss durchgeackert werden. Eine Möglichkeit in C besteht darin, dies so zu formulieren:

for( int i = 1; i <= 3; i++ )
{Machewas}

Und in Xojo?

For i as Integer = 1 to 3
 Machewas
Next

Ja, auch hier ein kleines bisschen mehr Text. Den muss man heute im Zeitalter der TeraByte-Festplatten nicht mehr krampfhaft sparen. Was finden Sie übersichtlicher?

Und wenn Sie sich überlegen, dass der letzte Block der C-Anweisung auch ++i heißen kann: Können Sie nach zwei Wochen noch rekonstruieren, dass dies die Erhöhung der Variable i vor oder nach Ausführung von Machewas bedeutet?

Das soll jetzt in keiner Weise C oder andere Sprachen herabsetzen. Wenn Sie soweit gekommen sind, diese zu beherrschen: großartig! Es war aber kein leichter Weg, oder?

Falls Sie Python kennen, können Sie vermutlich ohne große Umstellungshürden sofort in Xojo loslegen. Die Elemente, die Python so beliebt machen, finden Sie auch in Xojo: Eine einfache, natürlichem Englisch sehr nahe Sprache, Dot-Notation … Nur ohne seltsame Klammerebenen, und nicht interpretiert, sondern kompiliert. Und sollten Sie früher mal im altehrwürdigen Visual Basic programmiert haben, bevor es von Microsoft zu einer verkleideten C#-Entwicklungsumgebung gemacht wurde, dann willkommen zuhause! Es gibt sehr große Ähnlichkeiten im Aufbau. So sehr, dass es sogar einen Assistenten gibt, der Ihnen hilft, alte VB-Projekte in Xojo zu importieren.

Was übrigens den Compiler angeht: Strenggenommen besitzt Xojo zwei davon. Während der Entwicklungszeit wird eine Eigenentwicklung verwendet. Dieser Compiler optimiert nicht, dafür ist er rasend schnell. Meist dauert es nur wenige Sekunden, bis Sie Ihr Programm testen können. Läuft alles so wie gedacht, dann drückt man auf Build, und der LLVM springt an – mit drei wählbaren Optimierungsstufen. Entsprechend dauert dann das Kompilieren auch ein Stück länger, aber am Ende steht ein ausführbares, „echtes“ Programm, das sich in Sachen Performance nicht hinter den Mitbewerbern verstecken muss. Dieses Programm können Sie weitergeben, verkaufen oder selbst benutzen, wie Ihnen das Herz gewachsen ist. Es gibt keine Einschränkungen; Sie müssen – bis auf die Lizenz, siehe unten – keine weiteren Lizenzgebühren abdrücken, und Ihr Endanwender auch nicht.

Natürlich werden Datenbank-Engines unterstützt, Schnittstellen, XML, JSON und was auch immer – werfen Sie ruhig einen Blick in die Sprachreferenz, die übrigens auch direkt in Xojo verfügbar ist (in der Regel wird online auf den aktuellen Stand der Dinge zurückgegriffen. Klemmt die Verbindung oder geben Sie das per Knopfdruck vor, aber auch auf die interne Kopie auf Ihrem Rechner.)

Ein anderes Feature – auch kein Alleinstellungsmerkmal, aber die Kombination macht es – ist die konsequente Objektorientiertheit von Xojo. Soll z.B. heißen: Sie klicken sich aus Steuerelementen ein Fenster zusammen. Sie doppelklicken einen Button – zu Deutsch Schaltfläche –, um diesem Code hinzuzufügen. Methoden und Eigenschaften (Properties) sind als eigene „Unterobjekte“ sicht- und anspringbar – kein langes Suchen in langen Codelistings, sondern alles in überschaubaren Häppchen. Klicken Sie dann auf  „Run“, läuft das Programm nach kurzer Rechenzeit. Einfache Programme lassen sich so in wenigen Minuten erstellen, und um wieviel schneller die Entwicklung komplexer Programme ist, lässt sich nur schwer abschätzen. Anwender (nicht die Werbeabteilung) schätzen den Faktor auf gut und gerne 1:5 gegenüber anderen Systemen. Tatsache ist, dass viele Programme nicht das Licht der Welt erblickt hätten, wenn es nicht Xojo gäbe. Übrigens auch Xojo selbst: Der Großteil davon ist in Xojo programmiert.

Weiterer Pluspunkt: Xojo ist plattformübergreifend. Und das in vielerlei Hinsicht. Egal ob Sie Windows-, Mac- oder Linux-Anwender sind: Das Programm existiert für alle drei Plattformen. Von jeder davon lässt sich für jede andere Plattform entwickeln. Auf Knopfdruck erzeugen Sie also statt eines macOS-, Windows- oder Linux-Programms gleich alle drei, wenn Sie wollen. Da die nativen Steuerelemente benutzt werden, auch wirklich „echte“ Programme dieser Systeme, keine Imitationen. Individuelle Unterschiede wie verschiedene Höhen einzelner Steuerelemente lassen sich individuell für jede Plattform anpassen – wohlgemerkt in einem Projekt, nicht in drei verschiedenen. Der Raspberry Pi als spezieller Linux-Rechner gehört übrigens auch dazu (wobei Xojo nicht auf dem Pi läuft; dazu ist er dann doch nicht ganz leistungsfähig genug). Und wenn Sie einen Mac besitzen, können Sie auch für iPhone & iPad entwickeln (die Einschränkung, weil der iOS Simulator von Apple nur auf dem Mac läuft – ohne den müsste man für jeden Test das Programm aufs iOS-Gerät schaufeln. Das würde keinen Spaß machen.) Außerdem lässt sich der Code auch zwischen Projekten für verschiedene Plattformen gemeinsam nutzen – also kein Anlass, ein Protokoll zwischen Web und iOS etwa doppelt zu programmieren. Android soll gegen Ende 2017 auch noch dazu kommen.

Der plattformübergreifende Ansatz bringt es mit sich, dass einige systemspezifische Features außen vor bleiben mussten. Auch das ist kein Problem, denn Xojo ist voll erweiterbar. Sie können auf System- und sonstige Bibliotheken mit eigenem Code zurückgreifen, eine OpenSource-Bibliothek hinzufügen, oder Sie verwenden eines der unzähligen verfügbaren PlugIns, die die Funktionen erweitern.

Darüberhinaus ist Xojo eine IDE – ein Integrated Development Environment, also ein integriertes Entwicklungssystem. Das bedeutet nichts weiter als das: Sie installieren ein Programm: fertig! Keine Zusatzprogramme, keine extra zu installierenden Bibliotheken, keine Inkompatibilitäten.

Ein ziemliches Alleinstellungsmerkmal ist allerdings das Xojo-Forum, das in Sachen Hilfsbereitschaft und Antwortfrequenz seinesgleichen sucht. Zu den zurzeit 17.000 Forums-Mitgliedern gehören auch diverse Xojo-Ingenieure, die mit Rat und Tat beiseite stehen. Eine nichtbeantwortete Frage, wie man sie in anderen Entwicklerforen häufiger mal findet, ist die absolute Ausnahme.

Zahlreiche Webinare, auch aufgezeichnet zum Später-Angucken, Hand- und Lehrbücher und eine umfangreiche Dokumentation gibt’s kostenlos obendrauf. Ein im Entstehen begriffenes deutsches Anwenderhandbuch finden Sie hier unter Nichthandbuch (ist ja elektronisch).

Probieren Sie‘s ruhig mal aus. Das Programm kann kostenlos heruntergeladen und unbegrenzt(!) genutzt werden. Nur zur Erstellung eigenständiger Programme braucht man eine Lizenz – und die gibt es in verschiedenen Stufen und für jeden Geldbeutel. Die in dieser Zeit in Ihren Besitz gelangten Xojo-Versionen können übrigens nach Ablauf der Lizenzzeit (1 oder 2 Jahre, die in dieser Zeit (in der Regel quartärlich) erscheinenden Updates beinhaltend) unbeschränkt weiterverwendet werden – es gibt also kein Abo-Modell und keine Verpflichtung, jährlich zahlen zu müssen, um weiter entwickeln zu dürfen.

Wenn Sie lieber mit Anleitung hineinschnuppern wollen und in Berlin wohnen: Kommen Sie doch zu meinem regelmäßigen kostenlosen Workshop. Oder schreiben Sie mir. Ich helfe Ihnen gerne beim Einstieg.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s