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 для Macitosh под названием Quicktime. Основная идея этого проекта — предоставить Delphi разработчику возможность использовать элементы интерфейса qt.

Категории задач решаемых JEDI

  1. Containers

Реализует абстрактные интерфейсы для потокобезопасных объектов, таких как списки и т. д.

  1. Интерфейсы:
  • 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
  1. Классы, реализующие: хеш-таблицы, ассоциативные массивы, векторы, стеки, очереди, массивы, ordered sets.
  2. Date and time

Реализует работу со временем средствами WinAPI. Предоставляет классы для разработки планировщика задач.

  1. Debugging

Позволяет посылать сообщение отладчику, перехватывать ошибки, читать map-файлы, локализовать ошибки

  1. Разбор выражений

Позволяет анализировать математические выражение, компилировать функции на их основе

Источники

  1. Сайт JEDI
  2. Обзор функционала JWSCL (JEDI Windows Security Library)
  3. Локализация ошибок в приложениях Delphi c помощью библиотеки Jedi Code Library
  4. «Пасхальные яйца» Delphi 7