Как работают Delphi, WPF .NET Framework и Electron по сравнению друг с другом и как лучше всего провести объективное сравнение? Embarcadero заказал технический документ для исследования различий между Delphi, WPF .NET Framework и Electron для создания настольных приложений Windows. Тестовое приложение — клон калькулятора Windows 10 — было воссоздано в каждой структуре тремя волонтерами Delphi Most Valuable Professionals (MVP), одним экспертом-фрилансером WPF-разработчиком и одним экспертом-фрилансером Electron. В этом сообщении блога мы собираемся изучить метрику Tool Extension, которая является частью сравнения функциональности, используемого в техническом документе.
Table of Contents
Как можно сравнить расширения инструментов?
Можно ли расширить фреймворк на его родном языке? Платформы, требующие написания подключаемых модулей, расширений или модификаций на другом языке, накладывают расходы на компании, которым требуется изменение функциональности. Вместо того, чтобы создавать необходимый инструмент из местных знаний, компаниям, возможно, придется инвестировать время и ресурсы, чтобы нанять внешнего подрядчика или развить у сотрудников навыки владения этим альтернативным языком.
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:
- Создание и добавление настраиваемых закрепляемых панелей.
Можно добавлять настраиваемые закрепляемые панели, такие как панель палитры компонентов, панель
инспектора объектов и т. Д. - Взаимодействие с редактором кода
Предлагаются интерфейсы для программного управления редактором кода IDE Delphi;
например, чтобы вставлять фрагменты кода, заменять текст, обрабатывать специальные последовательности клавиш,
добавлять собственные подсветки синтаксиса и многое другое… - Взаимодействие с Code Insight
Code Insight в редакторе также можно настроить, предлагая настраиваемые тексты справки по
определенным конструкциям в коде. - Взаимодействие с диспетчером проектов
Среда IDE позволяет создавать настраиваемые контекстные меню для проектов и файлов на
панели инструментов диспетчера проектов IDE . - Добавление настраиваемых мастеров, элементов в репозиторий.
Можно добавлять настраиваемые элементы или запускать настраиваемые мастера из элементов, добавленных в
репозиторий Delphi. С помощью этих мастеров
можно создавать новые типы проектов, определенные типы форм или модули данных. - Взаимодействие с элементами ToDo
Также доступен API для взаимодействия с элементами ToDo в коде из
расширения Delphi IDE . - Взаимодействие с отладчиком, создание настраиваемых визуализаторов отладчика.
В более новых версиях Delphi можно добавить расширение IDE, которое обеспечивает настраиваемое
отображение определенного типа данных во время отладки. - Взаимодействие с дизайнером форм
Из плагина Delphi доступен API для взаимодействия с дизайнером форм. - Уведомления на заставке.
Предоставляется интерфейс для добавления настраиваемого текста на заставку во время запуска
IDE.
Вот также рекомендуемый видеоролик спринта навыков разработчика под названием « Разработка подключаемых модулей в RAD Studio» :
К числу популярных расширений для RAD Studio относятся:
- TwineCompile
- Parnassus Parallel Debugger
- XML Mapper
- Bookmarks
- Navigator
- MMX Code Explorer
- .Net DLL/WSDL Importer for Delphi
- CnWizards
- Delphi IDE Colorizer
- Delphi IDE Theme Editor
- FixInsight for Delphi
- Delphi Preview Handler
- Delphi Dev Shell Tools
- EurekaLog
- Pascal Analyzer
- IDE Install
Какие возможности расширения инструмента доступны для WPF .NET Framework?
Visual Studio, родную WPF IDE, можно расширить несколькими способами и на нескольких языках. Макросы написаны на Visual Basic, надстройки написаны на .NET, а пакеты могут быть написаны на .NET, C #, C ++ или Visual Basic. Поскольку WPF написан на XAML и связан с логической серверной частью C #, компании могут не иметь собственного опыта для создания инструментов, необходимых для улучшения их сред разработки, без передачи работы сторонним организациям или инвестиций в обучение.
Согласно Microsoft, Visual Studio позволяет расширять «меню, панели инструментов, команды, окна, решения, проекты, редакторы и так далее». Кроме того, в нем перечислены следующие общие элементы, которые можно расширить.
- Расширение меню и команд
- Расширение и настройка окон инструментов
- Редактор и расширения языковой службы
- Расширение проектов
- Расширение пользовательских настроек и параметров
- Расширение свойств и окна свойств
- Расширение других частей Visual Studio
- Изолированная оболочка 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
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition