Low-Code Plattform 2018-04-24T14:27:47+00:00

LOW CODE PLATTFORM

RAPID APPLICATION DEVELOPMENT

Wie der Begriff bereits ausdrückt, handelt es sich bei Low-Code um eine Entwicklungsumgebung für Software, die einfach übersetzt auf „wenig Code“ bzw. „wenig Programmierung“ basiert. Die spezielle Plattformkategorie verfolgt das Prinzip, dass Anwender ohne Programmierkenntnisse in die Lage versetzt werden, eigene Anwendungen zu erstellen. Fast alle Aufgaben, Einstellungen, Designs, Logiken usw. lassen sich mittels einer UI-Oberfläche und entsprechenden Elemente konfigurieren und in die Systemlandschaften integrieren. Die Qualitätsanforderungen können damit trotzdem eingehalten werden.

Gerade für IT Abteilungen mit Ressourcenmangel bieten Low-Code Plattformen eine Möglichkeit, dem hohen Bedarf an Anwendungen und deren Anforderungen gerecht zu werden. Durch den Low-Code Ansatz können Anwendungen bis zu zehnmal schneller entwickelt werden, was die Entwicklungszeit deutlich beschleunigt und Kosten reduziert.

„Low-code development platforms are: Products and/or cloud services for application development that employ visual, declarative techniques instead of programming and are available to customers at low or no cost in money and training time to begin, with costs rising in proportion of the business value of the platforms.“
John R. Rymer (2017). Forrester, Vendor Landscape: A Fork In The Road For Low-Code Development Platforms, www.forrester.com

Woher kommt die Low-Code Bewegung?

Die Low-Code Bewegung reicht bereits bis in die 1980er Jahre zurück. Mit den sogenannten “Fourth-Generation Languages” (4GL) hat der Trend begonnen. Der Begriff aus der Softwareentwicklung beschreibt eine Programmiersprache beziehungsweise Programmierumgebung aus der vierten Generation. 4GL verfolgt dabei das Ziel, mit wenig Codezeilen komplette Anwendungen schreiben zu können.

Vereinfacht lassen sich die Generationen folgendermaßen ausdrücken:

  • 1GL: Maschinensprache
  • 2GL: Assemblersprache
  • 3GL: Prozedurale Programmierung
  • 4GL: Deklarative Programmierung
  • 5GL: Künstliche Intelligenz

Die 1. Generation der Programmiersprache bezeichnet die Maschinensprache. Sie ist prinzipiell binär, kann jedoch auch hexadezimal codiert sein. Durch ihren unverständlichen und unübersichtlichen Aufbau, können komplexere Programmierungen kaum realisiert werden.

Bei der Assemblersprache (2GL) wird zu den binären Codes so genannte „Mnemonics“ Kürzel zugeordnet. Der Quelltext, auch Assemblercode genannt, wird durch den sogenannten Assembler direkt in ausführbare Maschinensprache (1GL) umgewandelt.

Auch in den nachfolgenden Generationen ging es immer darum, eine Sprache in die nächst Niedere zu übersetzen. Die gängigste Generation ist auch heute noch 3GL: die prozedurale Programmierung. Bekannte Sprachen sind beispielsweise C++, Java, JavaScript oder Pascal (Delphi). Da 3GL zu den höheren Programmiersprachen gehört, muss diese vor der Ausführung durch einen Compiler in einen Maschinencode umgewandelt werden.

Was macht nun 4GL anders als 3GL? Während 3GL vor allem die Einführung von standardisierten Kontrollstrukturen geprägt hat, haben Programmierumgebungen der vierten Generation das Ziel, möglichst schnell und mit möglichst wenig Codezeilen für einen bestimmten Anwendungsfall Funktionen oder aber auch komplette Anwendungen bereitstellen zu können.

Low-Code heute

Erst im Juni 2014 wurde der Begriff Low-Code für diese spezielle Art der Anwendungsentwicklung vom Branchenanalysten Forrester Research vergeben. Seitdem hat der Low-Code Ansatz in den letzten Jahren insbesondere in den USA eine echte Renaissance erfahren. Durch das Aufkommen von sogenannten “Low-Code Development Platforms” beschäftigen sich immer mehr Unternehmen mit der Thematik.

