At Mendix, nous trouvons toujours des moyens de vous aider rester connecté, que ce soit avec votre équipe, vos parties prenantes ou vos utilisateurs. Rester connecté à vos utilisateurs signifie s'assurer que vos applications répondent à leurs besoins. Qu'il s'agisse d'offrir de nouveaux menus, une meilleure accessibilité ou une visibilité conditionnelle, Mendix 8.9 garantit que vous disposez de suffisamment d'outils dans votre arsenal pour garder les utilisateurs heureux et engagés.
Mobile natif
Nous avons quelques mises à jour amusantes et une mise à jour importante pour Native Mobile et l'application Make It Native.
Avis important pour Mendix Applications mobiles natives
Avec la version 8.9, nous avons déployé une mise à niveau significative de la couche technologique sous-jacente, en mettant à niveau React Native vers la version 0.61 et en mettant à niveau toutes les bibliothèques natives vers leurs versions les plus récentes. Il s'agissait de profiter des dernières fonctionnalités et correctifs, et de garantir la qualité et la stabilité des applications mobiles natives créées avec Mendix.
L'application Make It Native publiée dans l'App Store d'Apple et le Google Play Store est désormais compatible avec la dernière version de Mendix. En raison des changements dans les bibliothèques natives, la version de Make It Native que nous publierons parallèlement Mendix 8.9 ne sera pas compatible avec les anciennes versions de Mendix. Vous recevrez un message si votre application Make It Native n'est pas compatible avec votre Mendix version accompagnée d'un lien vers les instructions.
Notre conseil est de procéder à une mise à niveau, mais si vous ne souhaitez pas ou ne pouvez pas mettre à niveau votre projet vers Mendix 8.9, vous pouvez télécharger Make It Native pour les versions plus anciennes ici.
Menu contextuel natif
Le mois dernier nous publié le widget Bottom Sheet qui permettent d'afficher des options supplémentaires sur une action utilisateur. Ce mois-ci, nous avons ajouté un autre widget utile : un menu contextuel natif qui permet d'afficher un menu contextuel directement à l'endroit où l'utilisateur a tapé sur l'écran.

Le widget dispose de deux options de configuration, Basic et Custom. Avec l'option Basic, vous pouvez rapidement ajouter des options en spécifiant la légende et l'action. Si vous avez besoin de plus de flexibilité, vous pouvez utiliser l'option Custom qui vous permet d'ajouter des espaces réservés pour chaque élément afin de pouvoir personnaliser entièrement l'apparence des éléments.

Dans l'ensemble, nous pensons que ces fenêtres contextuelles sont plus utiles pour les applications pour tablettes et la feuille inférieure plus utile pour les applications pour téléphones, mais ne laissez pas cela limiter votre créativité. Comme le dit le dicton, une fois que vous avez fait une fenêtre contextuelle, vous pouvez la fermer.
Pour obtenir ce widget pour les applications existantes, effectuez une mise à jour vers la dernière version de Ressources mobiles natives ou mettez à jour le module AtlasUI pour obtenir les nouveaux blocs de construction. De nouvelles applications basées sur Démarrage rapide du mobile natif l'application de démarrage aura automatiquement ce widget.
Mises à jour de Studio Pro
Trier en nanoflux
Les nanoflows étant de plus en plus utilisés, nous avons constaté qu'une fonctionnalité nécessaire manquait, que nous avons désormais ajoutée : le tri dans les nanoflows ! Vous pouvez désormais trier facilement une liste avec l'action d'opération de liste.

Widget Fieldset pour l'accessibilité Web
Lors de la création d'applications Web accessibles, un aspect important est que les lecteurs d'écran comprennent la structure et les groupes logiques d'une page. fensemble de champs élément avec un légende peut grandement vous aider à y parvenir. Nous avons donc créé un widget simple qui affiche un ensemble de champs avec une légende pour vous aider à créer des applications plus accessibles.

Mises à jour du studio
Configurer la visibilité conditionnelle des widgets dans Studio
Parfois, différentes conditions déterminent les parties de la page que vous masquez ou affichez à vos utilisateurs. Par exemple : l'adresse de livraison alternative ne doit être affichée que lorsque l'utilisateur sélectionne l'option permettant d'ajouter cette adresse. Ou que se passe-t-il si vous souhaitez afficher d'autres informations exclusivement aux utilisateurs ayant le rôle de gestionnaire ?
Mendix Studio permet désormais de configurer la visibilité conditionnelle des widgets sur les pages. Vous pouvez utiliser des valeurs d'attribut et des rôles d'utilisateur pour afficher ou masquer des widgets.

Voyons comment cela fonctionne pour l’exemple d’adresse de livraison mentionné ci-dessus :
Pour voir dans Studio quels widgets ont une visibilité conditionnelle définie, cliquez sur l'icône « Visibilité conditionnelle » en haut à gauche de l'éditeur de page et tous les widgets avec une visibilité conditionnelle sont mis en surbrillance avec une bordure verte douce. Cette fonctionnalité est également disponible dans le mode Conception de Studio Pro. Et comme d'habitude, la visibilité conditionnelle configurée dans Studio est entièrement modifiable dans Studio Pro.

Imaginez l’ensemble des possibilités que cela apporte aux utilisateurs de Studio, désormais capables de créer facilement des interfaces utilisateur adaptées à différents utilisateurs et à leurs cas d’utilisation.
Délices
Intercepter les requêtes HTTP sortantes pour appeler les services REST et Web
Lors de l'intégration avec des services Web et REST, il est parfois nécessaire de modifier soigneusement la manière dont les requêtes HTTP sortantes sont formées. Avec cette version, nous avons introduit la possibilité de manipuler les requêtes HTTP sortantes avec un intercepteur de requêtes.
Avec l'API nouvellement ajoutée Core.http().registerHttpRequestInterceptor(...) vous pouvez ajouter un intercepteur qui s'exécute juste avant l'envoi de la requête HTTP pour une activité d'appel de service REST sortant ou d'appel de service Web. Vous pouvez filtrer les requêtes sur les noms d'hôtes, avec "*.mendix.com", par exemple, et ne traitez que les demandes dont vous avez besoin.
// Add these lines to a Java action that you call e.g. after startup
IHttpRequestInterceptor interceptor = new MyRequestInterceptor();
Core.http().registerHttpRequestInterceptor("*.mendix.com", interceptor);
Il est possible de manipuler les en-têtes HTTP et la charge utile de la requête. Par exemple, vous pouvez vous assurer que sur chaque requête sortante vers les services AWS, un en-tête supplémentaire avec une signature spécifique pour l'authentification auprès des services AWS est ajouté. Vous pouvez également définir un corps de requête si la requête n'en contient pas encore :
public class MyRequestInterceptor implements IHttpRequestInterceptor {
@Override
public void process(IHttpRequest req, IHttpContext ctx) {
Optional optContent = req.getContent();
if (optContent.isEmpty()) {
try {
// Uses Apache Commons IO
req.setContent(IOUtils.toInputStream("some test data for my request body", "UTF-8"), 35l);
} catch (IOException ex) {
// Something went wrong, make sure to log an error
}
}
}
}
Jetez un coup d'œil au Documents d'API pour plus de détails
Rester branché
Nous voulons nous assurer que nous restons en contact avec vous ! N'hésitez pas à nous soumettre toutes vos idées de délices ou de mises à jour dans notre Mendix Forum d'idées.
Comme toujours consultez les notes de version pour plus d'informations et télécharger la dernière pour obtenir le meilleur.