Mendix 8.10 – Das Leben besser machen | Mendix

Direkt zum Inhalt

Mendix 8.10 – Das Leben besser machen

Mendix 8.10 - Das Leben besser machen

At Mendix Wir arbeiten ständig daran, Ihr Leben zu verbessern. In der Produktversion dieses Monats haben wir neue Funktionen wie einen Datenbank-Connector zur nahtlosen Integration mit externen Daten, eine verbesserte Synchronisierungssteuerung in der Offline-First-App, bessere Zugänglichkeitsoptionen und leistungsstarke Mikroflussausdrücke bereitgestellt, um nur einige zu nennen. Wir sind sicher, dass diese Updates das Leben der Entwickler einfacher und die Endbenutzer glücklicher machen werden.

STUDIO PRO

Datenbank-Connector: Bringen Sie Back-End-Daten zu Ihren Front-End-Benutzern

JDBC ist ein De-facto-Standard, der alle Arten von Datenbanken verbindet. Mit dieser Version können Sie nun den Datenbank-Connector verwenden, um Apps ganz einfach mit Daten zu erweitern, die in nahezu jedem Datenbanktyp gespeichert sind.

Der Datenbank-Connector ermöglicht Ihnen die Verwendung herkömmlicher SQL-Abfragen zum Abrufen von Daten:

SQL-Abfrage mit Syntaxhervorhebung
SQL-Abfrage mit Syntaxhervorhebung

Die Ergebnisse können problemlos auf Ihre App zurückgeführt werden:

Der Ergebnisobjekttyp kann nun aus Ihren Entitäten ausgewählt werden

Für zusätzliche Flexibilität können Abfrageklauseln parametrisiert werden:

Parameter in Anweisungen werden entsprechend ihres Typs ausgefüllt und Studio Pro prüft, ob Sie korrekte Werte übergeben

In der Microflow-Toolbox finden Sie zwei neue Aktivitäten: Execute parameterized query , Execute parameterized statement. Diese finden Sie neben den beiden bestehenden Aktivitäten. Machen Sie sich keine Sorgen über die sofortige Migration zu den neuen Aktivitäten, Sie können dies in Ihrem eigenen Tempo tun.

Neue parametrisierte Aktivitäten

Diese Verbesserungen sind ab Studio Pro 8.6 verfügbar. Schnappen Sie sich die Datenbank-Connector v3.x aus dem App Store, um diese neue Funktion zu nutzen! Um mehr über das Quellmodell zu erfahren, besuchen Sie unsere GitHub-Repository.

Parameterisierte Zeichenfolgenvorlagen

Das Erstellen von Abfragen in großem Maßstab mithilfe direkter Zeichenfolgenverkettung kann schnell mühsam und manchmal sogar unsicher werden. Parametrisierte Abfragen können diese Probleme lösen. In dieser Version haben wir eingeführt Zeichenfolgenvorlage Parameter und hinzugefügte Typinformationen, sodass Modulentwickler parametrisierte Abfragen erstellen können.

Ohne String-Vorlagenparameter ist das Erstellen eines abfragebasierten Moduls schwierig, und normalerweise wird die Last, Abfragen richtig zu erstellen, dem Verbraucher eines Moduls auferlegt. Im folgenden Beispiel wird der alte Datenbank-Connector verwendet, um eine Anweisung für eine externe Datenbank auszuführen. Der Entwickler muss die Abfrage in einer vollständigen JDBC-URL übergeben und die vollständige Abfrage erstellen, bevor er den Execute Statement Aktion:

Execute Statement erfordert, dass der Entwickler eine vollständige Abfrage in einer einzigen Zeichenfolge bereitstellt

Dies ist praktisch für einfache Abfragen. Fortgeschrittene Abfragen werden jedoch schnell schwer zu warten, da sie nicht einfach formatiert werden können und auch keine Editor-Dienste wie Syntaxhervorhebung vorhanden sind. Die Verantwortung für die Sicherheit der Abfragen liegt teilweise beim Entwickler. Tatsächlich müssen in einigen Fällen Ausdrücke, die auf ungeprüften Benutzereingaben basieren, manuell bereinigt werden.

Mit String-Template-Parametern gehört dies nun der Vergangenheit an. Entwickler können völlig sichere parametrisierte SQL-Anweisungen schreiben. Mendix Wenn Sie in Studio Pro einer Java-Aktion einen String-Template-Parameter hinzufügen, erhalten Aufrufer dieser Aktion eine Template-Eingabe statt einer regulären String-Eingabe. Hier ist ein Beispiel aus dem Datenbank-Connector, in dem diese neue Funktionalität verwendet wird, um eine parametrisierte Update-Anweisung für eine externe Datenbank auszuführen:

Abfrage auf Vorlagenbasis mit SQL-Syntaxhervorhebung

Der Datenbank-Connector führt diese Abfrage mit JDBCs aus PreparedStatement, was bedeutet, dass alle übergebenen Ausdrücke einer Typprüfung unterzogen und maskiert werden.

Wie wird dies nun im Datenbank-Connector implementiert? In Studio Pro enthält die Vorlage Mendix-Stil indizierte Vorlagenparameter, d. h. {1} , {2}. In der Java-Implementierung muss dies auf einen JDBC abgebildet werden PreparedStatementDie Platzhalter, zB {1}müssen durch JDBCs ersetzt werden ?Mit der folgenden Zeile können Sie unsere Platzhalter durch einen der folgenden ersetzen: IStringTemplate Methoden:

String updatedTemplate = template.replacePlaceholders((parameter, index) -> "?");

Aus dieser aktualisierten Vorlage kann die vorbereitete Anweisung erstellt werden:

PreparedStatement pstmt = con.prepareStatement(updatedTemplate);

Die Liste der Vorlagenparameter mit ihren Typen und Werten finden Sie auch in IStringTemplate. Die Typinformationen und Werte der einzelnen Vorlagenparameter können verwendet werden, um Parameter am richtigen Index zum PreparedStatement:

List templateParameters = stringTemplate.getParameters();
for (int i = 0; i < templateParameters.size(); i++) {
ITemplateParameter parameter = templateParameters.get(i);
switch (parameter.getParameterType()) {
case INTEGER:
pstmt.setLong(i + 1, (long) parameter.getValue());
break;
case STRING:
pstmt.setString(i + 1, (String)parameter.getValue());
break;
case BOOLEAN:
pstmt.setBoolean(i + 1, (Boolean)parameter.getValue());
break;
case DECIMAL:
pstmt.setBigDecimal(i + 1, (BigDecimal)parameter.getValue());
break;
case DATETIME:
pstmt.setDate(i + 1, convertDate(parameter.getValue()));
break;
}
}

Sie können mithilfe von String-Vorlagen eine benutzerfreundliche Schnittstelle zum Datenbank-Connector oder ähnlichen Modulen erstellen. Erstellen Sie benutzerfreundliche Aktivitäten, die eine Abfrage oder abfrageähnliche Konstrukte für jede Art von Modul verwenden, einschließlich der Module, die Sie selbst erstellen. Zur Inspiration werfen Sie einen Blick auf das Quellmodell des Datenbank-Connector auf GitHub.

Mobil

Mit Gerät synchronisieren: nur ausgewählte Objekte synchronisieren

Wenn eine Offline-First-App synchronisiert wird, wird die Offline-Datenbank gelöscht und von Grund auf neu gefüllt, um die Datenintegrität zu gewährleisten. Dies kann jedoch zu unnötigem Mehraufwand führen, beispielsweise bei einem großen Datensatz, der sich nicht oft ändert und daher nicht häufig synchronisiert werden muss.

In dieser Version haben wir eine Mikroflow-Aktivität namens „Sync-to-Device“ hinzugefügt. Die Aktivität ermöglicht es Entwicklern, nur die erforderlichen Objekte mit dem Gerät zu synchronisieren, indem sie diese durch einen Mikroflow leiten. Diese Objekte werden einer lokalen Datenbank hinzugefügt und es werden keine anderen Daten synchronisiert, was dies zu einer sehr leistungsfähigen Option macht. Wenn Sie Objekte mehrerer Entitäten synchronisieren möchten, können Sie diese Aktivität mehrmals aufrufen.

Sync-to-Device dient zur Synchronisierung der heutigen Nachrichten

Ein weiteres gutes Beispiel ist, wenn es einen großen Satz statischer Daten (z. B. mehr als 10 Objekte) gibt, der sich selten ändert, wie etwa eine Produktliste. In diesem Fall können Sie auf dem Gerät einen Fortschrittsbildschirm anzeigen, während Sie alle Objekte in einem Stapel herunterladen. Sobald die Daten auf dem Server geändert sind, können Sie nur die geänderten Objekte synchronisieren – was die Synchronisierung mit dem Gerät sehr flexibel und effizient macht.

Siehe die Versionshinweise .

Web

Verbesserte Zugänglichkeit mit neuen Web-Nanoflow-Aktivitäten

Die Entwicklung barrierefreier Apps ist notwendig, um Ihre Apps benutzerfreundlicher zu gestalten. In dieser Version haben wir mehrere Updates zur Verbesserung der Barrierefreiheit vorgenommen. Weitere Informationen zu den Updates finden Sie im Versionshinweise oder check das aus Bewertungsleitfaden für weitere Informationen zur Unterstützung der Barrierefreiheit.