Bei den Low-Code Entwicklungsplattformen handelt es sich dabei um Technologien, welche die Erstellung von Software bzw. Anwendungen durch möglichst wenig Programmierung anbieten und damit auch Anwendern ohne großes Programmierwissen ermöglichen sollen, Applikationen zu erstellen.

„Customer interest in low-code development platforms runs high, reflected in high double-digit growth for the leading vendors as well as many smaller providers.
We estimate aggregate 2017 revenues of $3.8 billion.“
John R. Rymer (2017). Forrester, Vendor Landscape: A Fork In The Road For Low-Code Development Platforms, www.forrester.com

Schnelle Anwendungsentwicklung – Der Low-Code Ansatz

Mit Blick auf die Werkzeuge, die zum Erstellen einer Software notwendig sind, treten eine integrierte Entwicklungsumgebung (IDE von „integrated development environment“), ein Datenspeicher, mehrere Schnittstellen (API’s), mindestens eine Entwicklungssprache und höchstwahrscheinlich eine Art Framework in den Vordergrund. Bei der Bereitstellung und Verwaltung kommen zusätzlich Themen wie beispielsweise eine kontinuierliche Integration, Problemverfolgung, Schema-Migration, Überwachung, Sicherheit und Skalierung hinzu. Eine Low-Code App Development Platform (LADP) bündelt all diese Faktoren in einem Baukastensystem, damit Anwendungen visuell erstellt werden können.

Anders als in Programmierumgebungen kommen bei Low-Code Entwicklungsplattformen anstelle individueller Programmcodes ausschließlich vorgefertigte Standardsoftwarebausteine zum Einsatz. Über intelligente Metadaten werden diese so gesteuert, dass ein Programmverhalten entsteht, welches aus Benutzersicht fast identisch zu einer handgeschriebenen Anwendung ist.

Bestandteile einer Low-Code App Development Platform

Bei Betrachtung der verschiedenen Low-Code Entwicklungsplattform-Anbietern wird schnell ersichtlich, dass jede Lösung ihre eigenen individuellen Eigenschaften besitzt. Trotzdem gibt es drei wesentliche Bestandteile die sich durch alle Plattformen ziehen:

  • Automatisierte Datenbankintegration: Low-Code Development Plattformen wandeln Ihre Datenmodelle transparent in relationale Tabellen und SQL-Abfragen um. Des Weiteren werden Daten aus externen APIs automatisch auf der Anwendung zur Verfügung gestellt.
  • Visuelle Entwicklung: Eine Low-Code Plattform ermöglicht es, Geschäftsabläufe, Benutzeroberfläche und Datenmodelle in Unternehmen visuell darzustellen.
  • Vollständiges Lifecycle-Management: Low-Code Plattformen zur App Entwicklung erleichtern die Bereitstellung, Wartung und Änderung der Anwendung innerhalb weniger Klicks.

Die bekannteste Low-Code Plattform

Das wohl beliebteste Content-Management-System für Websites ist die Webanwendung WordPress. Rund 29% aller Websites im Internet werden mit WordPress betrieben. Dabei stellt das Content-Management-System ein typisches Beispiel für eine Low-Code Plattform dar. Mit nur wenigen Klicks, kann sich der Anwender eine Website mit allen wichtigen Funktionen erstellen.

Seitdem Matthew Mullenweg und Mike Little die Entwicklung von WordPress im Jahr 2003 starteten, hat sich das Content-Management-System bis heute zu einem riesigen Ökosystem aufgebaut. Anwender können aus über 350 individuell anpassbaren Themes, Portfolios und Blogs jeder Art wählen. Spezielle Funktionen können außerdem durch Plugins eingebunden werden. Entwickler können diese Erweiterungen den Anwendern zur Verfügung stellen.

Zusammengefasst bietet WordPress also ein Content-Management-System, welches einerseits Anwendern die Konfiguration von Websites in nur kurzer Zeit ermöglicht und auf der anderen Seite Entwicklern den Freiraum zur Programmierung spezieller Features bietet. Diese zwei Ansätze bilden eines der Grundprinzipien von Low-Code.

Auszug aus unserem Webinar: „Wie Low Code die Lücke vom Programmierer zum Anwender schließt.“
zum Webinar

Welche Plattform ist die richtige?

Auf dem Markt gibt es aktuell einige Anbieter von Low-Code App Development Plattformen. Ein Großteil davon stammt aus den USA. Die Low-Code Plattformen werden meist mit Bezeichnungen wie Rapid Application Development Platforms (RADP), Mobile Application Development Platforms (MADP), Rapid Mobile App Development  sowie Mobile back-end services (MBS) versehen.

Um herauszufinden, welche Plattform die richtige ist, muss sich der Anwender ein klares Bild verschaffen, welche Anforderungen bestehen und wie der Fokus der Low-Code Plattform aussehen soll. Dabei können folgende Fragen gestellt werden:

  • Was soll mit der Low-Code Entwicklungsplattform erreicht werden? Welche Ziele gilt es zu verfolgen?
  • Wer soll die Plattform bedienen (innerhalb, außerhalb meiner Organisation)?
  • Welche Business Values wurden festgelegt (Höhere Kundenbindung, kürzere Entwicklungszeit, Zugang zu Informationen) und wie werden diese bemessen?
  • Welche Probleme gibt es innerhalb der Organisation zu lösen, die ohne eine Low-Code Technologie möglicherweise nicht gelöst werden können?

Wie entwickle ich mit Low-Code Plattformen?

Im Allgemeinen gilt: Konfigurieren anstelle von Programmieren. Doch wie sieht der Low-Code Ansatz in der Praxis aus?

Mit Low-Code Entwicklungsplattformen kann sowohl einem unerfahrenen Anwender, als auch einem Full-Stack Developer geholfen werden. Der Ansatz ermöglicht, ohne aufwändige Programmierung komplexe Anwendungen umzusetzen. Die häufigsten, grundlegenden Funktionen sollen hierbei rein auf konfigurierbarer Ebene nutzbar sein. Tiefergehende, individuelle Anpassungen und Funktionen sind durch den Einsatz von Programmcodes nahtlos erweiterbar.

Der Anwender hat dadurch den Vorteil, dass dieser ohne Programmierungskenntnisse, Teile der Anwendung selbständig anpassen kann. Dadurch kann nicht nur die Entwicklungsabteilung entlastet, sondern auch Zeit und Kosten können eingespart werden.

Auf der anderen Seite kann der Anwender in der Kommunikation mit dem Entwickler schneller auf den Punkt kommen. Durch das Baukastensystem hat der Entwickler die Möglichkeit, innerhalb kürzester Zeit einen ersten Prototypen zu bauen und diesen mit dem Anwender durchzusprechen.

Aus der Sicht des Entwicklers sehen die Vorteile ähnlich aus. Durch die Einfachheit von Low-Code Plattformen können einzelne Aufgaben an den Anwender zurückgegeben werden. Dadurch werden Kapazitäten für komplexere Aufgaben frei, da lästige, wiederkehrenden Aufgaben wegfallen.

UI-Oberfläche mit Konfigurationselementen (Simplifier)

Wie können Anwendungen konfiguriert werden?

Durch den Einsatz von einfach zu bedienbaren Elementen des User Interfaces (UI) kann der Anwender seine persönliche App „zusammenklicken“. Es stehen hierfür verschiedene, bereits lange etablierte Funktionselemente zur Verfügung. Die häufigsten sind hierbei:

Checkbox

Durch das Anklicken können vorgegeben Werte und Funktionen an- oder abgewählt werden. Im Gegensatz zu Radiobuttons können beliebig viele Checkboxen gleichzeitig angewählt werden.

Radiobuttons

Durch das Anwählen können vorgegeben Werte an- oder abgewählt werden. im Gegensatz zur Checkbox kann immer nur ein Element innerhalb einer (Radiobutton-)Gruppe gewählt werden.

