Mendix 8.10 - Améliorer la vie | Mendix

Passer au contenu principal

Mendix 8.10 – Améliorer la vie

Mendix 8.10 - Améliorer la vie

At Mendix Nous travaillons sans cesse à améliorer votre vie. Dans la version de produit de ce mois, nous avons livré de nouvelles fonctionnalités telles qu'un connecteur de base de données pour une intégration transparente avec des données externes, un contrôle de synchronisation amélioré dans l'application hors ligne, de meilleures options d'accessibilité et de puissantes expressions de microflux, pour n'en citer que quelques-unes. Nous sommes sûrs que ces mises à jour faciliteront la vie des développeurs et rendront les utilisateurs finaux heureux.

Studio Pro

Connecteur de base de données : apportez les données back-end à vos utilisateurs front-end

JDBC est une norme de facto qui connecte tous les types de bases de données. Avec cette version, vous pouvez désormais utiliser le connecteur de base de données pour étendre facilement les applications avec des données stockées dans presque tous les types de bases de données.

Le Connecteur de base de données vous permet d'utiliser des requêtes SQL traditionnelles pour récupérer des données :

Requête SQL avec coloration syntaxique
Requête SQL avec coloration syntaxique

Les résultats peuvent facilement être répercutés sur votre application :

Le type d'objet de résultat peut désormais être sélectionné parmi vos entités

Les clauses de requête peuvent être paramétrées pour plus de flexibilité :

Les paramètres dans les instructions sont renseignés par leur type et Studio Pro vérifie si vous transmettez des valeurs correctes

Vous pouvez trouver deux nouvelles activités dans la boîte à outils Microflow : Execute parameterized query et Execute parameterized statement. Vous les trouverez à côté des deux activités existantes. Ne vous inquiétez pas de la migration immédiate vers les nouvelles activités, vous pouvez le faire à votre rythme.

Nouvelles activités paramétrées

Ces améliorations sont disponibles à partir de Studio Pro 8.6. Connecteur de base de données v3.x depuis l'App Store pour profiter de cette nouvelle fonctionnalité ! Pour en savoir plus sur le modèle source, visitez notre GitHub référentiel.

Modèles de chaînes paramétrées

La création de requêtes à grande échelle à l'aide d'une concaténation directe de chaînes peut rapidement devenir fastidieuse et parfois même dangereuse. Les requêtes paramétrées peuvent résoudre ces problèmes. Dans cette version, nous avons introduit modèle de chaîne paramètres et informations de type ajoutées afin que les développeurs de modules puissent créer des requêtes paramétrées.

Sans paramètres de modèle de chaîne, la création d'un module basé sur une requête est difficile et, en général, la charge de créer correctement les requêtes incombe au consommateur d'un module. Dans l'exemple suivant, l'ancien connecteur de base de données est utilisé pour exécuter une instruction sur une base de données externe. Le développeur doit transmettre la requête dans une URL JDBC complète et doit créer la requête complète avant d'appeler le Execute Statement action:

L'instruction Exécuter nécessite que le développeur fournisse une requête complète dans une seule chaîne

C'est pratique pour les requêtes simples. Mais les requêtes avancées deviennent rapidement difficiles à maintenir car elles ne peuvent pas être facilement formatées et il n'existe pas de services d'édition tels que la coloration syntaxique. La charge de garantir la sécurité des requêtes incombe en partie au développeur. En fait, dans certains cas, les expressions basées sur des entrées utilisateur non vérifiées doivent être nettoyées manuellement.

Avec les paramètres de modèle de chaîne, cela appartient désormais au passé. Les développeurs peuvent écrire des instructions SQL paramétrées totalement sûres. Mendix Studio Pro, si vous ajoutez un paramètre de modèle de chaîne à une action Java, les appelants de cette action obtiendront une entrée de modèle au lieu d'une entrée de chaîne standard. Voici un exemple du connecteur de base de données où cette nouvelle fonctionnalité est utilisée pour exécuter une instruction de mise à jour paramétrée sur une base de données externe :

Requête basée sur un modèle avec mise en évidence de la syntaxe SQL

Le connecteur de base de données exécute cette requête avec JDBC PreparedStatement, ce qui signifie que toutes les expressions transmises sont vérifiées et échappées.

Comment cela est-il implémenté dans le connecteur de base de données ? Dans Studio Pro, le modèle contient Mendix-paramètres de modèle indexés de style, c'est-à-dire. {1} et {2}. Dans l'implémentation Java, cela doit être mappé à un JDBC PreparedStatement. Les espaces réservés, par exemple {1}, doivent être remplacés par JDBC ?. Avec la ligne suivante, nos espaces réservés peuvent être remplacés par l'un des IStringTemplate méthodes:

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

À partir de ce modèle mis à jour, l'instruction préparée peut être créée :

PreparedStatement pstmt = con.prepareStatement(updatedTemplate);

La liste des paramètres du modèle avec leurs types et leurs valeurs est également fournie par IStringTemplate. Les informations de type et les valeurs de chacun des paramètres du modèle peuvent être utilisées pour ajouter des paramètres à l'index correct au 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;
}
}

Vous pouvez créer une interface conviviale pour le connecteur de base de données ou des modules similaires à l'aide de modèles de chaîne. Créez des activités faciles à utiliser qui utilisent une requête ou des constructions de type requête pour tout type de module, y compris les modules que vous créez vous-même. Pour vous inspirer, jetez un œil au modèle source du Connecteur de base de données sur GitHub.

Mobile

Synchronisation avec l'appareil : synchroniser uniquement les objets sélectionnés

