Le compilateur Free Pascal et l'IDE Lazarus prennent désormais en charge les packages dynamiques, permettant aux utilisateurs de créer et d'installer des composants, des contrôles et des extensions sans reconstruire entièrement l'IDE. Les packages dynamiques peuvent être utilisés pour développer des plugins exposant les classes et types natifs Pascal à travers des bibliothèques de packages dynamiques. Ils sont implémentés sous forme de fichiers de bibliothèque partagée standard pour Linux, Windows et macOS, contenant les métadonnées générées par le compilateur.
Le runtime inclut des mécanismes permettant de préserver en toute sécurité les variables de thread et de gérer les types dynamiques, tels que les chaînes et les tableaux dynamiques, entre les programmes et les packages. Lors du déploiement des programmes, les utilisateurs peuvent regrouper tout dans un seul exécutable ou le diviser en plusieurs packages dynamiques pouvant être remplacés pendant l'exécution, offrant ainsi un système de plugins. Les restrictions incluent les conflits de noms d'unités entre les packages et la taille des packages dynamiques supérieure à celle des bibliothèques partagées ordinaires en raison des métadonnées incorporées.
Le RTL a été amélioré avec une nouvelle unité, Dyn Pkg Types.pas, pour aider à lire les informations provenant des packages dynamiques. Les améliorations de l'IDE Lazarus incluent une nouvelle fenêtre de progression qui apparaît en dehors de l'IDE lors de la reconstruction des packages. Les packages dynamiques offrent un système de plugins et permettent le remplacement des composants pendant l'exécution, améliorant ainsi le flux de travail de développement pour les utilisateurs de Lazarus.
Source: Hacker News · Résumé par HeadlinesBriefing