Text- & Suchfelder

Textfelder dienen in Low-Code Plattformen zumeist um Bezeichnungen, Beschreibungen oder Werte einzufügen.
Ein Suchfeld verbindet Textfeld, Button und Suchfunktion miteinander.

Buttons

Buttons sind Schaltflächen durch die Aktionen wie z.B: Speichern, Anmelden oder das Absenden eines Formulares aufgerufen werden. Der Text auf dem Button beschreibt dabei die aufzurufende Funktion.

Listen & Dropdowns

Mehrere Elemente könne auch in Form von Listen dargestellt werden. Aufgrund der kompakteren Darstellung ist die Verwendung von Dropdown-Listen meistens sinnvoller und häufig die bessere Wahl.

Switch / Toggle

Dieses interaktive Element wird besonders gerne bei mobilen Geräten verwendet. Ein Switch oder Toggle ist im Prinzip nichts anderes als eine grafisch ansprechende Checkbox. Es werden hiermit Funktionen ein- oder ausgeschaltet.

Tabs

Tabs bieten eine komfortable Möglichkeit zwischen  Inhalten wie z.B. Texten und Funktionen zu wechseln. Der große Vorteil besteht darin die nötige Information anzuzeigen, ohne scrollen oder die Seite wechseln zu müssen.

Drag & Drop

Durch das Anklicken und gleichzeitige Ziehen können Elemente verschoben und neu positioniert werden. In Entwicklungsplattformen wird dies häufig zur Sortierung bzw. Verbinden von Prozessen verwendet.

Ist No-Code noch besser als Low-Code?

Obwohl es sich bei No-Code um eine Weiterentwicklung des Low-Code Ansatzes handelt, ist dieser nicht unbedingt besser. Je nach Anwendungsbereich und Benutzer gibt es sowohl Gründe für als auch gegen eine No-Code Lösung.

Wie der Name bereits vermuten lässt, handelt es sich bei No-Code um keinerlei Programmierung. Das wohl bekanntestes Beispiel für No-Code Softwarelösungen sind die beliebten Tools um individuelle Fotobücher zu erstellen. Hier kann der Benutzer mittels vordefinierten Funktionen und Effekten sein eigenes Fotoalbum, ganz nach seinen Vorstellungen erstellen.

Obwohl diese Anwendungen mittlerweile hinsichtlich Umfang und Funktionalität deutlich hinzugewonnen haben, wird ein Designer oder Fotograf wohl nicht auf eine solche Lösung zurückgreifen. Warum? Die Ansprüche und Erwartungen dieser Berufsgruppe werden mit dieser Lösung nicht gänzlich erfüllt. No-Code stößt daher immer an bestimmte Grenzen, das technisch vieles nicht individuell umsetzbar ist.

No-Code im Unternehmensumfeld

Im Unternehmensumfeld arbeiten meist Spezialisten zusammen. Dementsprechend liegen die Anforderungen an eine Plattform hoch. Um die unterschiedlichen Systeme und individuellen Anforderungen einer Firma gerecht zu werden, ist der Einsatz einer No-Code Lösung hier meist problembehaftet. Speziell im IT-Bereich kann eine No-Code Lösung aufgrund der meist sehr unterschiedlichen Infrastruktur nicht individuell angepasst werden.

Hier ist der ganz klare Vorteile einer Low-Code Plattform zu sehen. Diese vereint die einfache Bedienbarkeit einer No-Code-Plattform mit den Möglichkeiten, diese durch einen Entwickler zu erweitern und den Unternehmensbedürfnissen anzupassen. Zudem gibt es gerade im Application Development Umfeld Funktionen die nur schwer oder nicht sinnvoll durch reine Konfigurationsmöglichkeiten umsetzbar sind. Bei aller Begeisterung für No-Code oder Low-Code sollte der Sinn dahinter nicht den technischen Möglichkeit untergeordnet werden. Was bringt also eine No-Code-Lösung wenn gegenüber der Programmierung keine zeitlichen Vorteile entstehen?

FAZIT

