Produit

Gestion récursive des dépendances : Plus intelligente, plus profonde, plus sûre

Suite au lancement de la règle de version Follow 4D, nous sommes ravis d’introduire un nouveau niveau d’automatisation et de fiabilité dans 4D 20 R10 : la résolution des dépendances entièrement récursive.

Que vous ajoutiez, mettiez à jour ou supprimiez un composant, le gestionnaire de dépendances agit désormais de manière récursive, garantissant que chaque action que vous entreprenez est reflétée avec précision dans l’ensemble de votre arbre de dépendances.

Produit blank

Un typage plus strict des objets basé sur les classes

Traduit automatiquement de Deepl

Avec 4D 20 R10, le typage d’objets fait un grand pas en avant, vous donnant plus de confiance et de contrôle dans votre code. Au lieu de simplement vérifier si une valeur est un objet, 4D vérifie désormais qu’il s’agit d’une instance d’une classe spécifique. Cela permet une auto-complétion plus intelligente, une validation en ligne et des contrôles de compilation plus stricts, ce qui vous aide à détecter rapidement les erreurs et à écrire un code plus clair et plus facile à maintenir.

Les avantages ne s’arrêtent pas aux variables et aux résultats des fonctions. Cette amélioration s’applique également à votre modèle de données : vous pouvez désormais affecter une classe définie par l’utilisateur ou une classe native (comme le nouveau 4D.Vector pour votre implémentation AI) directement à un champ d’objet dans l’éditeur de structure. 4D comprend alors la forme complète de l’objet, de la conception à l’exécution, ce qui permet une expérience de développement plus sûre et plus fiable.

Produit blank

ORDA – Démarrer avec l’événement touché

Traduit automatiquement de Deepl

ORDA est une fonctionnalité principale à long terme qui ouvre un monde de nouvelles possibilités dans 4D.

Nous continuons à améliorer ORDA pour fournir un code puissant. Ainsi, vos applications deviennent faciles à développer et à maintenir. Et surtout, elles sont optimisées avec une grande performance pour vos utilisateurs finaux.

C’est pourquoi nous sommes heureux d’introduire une nouvelle fonctionnalité dans 4D 20 R10 concernant les événements sur les données en mémoire.

Dans un parcours utilisateur typique, les données dont l’utilisateur a besoin sont chargées en mémoire. Ensuite, elles sont soumises à des changements en fonction des actions de l’utilisateur et enfin, elles sont sauvegardées lorsque l’utilisateur clique sur un bouton Enregistrer.

Qu’en est-il du déclenchement automatique de la logique métier lorsque certaines données changent en mémoire? Il est désormais possible de formater ou de préparer les données le plus tôt possible avant l’action d’enregistrement , afin que les données soient prêtes à être enregistrées.

Cela se fait grâce à l’événement ORDA touché sur les données et l’avantage est considérable.

Vous voulez en savoir plus ? Continuez à lire !

Produit blank

ORDA – Démarrer avec le constructeur d’entités

Traduit automatiquement de Deepl

Le langage 4D prend en charge le concept de classes et, par conséquent, le concept de constructor.

D’autre part, la couche d’abstraction ORDA, par le biais des classes de modèle de données, offre un grand avantage commercial. Elle vous permet d’écrire du code orienté métier et de le « publier » comme une API. Le magasin de données, les classes de données, les sélections d’entités et les entités sont tous disponibles en tant qu’objets de classe qui peuvent contenir des fonctions ainsi que des attributs calculés et des alias.

Cela permet à vos applications de suivre facilement les principes MVC avec un code puissant et optimisé.

Pour travailler avec une approche orientée objet complète, à partir de 4D 20 R10, les classes d’entités peuvent maintenant avoir un constructor(). Vous avez besoin de définir des valeurs initiales lorsqu’une nouvelle entité est instanciée ? C’est désormais possible ! Poursuivez votre lecture pour en savoir plus …

Produit Illustration of developers building a dynamic interface on a large screen, representing 4D 20 R10’s new formula-based data source support for form objects.

Construire des formulaires à la volée avec les nouvelles commandes Data Source

