Produit

4D pour iOS : Synchronisation des données optimisée

Traduit automatiquement de Deepl

Le processus de synchronisation des données de 4D pour iOS a été entièrement repensé dans 4D v18 R5 !

Comme vous le savez probablement déjà, 4D pour iOS vous permet d’étendre un sous-ensemble de votre structure physique aux appareils mobiles et de consulter vos données hors ligne de manière très efficace.

Produit blank

Recherche d’emails avec le protocole IMAP

Traduit automatiquement de Deepl

Parfois, vous devez trouver tous les courriels non lus sur votre serveur de messagerie et les télécharger pour les afficher à votre client. La méthode searchMails le fait pour vous ! Elle utilise le protocole de recherche IMAP qui se fait entièrement du côté serveur. Cela signifie qu’elle est rapide et qu’elle vous permet de ne récupérer que les e-mails souhaités.

Produit blank

Plusieurs instances d’applications serveur fusionnées sur la même machine

Traduit automatiquement de Deepl

L’hébergement de plusieurs applications 4D Server sur la même machine n’est pas inhabituel, notamment pour les environnements de production et de pré-production. Mais si votre machine héberge des applications serveur fusionnées construites avec des versions 4D différentes, ce qui est le cas si vous utilisez votre serveur de pré-production avec la dernière version 4D, vous pouvez rencontrer des problèmes dus au dossier de structure 4D partagé.

Voyons comment résoudre ce problème.

Produit blank

ORDA – Partager une sélection d’entités entre processus

Traduit automatiquement de Deepl

4D v16 R6 a introduit un nouveau concept de communication entre les processus: les variables d’objets et de collections partagées! Grâce à cela, vous êtes en mesure de partager facilement des informations entre les processus.

Jusqu’à présent, les sélections d’entités n’étaient pas partageables entre les processus. Mais cela a changé… nous avons le plaisir de vous annoncer que dans 4D v18 R5, les sélections d’entités sont partageables !

Fini le temps où il fallait construire une liste de clés primaires pour déplacer une sélection d’entités vers un autre processus. Améliorez votre code multi-processus en incluant les sélections d’entités ORDA comme objets partagés.

Continuez à lire pour en savoir plus.

Produit blank

4D View Pro : Utilisez les formules 4D dans votre feuille de calcul.

Traduit automatiquement de Deepl

4D v18 R5 introduit une nouvelle commande qui simplifie l’écriture de votre code : VP SET CUSTOM FUNCTIONS. Elle crée des fonctions personnalisées dans 4D View Pro qui exécutent les formules 4D.

Grâce à cette commande, vous pouvez désormais permettre aux commandes 4D, aux champs, aux variables, aux méthodes ou à toute expression arbitraire d’être utilisés dans vos formules de cellules. Par exemple, il n’est pas nécessaire de créer une méthode pour utiliser une simple variable dans 4D View Pro, il suffit de la passer comme paramètre à votre Formula.

Produit blank

Automatisez les tâches répétitives et bien plus encore grâce aux macros de formulaires !

Traduit automatiquement de Deepl

Si vous êtes un adepte des macros dans l’éditeur de code, alors 4D v18 R5 a de bonnes nouvelles pour vous … car maintenant les macros sont également disponibles dans l’éditeur de formulaires !

Laissez-moi commencer par vous dire à quel point les macros peuvent vous être utiles. Avez-vous déjà eu besoin d’utiliser des règles de formatage ou de nommage dans votre application, puis de les appliquer à chaque nouveau formulaire ? Ou peut-être avez-vous dû travailler sur des formulaires existants créés par quelqu’un d’autre, et devez toujours effectuer exactement les mêmes vérifications et analyses avant de commencer. Si vous avez déjà été confronté à l’un de ces scénarios, alors 4D v18 R5 est fait pour vous, car il vous donne la possibilité de créer des macros et de gagner du temps sur des tâches prévisibles et répétitives.

Produit blank

4D pour iOS : Amélioration de l’interface utilisateur (et plus encore) grâce aux liens profonds

Traduit automatiquement de Deepl

4D v18 R5 comprend une nouvelle fonctionnalité intéressante : Les liens profonds. C’est cool, mais qu’est-ce que c’est ?

Voici un exemple :

Avez-vous déjà reçu un courriel de Netflix vous demandant si vous voulez continuer à regarder un film que vous avez arrêté à la moitié ? Vous cliquez sur le lien, mais il ne vous amène pas à la page d’accueil de Netflix ni ne lance l’application sur votre téléphone. Au contraire, en cliquant sur le lien, vous ouvrez le lecteur et reprenez le film exactement là où vous l’avez arrêté.

C’est ça, le lien profond ! Il permet aux utilisateurs d’ouvrir une vue spécifique dans leur application en cliquant simplement sur une URL (ce qui améliore considérablement l’expérience utilisateur et augmente la rétention et l’engagement des utilisateurs).

Produit blank

Débogueur à distance : Débogage du code du serveur sur le client

Traduit automatiquement de Deepl

Il existe de nombreux scénarios de développement client/serveur différents, mais dans tous, vous devez passer du côté client au côté serveur pour consulter le débogueur ou la fenêtre d’erreur du serveur. Pour vous faciliter la vie, nous avons ajouté une nouvelle option qui vous permet de décider où vous voulez déboguer votre code serveur. Vous avez besoin de déboguer sur un client parce que votre serveur est headless ? Il suffit de l’attacher à votre client via votre menu 4D !

Produit blank

Syntaxe conviviale pour les fonctions et les méthodes des classes.

Traduit automatiquement de Deepl

L’utilisation de variables $1, $2 et $n dans votre code ne rend pas seulement le code moins lisible, elle peut aussi augmenter la confusion puisque le cerveau humain peut avoir du mal à se souvenir de ce à quoi ces variables correspondent. La solution consiste à créer une variable avec un nom compréhensible et à lui attribuer la valeur de $1, $2 ou $n.

4D v18 R5 a une bonne nouvelle, vous pouvez maintenant nommer vos paramètres lors de la déclaration :

  • une méthode de projet,
  • un trigger
  • une méthode de base de données
  • une méthode de formulaire
  • un constructeur d’une classe
  • une fonction d’une classe.

Voyons comment !