Chaque fois qu'une application hors ligne est synchronisée, la base de données hors ligne est effacée et repeuplée à partir de zéro pour garantir l'intégrité des données. Cependant, cela peut entraîner une surcharge inutile, par exemple, un grand ensemble de données qui ne change pas souvent et qui n'a donc pas besoin d'être synchronisé fréquemment.

Dans cette version, nous avons ajouté une activité de microflux appelée sync-to-device. L'activité permet aux développeurs de synchroniser uniquement les objets requis avec l'appareil en les transmettant via un microflux. Ces objets sont ajoutés à une base de données locale et aucune autre donnée n'est synchronisée, ce qui en fait une option très performante. Si vous souhaitez synchroniser des objets de plusieurs entités, vous pouvez appeler cette activité plusieurs fois.

Synchronisation avec l'appareil utilisé pour synchroniser les actualités du jour

Un autre bon exemple est celui d'un grand ensemble de données statiques (par exemple plus de 10 XNUMX objets) qui changent rarement, comme une liste de produits. Dans ce cas, vous pouvez afficher un écran de progression sur l'appareil pendant le téléchargement de tous les objets par lots. Une fois les données sur le serveur modifiées, vous pouvez synchroniser uniquement les objets modifiés, ce qui rend la synchronisation avec l'appareil très flexible et efficace.

Voir le notes de version pour en profiter.

Web

Accessibilité améliorée avec de nouvelles activités Web Nanoflow

Il est nécessaire de créer des applications accessibles pour rendre vos applications plus conviviales. Dans cette version, nous avons effectué plusieurs mises à jour pour améliorer l'accessibilité. Vous pouvez en savoir plus sur les mises à jour dans la notes de version ou consultez la guide d'évaluation pour plus d'informations sur le support d'accessibilité.

Nous avons également publié quatre nouvelles activités nanoflow pour le Web. Ces activités améliorent l'expérience utilisateur en offrant plus de contrôle sur les éléments de focus.

Définir la mise au point: définir le focus directement sur un certain élément
Concentrons-nous ensuite: définir le focus sur l'élément possible suivant
Focus précédent: définir le focus sur l'élément possible précédent
Faites défiler jusqu'à:un élément sur la page

Nouveau module d'actions Web

Vous pouvez télécharger ces activités dans le nouveau module d'actions Web de l'App Store ici.

Plateforme complète

Page d'aperçu des histoires simplifiées

La page d'aperçu des stories du portail des développeurs a subi une énorme transformation plus tôt cette année. Bien que tout le monde ait pu passer au nouveau look depuis février, il est désormais devenu la valeur par défaut. Un grand merci à tous ceux qui ont envoyé des commentaires précieux via le Mendix Marge de la communauté.

Dans cette mise à jour, nous avons encore simplifié cette page pour la rendre plus conviviale. Vous pouvez désormais trouver l'histoire qui vous convient en utilisant simplement le champ de recherche en haut de la page. Il recherchera les histoires dans les descriptions, les libellés et les statuts en même temps.

Recherche simplifiée

Gagnez du temps en cliquant sur le bouton « Créer une autre histoire » sur la page Nouvelle histoire ou utilisez le raccourci clavier Maj+Entrée.

Créer une autre histoire

En plus de ces modifications, nous avons également apporté des améliorations de performances dans l'édition des histoires, le chargement des histoires sur la page d'aperçu, l'API des histoires lors de l'accès à un sprint actif, et bien plus encore.

Délices

Associations dans les expressions de microflux

Bien que vous puissiez toujours utiliser des associations dans les expressions de microflux, les cas d'utilisation étaient limités. Vous pouviez vérifier si les associations étaient vides, les comparer avec un autre objet ou les utiliser dans des affectations. Cependant, lorsque vous aviez besoin d'aller plus loin, par exemple pour vérifier la valeur d'un attribut, vous deviez toujours Récupérer l'objet associé en premier. Eh bien, plus maintenant !

Avec cette version, nous facilitons l'utilisation des associations. Vous pouvez désormais suivre l'association directement dans toutes vos expressions de microflows, par exemple dans les décisions et lors de la définition de valeurs. Il suffit d'écrire $variable/Module.Association/Module.TargetEntity/Attribute pour obtenir l'attribut d'un objet référencé.

Mais vous n’êtes pas obligé de vous arrêter là : vous pouvez également suivre deux ou plusieurs associations et vérifier le type d’entité d’une association lorsque la spécialisation est utilisée.

Suivre plusieurs associations et vérifier le type

Indicateur visuel pour les erreurs de cohérence et les avertissements

Pour garantir la cohérence de vos modèles d'application, Mendix fournit un mécanisme avancé de vérification des erreurs. Chaque fois que vous créez un modèle qui n'est pas entièrement correct, il génère des erreurs et des avertissements syntaxiques et sémantiques. Ces erreurs et avertissements sont affichés dans le panneau d'erreur de Studio Pro sous forme de liste.

Pour fournir un retour d'information encore plus rapide lors de la création de modèles, Studio Pro visualise désormais le nombre d'erreurs de cohérence et d'avertissements au-dessus de l'élément concerné. Les erreurs reçoivent un indicateur rouge et les avertissements, un indicateur orange :

Indicateurs visuels d'erreurs et d'avertissements

Cette fonctionnalité est basée sur un idée soumis dans le Mendix Forum d'idées par Axel Brink. Merci, Axel, d'avoir fait du développement avec Mendix Plus facile!

Continuez à rendre la vie meilleure

Pour en savoir plus sur les nouvelles capacités et fonctionnalités, consultez le notes de version. Et, comme toujours, téléchargez la dernière version de Mendix Studio Pro pour rendre la vie meilleure.

Choisissez votre langue