Dans le cadre du développement d’applications, il est souvent nécessaire de créer des formulaires de manière dynamique. Par exemple, vous pourriez vouloir générer un formulaire de recherche à la volée, adapté aux besoins de l’utilisateur. Dans 4D, il existe deux approches principales pour construire des formulaires dynamiques : soit construire l’ensemble du formulaire par programme, soit ajouter des objets à une disposition de formulaire existante. Pour la seconde option, il était jusqu’à présent possible de dupliquer des objets avec la commande OBJECT DUPLICATE et de modifier la source de données avec OBJECT SET DATA SOURCE le tout en utilisant une approche classique basée sur les pointeurs.

Avec 4D 20 R10, de nouvelles et puissantes commandes, OBJECT SET DATA SOURCE FORMULA et OBJECT Get data source formula permettent aux développeurs de lier une formule comme source de données des objets de formulaire. De plus, vous pouvez affecter dynamiquement des formules aux propriétés clés des boîtes de liste avec la commande LISTBOX SET PROPERTY telles que l’élément courant, la position de l’élément courant et les éléments sélectionnés.

Cela ouvre la voie à une approche plus moderne, plus flexible et plus lisible, grâce notamment à des expressions telles que Form.xx ou les classes.

Conseils blank

SHOWCASE : MODÉRATION INTELLIGENTE DES COMMENTAIRES AVEC L’IA

Poursuivant notre voyage dans les fonctionnalités intelligentes avec 4D AIKit, explorons un cas d’utilisation très pertinent pour toute application moderne : la modération automatisée des commentaires. Dans un monde où les conversations en ligne peuvent se produire en temps réel, garder votre plateforme sûre, respectueuse et conforme n’est plus optionnel, c’est essentiel. Avec AIKit, vous pouvez intégrer de puissants outils de modération directement dans la logique de votre application, sans dépendre de services de modération externes ou de réviseurs humains.

Produit blank

Connecter vos applications Web à des systèmes tiers

Traduit automatiquement de Deepl

Aujourd’hui, les applications web font partie intégrante de notre vie, offrant des fonctionnalités pratiques qui permettent de gagner du temps et de simplifier les tâches quotidiennes. Par exemple, la création de comptes sur diverses plateformes est l’une des actions les plus fréquentes des utilisateurs sur les sites web.

Ils s’attendent à ce que ce type de processus soit rapide et accessible, que ce soit à la maison, dans les transports ou sur la plage.

Derrière cette simplicité se cache une réalité plus complexe. Ces opérations nécessitent souvent une intégration avec des systèmes tiers, tels que les services de vérification des courriers électroniques. Cela pose des problèmes de sécurité, de continuité de l’expérience utilisateur et de protection contre les attaques de type « man-in-the-middle ».

Pour les développeurs, assurer une expérience fluide signifie gérer les interactions entre les systèmes externes et la session web 4D. Cela implique de maintenir le contexte de l’utilisateur, en récupérant les données, les privilèges et l’étape exacte de son parcours pour terminer le processus.

Cela vous semble compliqué ? Ce n’est pas nécessaire ! Découvrez comment construire des applications web robustes qui communiquent efficacement et en toute sécurité avec des systèmes tiers avec 4D 20R9.

Produit blank

Rafraîchissement automatique des licences de build OEM

4D actualise automatiquement les licences de développement lorsqu’elles atteignent leur date d’expiration. Cependant, les licences de build OEM (4D Server OEM et OEM XML Keys) nécessitent toujours une intervention humaine pour être mises à jour. Cela causait des problèmes sur les chaînes de construction automatisées et, en général, une perte de temps.

4D 20 R9 étend le rafraîchissement automatique des licences aux licences de build OEM. Cet article décrit les différents scénarios dans lesquels cela se produira.

Produit blank

Nouvelle classe pour gérer les connexions TCP entrantes

Dans 4D 20 R8, nous avons introduit la classe TCPConnection, qui vous permet d’initier des connexions TCP vers des serveurs distants. Avec 4D v20 R9, nous sommes ravis de vous présenter la classe TCPListener, la clé pour gérer les connexions TCP entrantes et construire un serveur TCP directement dans 4D.

Avec ces deux classes – TCPConnection et TCPListener – vous avez maintenant un contrôle total sur la communication TCP, à la fois côté client et côté serveur.

Voyons comment les utiliser ensemble.