Zum Inhalt springen

Die Philosophie des Jitterbit App Builders

Einführung

Die Erstellung von Anwendungen mit dem App Builder unterscheidet sich von traditioneller Programmierung. Um das Beste daraus zu machen, müssen Sie ein Gefühl für die grundlegenden Philosophien entwickeln, die ihm zugrunde liegen, sowie für die Terminologie, die verwendet wird. Diese Seite erklärt den Ansatz des App Builders zur Entwicklung von Webanwendungen, seine grundlegenden Konzepte und die Designprinzipien, die seine Funktionalität leiten. Mit einem guten Verständnis dieser Ideen werden Sie schätzen, wie der App Builder funktioniert, und besser gerüstet sein, um Anwendungen innerhalb seines Rahmens zu erstellen.

Konfiguration über Code

Der App Builder ermöglicht es Ihnen als Nicht-Programmierer, robuste, unternehmensgerechte Web- und mobile Apps zu erstellen. Anstatt zu programmieren, erstellen Sie Anwendungen mit visuellen Werkzeugen, Assistenten und Konfigurationsbildschirmen. Dies macht den Entwicklungsprozess schneller und einfacher, als die gleiche Funktionalität zu programmieren.

Im App Builder konzentrieren Sie sich darauf, was Ihre App tun muss, nicht darauf, wie Sie es tun. Sie definieren Geschäftsregeln, verbinden Ihre Daten und gestalten, wie Ihre App aussieht und funktioniert. Die Plattform übernimmt den Großteil der schweren Arbeit und kümmert sich automatisch um technische Details wie das Erstellen von Datenbankabfragen oder das Auswählen von Indizes. Mit mvSQL können Sie komplexe Regeln schreiben, die auf jeder Datenbank funktionieren.

Ein zentrales Prinzip des App Builders ist, dass Ihre Apps überall funktionieren sollten, auf verschiedenen Geräten und Betriebssystemen. Mit dem App Builder erstellen Sie Ihre App einmal, und der Algorithmus zur Anordnung von Panels passt automatisch Ihre Seiten, Panels und Steuerelemente an jede Bildschirmgröße an. Dies stellt sicher, dass Ihre App überall gleich aussieht und funktioniert, sodass Sie keine unterschiedlichen Versionen für verschiedene Geräte erstellen müssen.

Denken in Schichten

Ein zentrales Konzept des App Builders ist, wie er eine App in vier verschiedene Schichten unterteilt, die jeweils für einen anderen Aspekt einer App verantwortlich sind:

  • Datenebene: Dies ist die Basis; hier verbinden Sie sich mit Ihren Datenquellen, definieren Tabellen und stellen Beziehungen zwischen ihnen her, um die Datenintegrität sicherzustellen. Sie können auch die Berechtigungen für Einfügen, Aktualisieren und Löschen auf der Ebene einzelner Tabellen steuern.

  • Geschäftsebene: Der 'Motor' der App, der alle Regeln, Logik, Berechnungen und Prozesse enthält, die mit Ihren Daten arbeiten. Hier verwenden Sie mvSQL, um Geschäftsobjekte und Unterabfragen zu erstellen, die als einzige Quelle der Wahrheit für die Logik Ihrer Anwendung dienen. Diese Objekte kommen in mehreren spezialisierten Formen, wie Quellobjekten, um Datentabellen offenzulegen, Listenobjekten, um Dropdown-Menüs effizient zu füllen, Validierungsregeln, um die Datenqualität durchzusetzen, und leistungsstarken CRUD (Create, Read, Update, Delete)-Regeln, um Aktionen auf vielen Datensätzen gleichzeitig auszuführen.

  • UI-Ebene: Was Ihre Benutzer erleben; die Seiten, Panels, Menüs, Diagramme und Steuerelemente, die die sichtbaren Teile Ihrer App ausmachen. Dazu gehören spezialisierte Panels, um Daten auf unterschiedliche Weise anzuzeigen, wie standardmäßige Raster, ästhetische Board-Panels oder visuelle Chart-Panels.

  • Sicherheitsebene: Der Torwächter der App, der verwaltet, wer sich anmelden kann (Authentifizierung) und was sie sehen und tun dürfen (Autorisierung). Dies umfasst nicht nur, was Benutzer tun können, sondern auch, welche Daten sie sehen können, durch eine leistungsstarke Sicherheitsfunktion auf Zeilenebene, die als Reach bekannt ist.

graph TD
  subgraph " "
    direction TB
    SecurityLayer["<b>🛡️ Security Layer</b><br/><br/>Roles, Privileges, Authentication, Reach"]
    UILayer["<b>🖥️ UI Layer</b><br/><br/>Pages, Panels, Controls, User Experience"]
    BusinessLayer["<b>⚙️ Business Layer</b><br/><br/>Logic, Business Rules, Validation, mvSQL"]
    DataLayer["<b>🗃️ Data Layer</b><br/><br/>Data Sources, Tables, Relationships"]
  end

  SecurityLayer --> UILayer --> BusinessLayer --> DataLayer

Der App Builder zwingt Sie nicht, eine App in einer bestimmten Reihenfolge zu erstellen: Sie können mit der Datenebene beginnen, indem Sie Ihre Tabellen einrichten und wie sie sich zueinander verhalten; Sie können mit der UI-Ebene beginnen, indem Sie gestalten, wie Ihre App aussieht, und dann die Datenstrukturen erstellen, um dieses Design zu unterstützen; oder Sie könnten in der Geschäftsebene beginnen, indem Sie komplexe Logik definieren, die Sie später sowohl mit Ihren Daten als auch mit der Benutzeroberfläche Ihrer App verbinden.

Grundkonzepte und Entwurfsprinzipien

