Plattformübergreifende APPS mit LIVECODE entwickeln

Ein Erfahrungsbericht eines Hobbyprogrammierers

Erfahrungsbericht von (ub) - Oktober 2020







Über LiveCode

Die Integrierte Entwicklungsumgebung LiveCode ist ein plattformübergreifendes Programmierwerkzeug für Smartphone- und Desktopanwendungen. Die Firma LiveCode Ltd. aus Edinburgh bietet seit 2015 die auf der Basis von Hypercard entwickelte Umgebung als Open-Source-Version und als kommerzielle Versionen an.

Die LiveCode Entwicklungsumgebung besteht im Wesentlichen aus einem grafischen Oberflächen-Editor (GUI), in dem man aus einem Menue heraus verschiedene Objekte nach dem Prinzip WYSIWYG anordnet. Die Objekte lassen sich jeweils mit Eigenschaften und Skripten für einen Ereignisgesteuerten Programmablauf belegen. Ein großer Vorteil von LiveCode ist die Möglichkeit, die Anwendung dann direkt im graphischen GUI-Editor selbst zu testen. Für die Skripte verwendet LiveCode eine eigene, intuitive Programmiersprache an, die aus vollständigen Sätzen in englischer Sprache besteht.

Die LiveCode Entwicklungsumgebung steht auf den Plattformen Windows, macOS und Linux/Unix zur Verfügung. Ausführbare APPS können zusätzlich für iOS, Android und HTML5 entwickelt werden.



Entwicklungsumgebung

Nachfolgende Abbildung zeigt einige Merkmale der LiveCode Entwicklungsoberfläche. Unterhalb der Hauptmenüleiste sind vier Arbeitsfenster angeordnet. Das Fenster links beinhaltet die Werkzeuge und Objekte, die mittels Drag and Drop in den graphischen GUI-Editor (Anwendungsfenster) in der Mitte gezogen werden. Rechts vom GUI-Editor befindet sich ein Fenster, in dem die Eigenschaften eines Objekts eingestellt werden. Im Fenster unterhalb des GUI-Editors wird einem Objekt ein Code zugefügt.

Zum Vergrößern die Abbildung auswählen:



Vor- und Nachteile von LiveCode

PROS

CONS



Voraussetzungen

