Previous Entry Share Next Entry
Delphi. Поднимаем эффективность работы.
opportune_fl
Здесь собираюсь публиковать (этот пост будет обновляться, как и другие посты с тэгом proceed) ссылки на компоненты/фреймворки/утилиты, полезные для Delphi-разработчика.
Смысл этого поста - не реклама каких-либо продуктов, а памятка для себя самого и структуризация накопленных знаний. Пишу о том, что сам попробовал, о том, чем пользуюсь или планирую пользоваться.

Компоненты

DevExpress
"Components, Reporting Tools, App Frameworks, Add-ins for Visual Studio, Delphi-C++Builder".

EhLib
"Компоненты для Borland Delphi and C++ Builder" "... компоненты ... направлены на расширение возможностей клиентской части программы базы данных, при взаимодействии пользователя с приложением".

Project JEDI
Нельзя не упомянуть об этом проекте. Но к своему стыду я пока совсем не знаком ни с JCL, ни с JVCL. Всё впереди )))

TwoDesk Components
"The TwoDesk Component Suite is a collection of over 100 native VCL components for Borland Delphi versions 5, 6, 7, 2005, and 2006." Компоненты от разработчиков IDE-эксперта Castalia. Выделены типы компонентов: Visual Components, Non-Visual Components, Validator Components, Threading Components.

Virtual TreeView
"Virtual Treeview is a treeview control built from ground up. More than 5 years of development made it one of the most flexible and advanced tree controls available today".

Фреймворки

Общей направленности
Delphi Spring Framework
"Delphi Spring Framework is an international open source project, whose mission is to provide a robust infrastructure framework that will help Delphi developers build solid, flexible and extensible enterprise applications and class libraries based on the Embarcadero® Delphi® 2010 for Win32 platform."
Очень амбициозный проект. Стоит только посмотреть на Wiki, становиться очевидным практическое удобство и полезность этого фреймворка.

АОП
Честно говоря, еще не использовал, но восхищенно предвкушаю момент, когда найду время взяться за АОП. Зато к этому времени у меня уже будут вот эти ссылки на готовые фреймворки:
Infra
MeAOP

BDD
dSpec
"dSpec is a BDD framework for Delphi/Pascal built as an extension of DUnit. "
Полезная информация здесь.

"What patterns to use to build layers for delphi win 32 application"
Именно так звучит вопрос вот отсюда. И благодаря этому вопросу (точнее благодаря ответу на этот вопрос) я узнал о существовании следующих фреймворков. Далее цитирую ответ:

"Here is the list of persistence frameworks for Delphi that I am aware of at this time. I believe CG also did some sort of persistence demo at Delphi Live so there might be something else on the horizon.
Также есть упоминания о:Dependency Injection container

emballo
DI-контейнер, реализованный  для Delphi 2010. Вот в этом посте есть упоминания об особенностях реализации, которые не импонируют автору.

delphidicontainer
A (simple) Delphi Dependency Injection Framework. Пока еще (2010.03.23) не доработанный фреймовки от Daniele Teti. Небольшое описание есть в этом посте.

Утилиты и IDE-эксперты

DelphiDistiller (Google в помощь)
"Delphi Distiller is a customization tool for Delphi 5/6/7/2006/2007/2009/2010 that allows you manage packages and experts and apply several tweaks". Короче, это тот инструмент, без которого не обойтись, если вы что-либо устанавливаете в Delphi.

Документация кода

Doc-O-Matic
Инструмент для создания документации кода. Понимает документацию в стиле JavaDoc, XmlDoc и в своем формате.
Есть бесплатное решение Doc-O-Matic Express. А вот "старшие братья" могут намного больше кроме создания документации. Пруфлинк. Выкладываю здесь пример создания документации.

DelphiCodeToDoc
Мне понравилось меньше, чем Doc-O-Matic Express. По моему мнению, электронная документация, созданная Doc-O-Matic, выглядит симпатичнее.

IDE-эксперты

Пробовал довольно много различных экспертов. В числе которых:
Сastalia
CnWizards
DDevExtensions
Egale CodeRush Professional v7.04c for Delphi7 (ссылку на разработчика увы не нашел)
FastExperts
GExperts

Каждый из этих экспертов привносит что-то удобное и полезное в работу с IDE Delphi.

Лично я остановился на CnWizards. Функциональные возможности этого IDE-эксперта оказались максимально полезными и удобными. Нисколько не отстаёт от него GExperts, но в моей работе более востребованными оказались фичи CnWizards.

Также стоит упомянуть.
DelphiSpeedUp - ускорение загрузки среды.
MsdnExpert - встраивает инструмент поиска по MSDN в IDE Delphi.

Менеджеры памяти


