- Auswahlkriterien für Low-code Plattformen
- Einfache Bedienung auch für Nicht-Entwickler
- Flexibilität
- Community
- Umsetzung der Anwendungsfälle
- Multiuser Fähigkeit
- Import und Export
- I18N - Internationalisierung
- Einbindung nativer Funktionen und Hardwareeigenschaften
- Vorschau
- Programmiersprachen
- Unterstützung von Betriebssystemen
- Generierung von Code für verschiedene Geräte und Betriebssysteme
- Versionierung, Test, Auslieferung
- Datensicherheit
- Wiederverwendung von Code
- Veröffentlichung
- Skalierung
- Applikationsplattform als Service
- Lizensierung
- Vielfältige Anbindung an Backendsysteme
Auswahlkriterien für Low-code Plattformen
Inzwischen gibt es sehr viele Produkte, die sich Low-code Plattformen bzw. Entwicklungsumgebungen nennen. Wenn man eine solche Plattform als Unternehmen einsetzen will, muss ein Auswahlprozess stattfinden, damit die richtige Plattform für die Aufgaben ausgewählt wird, die man damit im Unternehmen meistern will.
Natürlich ist es am Besten, wenn man bereits vor Beginn der Auswahl mehrere Anwendungsfälle definiert, die beschreiben, was im Unternehmen damit erreicht werden soll. Besonders wichtig ist es alle Informationen über die eigenen Backend Systeme zu sammeln, denn das könnnen sehr wichtige Auswahlkriterien sein. Unterstützt eine Plattformen diese Systeme out-of-the-box, oder müssen etwa Anpassungen vorgenommen werden, die möglicherweise Zeit kosten?
Einfache Bedienung auch für Nicht-Entwickler
Die Plattform muss eine übersichtliche und klar gegliederte Oberfläche haben.
Wie einfach ist es für die Entwicklung und die Fachabteilung das Werkzeug im Hinblick auf die grafische Oberfläche zu bedienen?
- GUI Editor, kann man die Benutzeroberfläche der Applikation mit Drag-and-drop zusammenklicken?
- Grafischer Editor für die Business Logik
- Grafischer Editor für den Workflow
- Verknüpfung von Feldern/Tabellen in der GUI zum Backend System
- Wie einfach sind die Schritte zur Fertigstellung: Build, Test, Deploy
- Lassen sich einmal erstellte Komponenten einfach auffinden und wiederverwenden
Flexibilität
Die Plattform muss flexibel genug sein, um sich an ändernde Verhältnisse in Unternehmen auch in der Zukunft anzupassen. Neue Technologien sollten schnell und einfach in die Plattform implementiert werden können. Die Plattform muss mit den Anforderungen unseres Unternehmens wachsen können.
Community
Die Plattform sollte eine aktive Community haben, wo sie Lösungen und Tipps auch ausserhalb des Herstellers selber finden und verwenden können.
Umsetzung der Anwendungsfälle
- Die Plattform sollte die Anforderungen an die jetzt zu erstellenden Applikationen (also die definierten Anwendungensfälle) vollständig und einfach umsetzen können.
Multiuser Fähigkeit
- Die Plattform muss alle Eigenschaften mitbringen, dass mehrere Benutzer gleichzeitig an einer Anwendung arbeiten können.
- Idealerweise sollten Benutzer sogar an gleichen Formularen/Seitenmasken arbeiten können
Import und Export
- Lassen sich fertige Projekte exportieren und steht dann auch der komplette Quellcode zur Verfügung?
- Kann man mit der Plattform erstellte Projekte mit anderen Low-code Systemen austauschen und wie?
- Kann man Quellcode von vorhandenen Applikationen importieren und wiederverwenden?
I18N - Internationalisierung
- Die Plattform sollte auf jeden Fall eine Internationalisierung anbieten, d.h. dass eine Applikation in mehreren Sprachen erstellt werden kann.
- Wie reagiert die Plattform auf unterschiedliche Längen bei der Darstellung von Masken von den verschiedenen Sprachen
- Benutzt die Internationalisierung ein Standardformat wie PO?
Einbindung nativer Funktionen und Hardwareeigenschaften
- Können mittels der Plattform auch native Funktionen z.B. von iOS bzw. Android einbinden?
- Kann die Plattform auf spezifische Aktionen der Geräte reagieren?
- Berühren
- Wischen
- Hardwareknöpfe
- Schütteln
- Virtuelle Sensoren: Position
- Nummer wählen
- SMS schreiben / lesen
- Fingerabdruck
- Gesichtserkennung
- Kann mittels der Plattform auf die Hardware zugegriffen werden
- Kamera
- GPS
- Batteriezustand
- Mikrofon
- Lausprecher
- Kopfhöher
- SIM Karte
Vorschau
- Bietet die Plattform eine Vorschaumöglichkeit auf allen Endgeräten an?
- Ist eine Vorschau für Smartphones / Tablets mittels eines Simulators möglich
Programmiersprachen
Bei Low-code Plattformen werden oft Anpassungen zusätzlich umgesetzt. Welche Programmiersprache wird dafür benutzt? Je nach benutzter Sprache für zusätzliche Programmierung muss sichergestellt sein, dass entsprechende Kenntnisse vorhanden sind.
Haben Entwickler Zugriff auf den kompletten Source-code der generierten bzw. erstellten Anwendung?
- Java
- JavaScript
- C#
- VB
- Go
- Scala
- Python
- Perl
- Ruby
Werden für die Programmierung weitere Frameworks benötigt?
- Vue.js
- Angular
- React
- React Native
Ist die Ausgabe während des Erstellungsvorgangs von Zielcode einfach zu lesen? Auch für den Fachbereich?
- Logdateien mit verständlichen Meldungen sind vorhanden
- Ausgabe nur in Englisch oder auch anderen Sprachen
- Sind Fehler klar und verständlich beschrieben
Unterstützung von Betriebssystemen
Die Plattform sollte auf mindestens einem der folgenden Betriebssystemen laufen, wobei das natürlich abhängig vom Unternehmen selber und was dort eingesetzt wird
- Windows
- MacOs
- Linux
- Android
- iOS
Wenn die Software nur im Webbrowser in der Cloud läuft, erübrigt sich das.
Bei OnPremise Installationen ist es wichtig, dass im Unternehmen entsprechende Kenntnisse des Betriebssystems vorhanden sind.
Generierung von Code für verschiedene Geräte und Betriebssysteme
Obwohl die Generierung meistens vollautomatisch abläuft, müssen manchmal trotzdem weitere Werkzeuge wie Android Studio oder xCode installiert werden. In disem Fällen müssen natürlich im Unternehmen entsprechende Kenntnisse vorhanden sein.
- Desktop Windows (Kiosk Mode oder richtige Desktop App)
- MacOs
- Webbrowser
- Unterstützung für Chrome, Firefox, Safari, Opera, IE, Edge
- Unterstützung für Darstellung auf Tablets und Smartphones
- Unterstützung für responsive Darstellung
- Nativer Code für
- iOS
- Android
- Blackberry
- Windows Phone
- Unterstützung der Darstellung für verschiedene Geräteauflösungen
- PWA Unterstützung
- Möglichkeit die Generierung in die Cloud zu verlegen (Cloud Build)
Versionierung, Test, Auslieferung
Auch wenn die Applikationen per Mausklick erstellt werden, ist es trotzdem wichtig, dass eine Versionierung stattfindet. Ebenfalls unabdingbar sind Tests auf allen Ebenen, damit sichergestellt wird, dass nur Applikationen in Produktion gehen, die auch qualitativ dem Unternehmensstandard genügen.
Ein Vorteil von Low-code Plattformen ist, dass auf Änderungen schnell reagiert werden kann und neue Versionen auch entsprechend schnell zur Verfügung gestellt werden können. Gerade hier ist also eine Automatisierung unabdingbar
In der traditionellen Softwareentwicklung haben sich nicht nur Versionierung, sondern auch Continuous Integration/Delivery/Deployment Werkzeuge eingebürgert. Diese sind auch bei Low-code Plattformen wichtig. Kann ich ab einem Commit das weitere Vorgehen wie Build, Test und Deploy automatisieren und lassen sich dafür Standardwerkzeuge einsetzen?
- notwendige Werkzeuge sind eingebunden
- Standardwerkzeuge können einfach integriert werden:
- Versionierung: z.B. Git, Subversion, Mercurial
- Konfiguration: Ansible, Chef, Puppet
- Test: z.B. Selenium, Ranorex, WinRunner, SilkTest, Tosca, Watir, Microsoft TFS, SmartBear
- CI/CD Plattformen wie Gitlab, Bamboo, Jenkins, Cruise Control, XebiaLabs usw.
Datensicherheit
Die Plattform muss sicherstellen, dass
- der Zugang zu den verschiedenen Backendsystemen sicher ist
- die Daten sicher zwischen Backendsystemen und Endbenutzer Geräten übertragen werden
- Die Verschlüsselung der Daten für die Übertragung und Speicherung muss möglich sein und einem Industriestandard entsprechen
- Entsprechende Token für Backendsysteme müssen sicher abgelegt sein
- Zugang zum Werkzeug und Backendsystemen muss geschützt sein
Wiederverwendung von Code
- Kann man erstellten Code in Bibliotheken ablegen und wiederverwenden?
- Code gleich für alle Endgeräte
- Multichannel bzw. Omnichannel
Veröffentlichung
- Google Play Store
- Apple Store
- Eigener Store
Skalierung
- Kann man die Applikationen und die Backendsysteme einfach skalieren?
- Ist ein Loadbalancer vorhanden
Applikationsplattform als Service
- Bietet der Hersteller die Möglichkeit die Plattform komplett in der Cloud zu betreiben?
- Kann der Hersteller mehrere Instanzen (Entwicklung, Test, Training, Produktion) bereitstellen
- Ist ein Transport zwischen den Instanzen einfach möglich
- Wird die Codegenerierung dazu angeboten, also komplett in der Cloud?
- Kann der Hersteller die Sicherheit von Applikationen und deren Daten sicherstellen?
Lizensierung
- Nach welchem Modell wird die Plattform lizensiert?
- Pro Entwickler
- Pro Endbenutzer
- Pro Applikation
- Pro Zugriff
Vielfältige Anbindung an Backendsysteme
Identifikation
- Active Directory
- Salesforce
- SAML
- LDAP
- Oauth
- LinkedIn, Google, Facebook, Instagram, Box, Amazon, Yahoo
Integration
- JSON, XML, SOAP, REST API
- Salesforce
- SAP
- MuleSoft
- Swagger
- AWS API Gateway
- IBM MQ
- Dateisystem Adapter
- Datenbanken: MS SQL Server, Oracle, PostgreSQL, SQLite, MySQL, MariaDB, MongoDB
- JDBC
- Office 365
- Sharepoint
- Microsoft Dynamics
- Wordpress, Joomla
- Java, JavaScript
- Microsoft Dynamics
- Box
- Paypal
Vordefinierte Micro Applikationen
- Login
- Header
- Footer
- Menüs
- Listendarstellung von Daten
- Detaildarstellung von Daten
- OCR
- Digitale Signaturen
- QR Generator
- QR Scanner
- ReCaptcha
- PDF Viewer
- Bewertungsdarstellung
- Bestätigungs- und Fehler Popups
- Verschiedene Animationen
- Datumsauswahlmasken
- Kalender
- Checklisten
- Foto- und Videoerstellung und Speicherung
- Bilder und Videoverwaltung
- Galerie
- Checklisten
- Fingerabdruck und Gesichtserkennung
- Ereignisse
- Verwaltung von Events
- Google Maps Einbindung mit Routendarstellung
- Spracheingabe
- Chatbots
- OCR
- Kreditkartenverwaltung
- Einstellungen verwalten
- Einfach/Mehrfach Auswahllisten
- Dokumentdarstellung
- Dateiverwaltung
- Projektmanagement
- Verbindung zu sozialen Netzwerken wie Facebook, Instagram, Twitter, YouTube
- Anbindung an Bezahldienste: ApplePay, Paypal, GooglePay