Im vorliegenden Fall wurde die Open-Source-Version Community 9.5.1 von der Internet Seite von LiveCode heruntergeladen (https://livecode.com/) und verwendet.

Zum Einstieg und Erlernen der Programmiersprache diente das Buch "EIGENE APPS PROGRAMMIEREN" von Hauke Fehr (Rheinwerk 2. Auflage 2020), das LiveCode FANDOM Wiki (https://livecode.fandom.com) und die Unterlagen auf den Internet Seiten von LiveCode (http://lessons.livecode.com/).

Viele Anregungen und Hilfen beim Coding bieten die LiveCode Foren, das deutschsprachige Forum (https://www.livecode-blog.de/) und das englischsprachige Forum (https://forums.livecode.com).

Der Autor des vorliegenden Erfahrungsberichts betreibt das Programmieren als Hobby während der Freizeit und hat Kenntnisse im Bereich der imperativen und prozeduralen Programmierung. Bisher hat der Autor Anwendungen in den Programmiersprachen BASIC, PASCAL, PYTHON entwickelt. Zum Realisieren der LiveCode Anwendungen mit Zugriff auf Web-Datenbanken wurde eine SQL-Datenbank auf einem Web-Server eingerichtet. Dazu ist Grundlagenwissen im Bereich MySQL und PHP erforderlich.



Fazit

Die grundlegenden Zusammenhänge in der Programmiersprache LiveCode sind schnell zu verstehen. Die grafische Entwicklungsumgebung ist intuitiv aufgebaut und nach sehr kurzer Zeit lassen sich erste Schritte nachvollziehen und eigene Ideen umsetzen.

Eine Anwendung besteht aus einem Stapel (Stack), welche bei Bedarf mehrseitige Anwendungsoberflächen beinhaltet (Cards). Auf jeder Karte lassen sich mittels Drag und Drop Objekte (Schilder, Textfelder, Tabellen, Menues, Bilder, Schalter, ...) aus einem Menü unkompliziert anordnen, so dass man von Anfang an die Bedienoberfläche der Anwendung sieht. Dem Stapel, den Karten und den Objekten lassen sich jeweils Eigenschaften zuordnen und Skripte für die ereignisgesteuerte Anwendung programmieren. Schon in der Entwicklungsumgebung selbst können die Ereignisse ausgelöst und die Anwendungen ausgeführt werden. Aus dem fertigen LiveCode-Programm werden dann Ausführungsdatein für die verschiedenen Betriebssystem erzeugt.

Es ist ein großer Vorteile dieser Programmiersprache, dass man in der Entwicklungsumgebung den GUI-Editor gemäß WYSIWYG Prinzip entwickeln und ausführen kann. Diese anwendungsorientierten Oberflächenprogrammierung führt zu einem schnellen Fortschritte beim Erlernen der Entwicklungsumgebung. Hinzu kommt ein leicht zu erlernender Syntax der Skriptsprache. Bereits nach kurzer Zeit können dadurch erste aufwändigere Anwendungen erfolgreich programmiert werden, was den Spaßfaktor und die Motivation beim Programmieren deutlich anhebt. Gelingt es dann noch, die Struktur der Codes auf den verschiedenen Ebenen (Stack, Cards, Widgets, Objects) nachzuvollziehen, steht der Umsetzung selbst komplexer APPs nichts mehr im Weg. Beeindruckend ist dann auch die Geschwindigkeit, in der man selbst umfangreiche Anwendungen entwickeln kann.



Anwendungsbeispiele

Notizenliste NL APP:

Bei dieser Anwendung handelt es sich um ein kleines Werkzeug, welches Notizen auf einer SQL-Datenbank speichert. Dazu muss das Endgerät mit dem Internet verbunden sein. Die Notizen lassen sich jeweils Kategorien, Prioritäten und verantwortlichen Personen zuordnen. Bei der Darstellung der Liste, kann nach eben diesen Kategorien, Prioritäten und Personen sortiert werden. Die Darstellung der gefilterten Ergebnislisten erfolgt als DataGrid-Form.

Die APP wurde hauptsächlich für Android Endgeräte entwickelt. Mehrere Smartphones (beispielsweise in der Familie) können dann auf die selbe Notizen-Datenbank zugreifen. Die Anwendung kann auch auf einer Windows Oberfläche ausgeführt werden.



Fahrtenbuch FB APP:

Die Fahrtenbuch APP wurde entwickelt, um PKW Fahrten mit Android Endgeräten zu erfassen und die Daten dann mit einem Windows Desktop PC auszuwerten. Neben Datum, Uhrzeit und km-Standerfassung können die Einträge verschiedenen Zwecken zugeordnet werden (z.B. Diesntfahrten, Arztfahrten, ...). Ohne die APP zu verlassen, kann zwischen Start und Ziel eine Routenberechnung mittels Google Maps durchgeführt werden. Wiederum werden die Daten auf einer SQL-Datenbank speichert, so dass die Endgeräte mit dem Internet verbunden sein müssen. Am PC lassen sich die erfassten Einträge nach Fahrtenzweck und Jahr komfortabel auswerten. Das Erstellen von Tabellen oder graphischen Darstellungen ist möglich.



HomeMeter HM APP:

Die HomeMeter Anwendung dient zur Erfassung und Auswertung von Nebenkosten und Dienstleistungen rund um das Eigenheim oder die Wohnung. Für bis zu fünf verschiedene Objekte (z.B. Haus, Wohnung, ...) können Nebenkosten, Verbräuche, Reparaturen bzw. Modernisierungen mit Datum und Uhrzeit sowohl auf Android Endgeräten, als auch auf Desktop-PCs eingetragen werden. Wiederum werden die Daten auf einer SQL-Datenbank speichert, so dass die Endgeräte mit dem Internet verbunden sein müssen. Am PC lassen sich die erfassten Einträge nach Kostenarten und Jahr komfortabel auswerten. Das Erstellen von Tabellen oder graphischen Darstellungen ist möglich.



Ezine APP:

Mit der vorliegenden APP können elektronische Magazine (Ezine) erstellt werden, die Texte und Abbildungen beinhalten. Die graphische Block-Oberfläche der Text- bzw. Abbildungs-Überschriften werden auf einer Arbeitsfläche erzeugt und können mittels "Drag and Drop" angeordnet werden. Das Vorgehen soll den kreativen Prozess beim Entwickeln und Aufbau der Dokumentenstruktur unterstützen.

Durch Doppelklick auf die Block-Oberflächen lassen die sich editieren und mit Inhalten füllen. Die Texteinträge erhalten nach jeder Änderung einen Zeitstempel, was die chronologische Nachverfolgbarkeit vereinfacht. Abbildungen können vom lokalen Computer bequem hochgeladen und in das Magazin eingebunden werden. Für die Erstellung des E-Magazins werden schließlich die erstellten Text- und Abbildungsbausteine in einem HTML-Dokument angeordnet und zusammengefasst.

Alle Daten des E-Magazins werden lokal auf dem Rechner gespeichert, Texte als txt-Dateien und Abbildungen als png-Dateien. Die APP benötigt keine Verbindung in das Internet. Die HTML-Dokumente sind nach Belieben entweder in der App selbst oder mittels Web-Browser zur Ansicht verfügbar.