FastMM
Мощный и быстрый менеджер, ускоряющий работу с памятью и позволяющий устранить проблемы с её утечкой. Показательным является тот факт, что проект стартовал отдельно от Delphi, а начиная с версии 2006 был включён в её состав.
Полезные ссылки для понимания принципов работы:
FastMM в режиме FullDebugMode Форум на SQL.ru Затрагивается вопрос о работе с функцией Assign.
Русский FAQ по FastMM

  • 1
Кое-что Developer Express можно прочитать в блоге Александра Божко. Пока что постов немного, но надеюсь в ближайшее время будет больше.

Ehlib - потрясающие дб-контролы. Отличная архитектура, и широкие возможности. По соотношению цена-качество, имхо, лучшие.

У Project Jedi есть ещё несколько проектов:
Jedi Windows Security Library: http://blog.delphi-jedi.net/security-library/
и Jedi Api Headers: http://blog.delphi-jedi.net/jedi-api-headers/

О VirtualTreeView есть оличная статья на vingrad.ru.

dSpec фактически загнулся - последние обновление 2 года назад.

Документация
Я недавно искал инструмент для документирования своих исходников и просмотрел практически все решения. Doc-o-matic express на данный момент лучший авто-документатор кода. Но и у него в бесплатной версии есть несколько очень неприятных ограничений. Впрочем, ограничения касаются только удобства пользования документацией.

У всех бесплатных генераторов есть существенные недоработки. Как в том, что касается дизайна, так и в том, что касается парсинга.


Про компоненты от TwoDesk ничего не знаю, но с удовольствием прочитал бы обзор. ;)


Спасибо за ссылки. И отдельно хотелось бы выразить вам благодарность за ваш блог. Знакомлюсь с дженериками по материалам из ваших постов. И с JCL и JVCL планирую начать знакомство тоже с вашего блога.

dSpec.
Как-то наткнулся на описание BDD, захотелось попробовать, попался на глаза dSpec. Сама концепция BDD очень привлекает, как еще один инструмент обеспечения качества программного продукта. Но свободного времени на изучение, как всегда не нашлось ))) Так что пока dSpec в разделе "все впереди" :-) Хочется наивно надеяться, что раз разработка прекратилась, то фреймворк доработан на 100% :-D

Doc-O-Matic express.
Столкнулся с проблемой при создании документации, если в пути к файлам есть папки с названиями на русском языке. В этом случает документация просто не создается. Буду разбираться. А вы случайно с такой ситуацией не сталкивались?

TwoDesk Components.
Опыта написания обзоров компонентов пока не было. Мысли перемешаны и в кучу никак не хотят собираться ))) Как только знания будут должным образом структурированы, обзор не заставит себя долго ждать. Надеюсь, это произойдет в ближайшем будущем.

Спасибо на добром слове. =)

С проблемой русских букв в Doc-O-Matic не сталкивался. Я вообще стараюсь в путях использовать только английские буквы. Старая привычка со времён win95. =)



Про судьбу CodeRush: в свое время контора-разрабочкик была куплена DevExpress, а уже DevExpress закрыла разработку таких средств для Delphi IDE - остались нанче только CodeRush и RefactorPro для VS. Зато у пользователей Delphi есть отличный эксперт от ModelMaker.com - ModelMaker Code Explorer (MMX) и собственно сам ModelMaker.

CodeRush - первый из опробованных мной экспертов. Версия 7.04, что использовал, была ужасно сырая, настолько, что даже "вешала" IDE. Даже родился стереотип: "за функциональность придется платить удобством". Каковы же были мои изумление и неподдельное восхищение после знакомства с CnWizards.

Спасибо за ссылку на ModelMaker Code Explorer (MMX). Посмотрел описание - очень заинтересовало. Работаю на Delphi 7. Практика применения ModelMaker ограничивалась в основном документированием архитектуры приложений и алгоритмов работы диаграммами UML.

Очень заинтересовали возможности рефакторинга. Castalia предлагает инструменты для рефакторинга, но в очень небольшом количестве, поэтому для переработки кода пользуюсь CodeFactor. Я просто в восторге от этого инструмента. До знакомства с ним, боялся что ни о каком полноценном рефакторинге в Delphi 7 даже не стоит и мечтать. CodeFactor здесь меня сильно выручил. Всем советую. Однако у него есть один минус. CodeFactor - это не совсем IDE эксперт, это отдельное приложение. Временами довольно неудобно синхронизироваться между Delphi и CodeFactor.

ModelMaker Code eXplorer - это вещь!
Без него как без рук, хотя я и использую всего пару функций из него, но без Ctrl+Alt+Y (sync declaration/implementation) и без Edit Entity работать становится очень неудобно.

  • 1
?

Log in

No account? Create an account