Wir haben außerdem vier neue Nanoflow-Aktivitäten für das Web veröffentlicht. Diese Aktivitäten verbessern das Benutzererlebnis, indem sie mehr Kontrolle über die Fokuselemente bieten.

Fokus setzen: setzt den Fokus direkt auf ein bestimmtes Element
Konzentrieren Sie sich auf Folgendes: Setzt den Fokus auf das nächste mögliche Element
Fokus auf Vorheriges: Setzt den Fokus auf das vorherige mögliche Element
Blättern Sie zu: ein Element auf der Seite

Neues Web-Actions-Modul

Diese Aktivitäten könnt ihr im neuen Web-Actions-Modul im App Store herunterladen werden auf dieser Seite erläutert.

Platform

Vereinfachte Story-Übersichtsseite

Die Story-Übersichtsseite im Entwicklerportal wurde Anfang des Jahres einer umfassenden Umgestaltung unterzogen. Obwohl seit Februar jeder auf das neue Design umsteigen konnte, ist es nun die Standardeinstellung. Ein großes Dankeschön an alle, die wertvolles Feedback über das Mendix Community-Slack.

In diesem Update haben wir diese Seite weiter vereinfacht, um sie benutzerfreundlicher zu gestalten. Sie können jetzt die richtige Story finden, indem Sie einfach das Suchfeld oben auf der Seite verwenden. Es sucht sofort nach Storys in Beschreibungen, Beschriftungen und Status.

Vereinfachte Suche

Sparen Sie Zeit, indem Sie auf der Seite „Neue Story“ auf die Schaltfläche „Weitere Story erstellen“ klicken oder die Tastenkombination Umschalt+Eingabe verwenden.

Erstellen Sie eine weitere Story

Zusätzlich zu diesen Änderungen haben wir auch Leistungsverbesserungen beim Bearbeiten von Storys, beim Laden von Storys auf der Übersichtsseite, bei der Story-API beim Wechsel zu einem aktiven Sprint und mehr vorgenommen.

Genussmittel

Assoziationen in Microflow-Ausdrücken

Während Sie Assoziationen immer in Microflow-Ausdrücken verwenden konnten, waren die Anwendungsfälle begrenzt. Sie konnten prüfen, ob Assoziationen leer waren, sie mit einem anderen Objekt vergleichen oder sie in Zuweisungen verwenden. Wenn Sie jedoch darüber hinausgehen mussten, um beispielsweise den Wert eines Attributs zu prüfen, mussten Sie immer Abrufen das zugehörige Objekt zuerst. Nun, nicht mehr!

Mit dieser Version machen wir die Verwendung von Assoziationen einfacher. Sie können der Assoziation jetzt direkt in allen Ihren Microflow-Ausdrücken folgen, beispielsweise in Entscheidungen und beim Festlegen von Werten. Schreiben Sie einfach $variable/Module.Association/Module.TargetEntity/Attribute um das Attribut eines referenzierten Objekts zu erhalten.

Aber Sie müssen hier nicht stehen bleiben – Sie können auch zwei oder mehr Assoziationen verfolgen und den Entitätstyp einer Assoziation überprüfen, wenn eine Spezialisierung verwendet wird.

Mehreren Assoziationen folgen und den Typ prüfen

Visuelle Anzeige von Konsistenzfehlern und Warnungen

Um die Konsistenz Ihrer Anwendungsmodelle sicherzustellen, Mendix bietet einen erweiterten Fehlerprüfmechanismus. Wenn Sie ein Modell erstellen, das nicht ganz korrekt ist, werden syntaktische und semantische Fehler und Warnungen ausgegeben. Diese Fehler und Warnungen werden im Fehlerbereich von Studio Pro als Liste.

Um noch schneller Feedback beim Erstellen von Modellen zu erhalten, visualisiert Studio Pro jetzt die Anzahl der Konsistenzfehler und Warnungen über dem jeweiligen Element. Fehler werden rot und Warnungen orange angezeigt:

Visuelle Anzeigen von Fehlern und Warnungen

Diese Funktion basiert auf einer Idee eingereicht im Mendix Ideenforum von Axel Brink. Vielen Dank, Axel, für die Entwicklung mit Mendix einfacher!

Machen Sie das Leben weiterhin besser

Weitere Informationen zu den neuen Funktionen und Merkmalen finden Sie im VersionshinweiseUnd wie immer laden Sie die neueste Version von Mendix STUDIO PRO um das Leben besser zu machen.

Wählen Sie Ihre Sprache