Es gibt viele Gründe auf eine Low-Code Development Platform zu setzen. Die erheblichen Kostenvorteile und kürzeren Projektlaufzeiten sprechen dabei für sich. Vor allem aber die hohe Flexibilität der durch den Low-Code Ansatz entstehenden Anwendungen hinsichtlich Änderungen aller Art, auf allen Ebenen ist ein echter Mehrwert für Unternehmen.

Diese Vorteile ermöglichen nicht nur eine drastische Reduzierung der Softwarepflegekosten, sondern erlauben auch in besonderem Maße iteratives Prototyping und agile Softwareentwicklung. So kann sich optimal an die tatsächlichen Anforderungen der jeweiligen Endanwender angepasst und letztlich jedes Projekt erfolgreich und im Zeitplan abgeschlossen werden.

Low-Code Lösung für die Anwendungsentwicklung

Der Low-Code Ansatz der Plattform Simplifier ermöglicht es, die bei der Digitalisierung benötigte hohe Anzahl an Applikationen bis zu zehnmal schneller zu erstellen, auszurollen und zu warten.

DARUM

SCHNELL & FLEXIBEL

1. Systeme anbinden

Standardisierte Konnektoren ermöglichen die Anbindung beliebiger Backend-Systeme und Datenquellen.

2. Benutzeroberfläche erstellen

Erstellen Sie einfach und intuitiv zu bedienende Benutzeroberflächen mit vorgefertigten Elementen.

3. Prozess konfigurieren

Konfigurieren Sie die Prozesslogik und Interaktion Ihrer Anwendung oder nutzen Sie Ihre bestehende Geschäftslogik.

4. Anwendung testen

Testen Sie Ihre Anwendung im Simplifier-Mobile-Client oder im Browser.

5. Anwendung veröffentlichen

Über unser Transportsystem können Sie die Anwendung schnell und einfach auf Ihr Produktivsystem übertragen. Ohne Kompilierung oder aufwendigen Deployment-Prozesse.

6. Updates & Wartung

Handlen Sie change requests schnell und flexible durch over-the-air updates und die Wartung der Anwendung wird zum Kinderspiel.

USP IM MARKT

Gegenüber den üblichen Low Code Plattformen positioniert sich der Simplifier dadurch, dass er einen horizontalen Integrations-Layer hat und somit auf Daten von verschiedensten Business Systemen und IoT Plattformen zugreifen kann. Es können somit integrierte Business und integrierte IoT Applikationen erstellt werden.

Offlinefähigkeit
Simplifier Applikationen haben Offline- und Multi-Device-Fähigkeit bezüglich der Endgeräte. Das unterscheidet den Simplifier von IOT oder Low-Code Plattformen, die Applikationen auf HTML5 Basis erstellen und somit eine Onlineanbindung zwingendermaßen vorhanden sein muss.

Reine IoT Plattformen haben keinen Fokus auf die eigentliche Applikationsentwicklung und sind meist weniger gut geeignet die vorhandenen Business Systeme zu integrieren.

WEBINAR ZUM THEMA

Thema: Wie Low Code die Lücke vom Programmierer zum Anwender schließt.

  • Was genau ist eigentlich Low-Code Development?

  • Was ist der Unterschied zu No-Code und klassischer Programmierung?

  • Wem gebe ich die Tools an die Hand in meinem Unternehmen?

  • Wo kann ich messbare Verbesserung erwarten?

VORTEILE

SCHNELLER

Hohe Geschwindigkeit durch Konfiguration von Applikationen und Schnittstellen. Bis zu 80% konfigurierbar, daher wenig Individualprogrammierung nötig

EINFACHER

Gesteigerte Produktivität durch geringere Einstiegshürden hinsichtlich Aufwand und Know-How. Nutzen Sie Ihre bestehenden Ressourcen optimal aus.

NUTZERFREUNDLICHER

Vorgefertigte Templates und UI-Elemente im Baukastenprinzip. Einheitliche und systemunabhängige Benutzeroberfläche

Unternehmen die bereits von der Low-Code Plattform Simplifier profitieren