Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Delphi предлагает более глубокую интеграцию API сторонних инструментов, чем WPF и Electron

wp1 tool extension

Как работают Delphi, WPF .NET Framework и Electron по сравнению друг с другом и как лучше всего провести объективное сравнение? Embarcadero заказал технический документ для исследования различий между Delphi, WPF .NET Framework и Electron для создания настольных приложений Windows. Тестовое приложение — клон калькулятора Windows 10 — было воссоздано в каждой структуре тремя волонтерами Delphi Most Valuable Professionals (MVP), одним экспертом-фрилансером WPF-разработчиком и одним экспертом-фрилансером Electron. В этом сообщении блога мы собираемся изучить метрику Tool Extension, которая является частью сравнения функциональности, используемого в техническом документе.

Как можно сравнить расширения инструментов?

Можно ли расширить фреймворк на его родном языке? Платформы, требующие написания подключаемых модулей, расширений или модификаций на другом языке, накладывают расходы на компании, которым требуется изменение функциональности. Вместо того, чтобы создавать необходимый инструмент из местных знаний, компаниям, возможно, придется инвестировать время и ресурсы, чтобы нанять внешнего подрядчика или развить у сотрудников навыки владения этим альтернативным языком.

Delphi поставляется с программным обеспечением для тестирования, а также дает компаниям возможность разрабатывать инструменты и расширения для платформы, используя тот же талант, который создает их продукт (среда Delphi IDE запрограммирована на Delphi). WPF предлагает библиотеки тестирования через Visual Studio, и предприятия могут пользоваться большим сторонним инструментом и средой расширений, но, возможно, потребуется передать работу на аутсорсинг для создания собственных расширений или инвестировать в талантливые специалисты для языков, отличных от WPF. В Electron отсутствует собственная среда IDE, что дает предприятиям выбор, но при этом устраняет некоторые удобства, такие как встроенная компиляция и включенные библиотеки тестирования. Компаниям, разрабатывающим собственные инструменты, будет сложнее использовать Electron, чем другие фреймворки.

Давайте посмотрим на каждый фреймворк.

Какие возможности расширения инструмента доступны для Delphi?

IDE RAD Studio для Delphi написана на Delphi. Пользователи могут создавать свои собственные расширения и инструменты в Delphi, избавляя от необходимости изучать новый язык и решать проблемы языковых границ. Кроме того, расширения и инструменты могут быть созданы на C ++ через компонент C ++ Builder RAD Studio.

RAD Studio имеет мощный API, позволяющий расширять или изменять поведение IDE. Создайте пакет или подключаемый модуль DLL, который добавляет новые окна инструментов, рисует в редакторе кода, обеспечивает завершение кода, добавляет новые типы проектов, типы файлов и выделение, подключает к высокоуровневым и низкоуровневым событиям, отслеживает процессы и потоки во время отладки , и больше.

Существует богатая экосистема надстроек как с открытым, так и с закрытым исходным кодом. Существует ряд надстроек, доступных непосредственно через Embarcadero GetIt в среде IDE .

Ниже приводится отрывок из технического документа « Расширение среды IDE Delphi » Бруно Фиренса и Эмбаркадеро.

Какова базовая архитектура API Delphi IDE?

API в значительной степени основан на интерфейсах. Интерфейсы обычно начинаются с префикса IOTA или INTA. IDE предоставляет множество интерфейсов, которые можно вызывать из плагина; и наоборот, сама среда IDE также может вызывать код из подключаемого модуля, когда в среде IDE запускается определенное действие. Чтобы сообщить IDE, что у плагина есть обработчик для этих действий, в большинстве случаев это делается путем написания класса, производного от TNotifierObject, который реализует интерфейс и регистрирует класс в IDE. Как писатель плагинов, вы будете в основном писать код, который вызывает интерфейсы IDE, и писать классы, реализующие интерфейсы, которые будут вызываться из IDE.

Какие области RAD Studio IDE можно расширить?

IDE Delphi может быть расширена многими способами. Это краткий обзор наиболее распространенных областей расширения IDE:

Вот также рекомендуемый видеоролик спринта навыков разработчика под названием « Разработка подключаемых модулей в RAD Studio» :

К числу популярных расширений для RAD Studio относятся:

Какие возможности расширения инструмента доступны для WPF .NET Framework?

Visual Studio, родную WPF IDE, можно расширить несколькими способами и на нескольких языках. Макросы написаны на Visual Basic, надстройки написаны на .NET, а пакеты могут быть написаны на .NET, C #, C ++ или Visual Basic. Поскольку WPF написан на XAML и связан с логической серверной частью C #, компании могут не иметь собственного опыта для создания инструментов, необходимых для улучшения их сред разработки, без передачи работы сторонним организациям или инвестиций в обучение.

Согласно Microsoft, Visual Studio позволяет расширять «меню, панели инструментов, команды, окна, решения, проекты, редакторы и так далее». Кроме того, в нем перечислены следующие общие элементы, которые можно расширить.

Узнайте больше о расширении Visual Studio здесь:
https://docs.microsoft.com/en-us/visualstudio/extensibility/starting-to-develop-visual-studio-extensions?view=vs-2019

Какие возможности расширения инструмента доступны для Electron?

У Electron нет собственной IDE, но он может использовать плагины, доступные в IDE, такие как Visual Studio Code. Дополнительные инструменты Electron, возможно, придется разрабатывать собственными силами с нуля или интегрировать со сторонними инструментами, такими как Visual Studio Code. Существует большое количество проектов с открытым исходным кодом, касающихся инструментов и функций для Electron.

Популярным редактором, используемым с Electron, является Visual Studio Code. Другими популярными редакторами являются Atom, Sublime Text, NotePad ++ и другие текстовые редакторы. Многие из этих текстовых редакторов включают расширения поддержки VS Code, но каждый из них уникален, и поэтому расширения для Electron разбросаны по всему миру и разного качества.

Некоторые из этих инструментов включают:

В заключение мы рассмотрели возможности расширения инструментов в инструментах Delphi, WPF .NET Framework и Electron. Delphi предоставляет широчайшие возможности расширения инструментов со значительной долгой историей существующих инструментов. Создание расширений инструментов для WPF .NET Framework может быть затруднительным, поскольку собственный опыт создания инструментов может быть недоступен. Кроме того, поскольку WPF .NET Framework является устаревшей платформой, по мнению Microsoft, компании могут не захотеть выделять бюджет на ее поддержку. Electron — это всего лишь фреймворк, и поэтому он не имеет той же системы расширений инструментов, которую предоставляют интегрированные IDE, такие как Delphi / RAD Studio и Visual Studio. У текстовых редакторов, которые действительно поддерживают Electron, есть свои собственные уникальные системы плагинов. В целом Delphi / RAD Studio предоставляет богатейшую экосистему расширений инструментов.

Готовы изучить все показатели в техническом документе «Обнаружение лучшей среды разработки с помощью сравнительного анализа»?

Скачать техническую документацию Free Delphi vs. WPF vs. Electron для настольных ПК с Windows

Exit mobile version