Ein weiteres Grundprinzip ist, dass Ihre Anwendung sicher auf Daten zugreifen sollte, egal wo sie sich befinden. Der App Builder ist so konzipiert, dass er sich mit vielen verschiedenen Datenquellen verbinden kann, wie traditionellen Datenbanken, REST-APIs oder Cloud-Diensten, und diese so behandelt, als wären sie Teil Ihres lokalen Systems.

App Builder umfasst Funktionen, die gängige Entwicklungsaufgaben vereinfachen und beschleunigen. Sie können die Assistenten nutzen, die schrittweise Anleitungen zum Erstellen von Anwendungen, Seiten, Tabellen und Steuerelementen bieten. Der Live Designer ist eine interaktive Umgebung, in der Sie Seiten bearbeiten und Ihre Änderungen in Echtzeit sehen können. Das App Workbench und das Design Center fungieren ebenfalls als zentrale Anlaufstellen und bieten schnellen Zugriff auf die häufigsten Entwicklungsaufgaben, die nach den vier Anwendungsschichten organisiert sind.

graph LR
  subgraph " "
    direction LR

    Hub("🚀<br/><b>Accelerators</b>")

    subgraph <b>Tools</b>
      direction TB
      Spoke1["🖌️ <b>Visual Tools</b><br/><br/>Live Designer, Drag & Drop"]
      Spoke2["✨ <b>Guided Setup</b><br/><br/>Application & Page Wizards"]
      Spoke3["♻️ <b>Reusable Logic</b><br/><br/>Business Objects & Templates"]
      Spoke4["🧰 <b>Centralized Hubs</b><br/><br/>App Workbench & Design Center"]
      end
  end

  Hub -- " " --> Spoke1
  Hub -- " " --> Spoke2
  Hub -- " " --> Spoke3
  Hub -- " " --> Spoke4

App Builder beschleunigt die Entwicklung zudem durch intelligente, wiederverwendbare Komponenten. Sie können die Nutzung einer Spalte definieren (wie Titel oder Untertitel), und die Plattform verwendet diese automatisch zur Konfiguration von Komponenten wie Dropdown-Listen. Für die Interaktivität der Anwendung können Sie eine Brücke implementieren, um Benachrichtigungen und Warnungen an Benutzer per Email oder auf dem Bildschirm anzuzeigen, was komplexe Workflows mit menschlicher Interaktion ermöglicht.

Mit App Builder wird Sicherheit als grundlegender Aspekt des Designs Ihrer Anwendung betrachtet, nicht als nachträglicher Gedanke. Das Sicherheitsmodell von App Builder verwendet Rollen und Berechtigungen. Sie gewähren keinen direkten Zugriff auf Seiten; stattdessen verwalten Sie den Zugriff über die zugrunde liegenden Datenobjekte. Wenn ein Anwendungsbenutzer keine Berechtigung hat, bestimmte Daten zu sehen, werden die Teile der Benutzeroberfläche, die diese anzeigen, wie Panels, Links oder Schaltflächen, automatisch ausgeblendet oder deaktiviert.

Das Aussehen und das Gefühl Ihrer Anwendungen werden zentral über Themen und Stile verwaltet. Business Objects ermöglichen es Ihnen, eine einzige, autoritative Geschäftsregel zu erstellen, die auf vielen verschiedenen Seiten und Panels wiederverwendet werden kann. App Builder verwendet auch Spaltenvorlagen, was bedeutet, dass er sich Ihre Spaltenkonfigurationen (wie Name, Datentyp und Steuerelementtyp) merkt, um die zukünftige Tabellenerstellung zu beschleunigen.

Denken Sie wie ein App Builder-Entwickler

Um in die Denkweise des App Builders einzutauchen, sollten Sie zunächst Ihre Anwendungsidee in die vier verschiedenen Schichten unterteilen: Daten, Geschäft, UI und Sicherheit. Überlegen Sie, welche Daten Sie benötigen, welche Regeln dafür gelten, wie Ihre App aussehen soll und wer auf was zugreifen kann.

Beim Entwerfen einer Seite sollten Sie Ihre Panels immer mit einem Geschäftsobjekt in der Geschäftsschicht verbinden, nicht direkt mit einer Tabelle in der Datenschicht. Dies gibt Ihnen die Flexibilität, später Logik, Berechnungen oder Sicherheitsbeschränkungen hinzuzufügen, ohne Ihre Benutzeroberfläche neu aufbauen zu müssen.

Gestalten Sie Ihre Seiten mit einem logischen Fluss und einer Gruppierung der Panels. Lassen Sie die responsive Engine des App Builders steuern, wie Ihre App sich an verschiedene Bildschirmgrößen anpasst. Vermeiden Sie es, ein pixelgenaues Layout nur für eine Bildschirmgröße zu erzwingen.

graph LR
  subgraph " "
    direction LR

    Theme("🎨 <b>Theme & Style Configuration</b><br/><br/>Colors, Fonts, Logos")

    subgraph "Renders on:"
        direction TB
        Desktop["🖥️ Desktop"]
        Tablet["📱 Tablet"]
        Mobile["🤳 Mobile"]
        end
    end

    Theme -- " " --> Desktop
    Theme -- " " --> Tablet
    Theme -- " " --> Mobile

Verwenden Sie schließlich die Hub-Menüs für die Navigation und den Aufbau: das IDE, App Workbench und Live Designer. Diese sind darauf ausgelegt, Sie durch den vorgesehenen Workflow zu führen und kontextabhängige Optionen bereitzustellen. Übernehmen Sie die Namenskonventionen der Plattform (wie TableName (Zweck) für Ihre Geschäftsregeln), um Ihre Anwendung organisiert und wartbar zu halten, während sie wächst.