Компилятор Free Pascal и IDE Lazarus теперь поддерживают динамические пакеты, позволяя пользователям создавать и устанавливать компоненты, элементы управления и расширения без полной пересборки IDE. Динамические пакеты можно использовать для разработки плагинов, которые предоставляют доступ к нативным классам и типам Pascal через библиотеки динамических пакетов. Они реализованы как стандартные файлы разделяемых библиотек для Linux, Windows и macOS, содержащие метаданные, сгенерированные компилятором. Время выполнения включает механизмы для безопасного сохранения переменных потока и управления динамическими типами, такими как строки и динамические массивы, между программами и пакетами. При развертывании программ пользователи могут объединить всё в один исполняемый файл или разделить его на несколько динамических пакетов, которые можно заменять во время выполнения, обеспечивая систему плагинов. Ограничения включают конфликты имён модулей между пакетами и то, что динамические пакеты больше обычных разделяемых библиотек из-за встроенных метаданных. RTL был улучшен новой единицей, Dyn Pkg Types.pas, чтобы помочь читать информацию из динамических пакетов. Улучшения IDE Lazarus включают новое окно прогресса, которое появляется вне IDE во время пересборки пакетов. Динамические пакеты предоставляют систему плагинов и позволяют заменять компоненты во время выполнения, улучшая рабочий процесс разработки для пользователей Lazarus.
Источник: Hacker News · Сводку подготовил HeadlinesBriefing