JEDI project (JEDI project)
Назначение проекта
[править | править код]JEDI project — это инициатива Delphi сообщества по созданию библиотеки, которая бы давала в руки Delphi разработчика мощные инструменты по решению широкого спектра задач, связанных как с общеприкладными (разбор математических выражений, работа со строками, работа с памятью и файлами) так и системного программирования (портирование новых Windows API на Delphi).
Условия распространения и использования
[править | править код]JEDI является открытым проектом. Распространяется под лицензией MPL. Это обстоятельство позволяет её свободно использовать в opensource/коммерческих проектах, модифицировать, передавать. Пополняется библиотека усилиями всего сообщества.
Направления работы JEDI
[править | править код]Основная цель дать Delphi разработчикам набор заголовочных файлов для работы с Windows API. При том разработчики преследует цель портирования не всего Windows SDK, а лишь наиболее используемой и полезной его части
Реализует работу с API безопасности Windows. Контроль учетных записей, ACL списки и т. д.
Это проект объединяющий весь код JEDI
Это направление отвечает за портирование системных функций и иных важных инструментов разработки Linux.К сожалению из-за фактической смерти Kylix, эта ветвь JEDI тоже замерла
- JEDI Visual Component Library.
Включает в себя визуальные компоненты для VCL разработанные проектом JEDI
- JEDI Version Control System
Это проект по разработке собственной системы CVS,основанной на FreeVCS.
- JEDI-SDL
Этот проект призван облегчить разработку игр и др. графических приложений на Object Pascal Эта разработка может быть применена в Delphi, Kylix, Free Pascal, Gnu Pascal и TMT Pascal
- T o o l s a n d H e l p e r s
Здесь собраны различные библиотеки по работе с мультимедиа, контролю ошибок, взаимодействию с DirectX
- JEDI Quicktime Project
Этот набор библиотек, компонентов предоставляет Pascal разработчику доступ к мультимедиа API для macintosh под названием Quicktime. Основная идея этого проекта — предоставить Delphi разработчику возможность использовать элементы интерфейса qt.
Категории задач решаемых JEDI
[править | править код]- Containers
Реализует абстрактные интерфейсы для потокобезопасных объектов, таких как списки и т. д.
- Интерфейсы:
- IJclIterator
- IJclIntfCollection
- IJclCollection
- IJclIntfList
- IJclList
- IJclIntfArray
- IJclArray
- IJclIntfSet
- IJclSet
- IJclIntfTree
- IJclTree
- IJclIntfIntfMap
- IJclMap
- IJclIntfQueue
- IJclQueue,
- IJclSortedMap,
- IJclIntfSortedSet,
- IJclSortedSet,
- IJclIntfStack,
- IJclStack,
- IJclStrIterator,
- IJclStrCollection,
- IJclStrList,
- IJclStrSet,
- IJclStrTree,
- IJclMultiIntfIntfMap,
- IJclStrIntfMap,
- IJclStrStrMap,
- IJclStrMap,
- IJclStrStrSortedMap,
- IJclStrStack,
- TJclTraverseOrder
- Классы, реализующие: хеш-таблицы, ассоциативные массивы, векторы, стеки, очереди, массивы, упорядоченные множества.
- Date and time
Реализует работу со временем средствами WinAPI. Предоставляет классы для разработки планировщика задач.
- Debugging
Позволяет посылать сообщение отладчику, перехватывать ошибки, читать map-файлы, локализовать ошибки
- Разбор выражений
Позволяет анализировать математические выражение, компилировать функции на их основе