![wp1toolextension | Embarcadero RAD Studio Delphi C++Builder Blogs wp1 tool extension](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/01/wp1_tool_extension-2116583-9597720.jpg?resize=1140%2C628&ssl=1)
¿Cómo funcionan Delphi, WPF .NET Framework y Electron en comparación entre sí, y cuál es la mejor manera de hacer una comparación objetiva? Embarcadero encargó un documento técnico para investigar las diferencias entre Delphi, WPF .NET Framework y Electron para crear aplicaciones de escritorio de Windows. La aplicación de referencia, un clon de la Calculadora de Windows 10, fue recreada en cada marco por tres voluntarios de Delphi Most Valuable Professionals (MVP), un desarrollador experto independiente de WPF y un desarrollador experto independiente Electron. En esta publicación de blog, vamos a explorar la métrica de extensión de herramientas, que es parte de la comparación de funciones utilizada en el documento técnico.
![radstudio1042 | Embarcadero RAD Studio Delphi C++Builder Blogs rad studio 1042](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/03/rad-studio-1042-6142514.png?resize=500%2C287&ssl=1)
Table of Contents
¿Cómo se pueden comparar las extensiones de herramientas?
¿Se puede ampliar el marco en su propio idioma? Los marcos que requieren que los complementos, extensiones o modificaciones se escriban en un idioma diferente imponen costos a las empresas que requieren una funcionalidad alterada. En lugar de crear la herramienta necesaria a partir del conocimiento de los residentes, es posible que las empresas deban invertir tiempo y recursos para contratar a un contratista externo o desarrollar habilidades internas en ese idioma alternativo.
Delphi se envía con software de prueba y también brinda a las empresas la oportunidad de desarrollar herramientas y extensiones para el marco utilizando el mismo talento que construye su producto (el IDE de Delphi está programado en Delphi). WPF ofrece bibliotecas de prueba a través de Visual Studio, y las empresas pueden disfrutar del gran entorno de extensiones y herramientas de terceros, pero es posible que necesiten subcontratar el trabajo para crear sus propias extensiones o invertir en talento para idiomas que no son de WPF. Electron carece de un IDE nativo, lo que brinda a las empresas una opción, pero también elimina algunas comodidades como la compilación integrada y las bibliotecas de prueba incluidas. Las empresas que desarrollan herramientas internas tendrían más dificultades con Electron que con los otros marcos.
![wp1toolextensiongauge4795592 | Embarcadero RAD Studio Delphi C++Builder Blogs wp1 tool extension gauge 4795592 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/03/wp1_tool_extension_gauge-4795592.png?resize=423%2C580&ssl=1)
Echemos un vistazo a cada marco.
¿Qué capacidades de extensión de herramientas están disponibles para Delphi?
El IDE de RAD Studio para Delphi está escrito en Delphi. Los usuarios pueden crear sus propias extensiones y herramientas en Delphi, eliminando la necesidad de aprender un nuevo idioma y manejar los problemas de los límites del idioma. Además, se pueden crear extensiones y herramientas en C ++ a través del lado C ++ Builder de RAD Studio.
RAD Studio tiene una potente API que le permite ampliar o modificar el comportamiento del IDE. Cree un paquete o complemento DLL que agregue nuevas ventanas de herramientas, dibuje en el editor de código, proporcione finalización de código, agregue nuevos tipos de proyectos, tipos de archivos y resaltado, se enganche en eventos de alto y bajo nivel, rastree procesos y subprocesos durante la depuración , y más.
Existe un rico ecosistema de complementos de código abierto y cerrado. Hay varios complementos disponibles directamente a través de Embarcadero GetIt en el IDE .
El siguiente es un extracto del documento técnico Ampliación del IDE de Delphi de Bruno Fierens y Embarcadero.
¿Cuál es la arquitectura básica de la API IDE de Delphi?
La API se basa en gran medida en interfaces. Las interfaces suelen comenzar con el prefijo IOTA o INTA. El IDE expone una gran cantidad de interfaces que se pueden llamar desde el complemento; a la inversa, el propio IDE también puede llamar al código del complemento cuando se activa una acción específica en el IDE. Para informar al IDE que el complemento tiene un controlador para estas acciones, en la mayoría de los casos, esto se hace escribiendo una clase que desciende de TNotifierObject que implementa una interfaz y registra la clase con el IDE. Como escritor de complementos, se encontrará principalmente escribiendo código que llama a las interfaces IDE y escribiendo clases que implementan interfaces que serán llamadas desde el IDE.
¿Qué áreas de RAD Studio IDE se pueden ampliar?
El IDE de Delphi se puede ampliar de muchas formas. Esta es una breve descripción general de las áreas más comunes de extensión del IDE:
- Crear y agregar paneles de acoplamiento personalizados
Es posible agregar paneles de acoplamiento personalizados como el panel de paleta de componentes, el
panel del inspector de objetos, etc. - Interactuar con el editor de código
Se ofrecen interfaces para manipular mediante programación el editor de código IDE de Delphi;
por ejemplo, para insertar fragmentos de código, reemplazar texto, manejar secuencias de teclas especiales,
agregar resaltadores de sintaxis personalizados y más … - Interactuar con Code Insight
Code Insight en el editor también se puede personalizar, ofreciendo textos de ayuda personalizados sobre
construcciones específicas en el código. - Interactuar con el Administrador de proyectos
El IDE le permite tener menús contextuales personalizados para proyectos y archivos en el
panel de herramientas del Administrador de proyectos de IDE . - Agregar asistentes personalizados, elementos al repositorio
Es posible agregar elementos personalizados o iniciar asistentes personalizados desde los elementos agregados al
repositorio de Delphi. A partir de estos asistentes,
se pueden crear nuevos tipos de proyectos, tipos de formularios específicos o módulos de datos. - Interactuar con elementos de Tareas
Una API también está disponible para interactuar con elementos de Tareas en el código de una
extensión IDE de Delphi . - Interactúe con el depurador, cree visualizadores de depurador personalizados
En las versiones más recientes de Delphi, se puede agregar una extensión IDE que proporciona una
visualización personalizada de un tipo de datos específico durante la depuración. - Interactuar con el diseñador de formularios
Desde un complemento de Delphi, también está disponible una API para interactuar con el diseñador de formularios. - Notificaciones
de la pantalla de bienvenida Se proporciona una interfaz para agregar texto personalizado en la pantalla de bienvenida durante el inicio
del IDE.
Aquí también hay un video destacado de Sprint de habilidades para desarrolladores titulado Desarrollando complementos en RAD Studio :
Varias extensiones populares para RAD Studio incluyen:
- 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
¿Qué capacidades de extensión de herramientas están disponibles para WPF .NET Framework?
Visual Studio, el IDE nativo de WPF, se puede ampliar de varias formas y en varios idiomas. Las macros se escriben en Visual Basic, los complementos se escriben en .NET y los paquetes se pueden escribir en .NET, C #, C ++ o Visual Basic. Debido a que WPF está escrito en XAML y se vincula con un back-end lógico de C #, es posible que las empresas no tengan experiencia interna para crear las herramientas que necesitan para mejorar sus entornos de desarrollo sin subcontratar el trabajo o invertir en capacitación.
Según Microsoft, Visual Studio permite ampliar “menús, barras de herramientas, comandos, ventanas, soluciones, proyectos, editores, etc.” Además, enumera los siguientes elementos comunes que se pueden ampliar.
- Ampliación de menús y comandos
- Ampliación y personalización de ventanas de herramientas
- Extensiones de servicio de idiomas y editor
- Ampliación de proyectos
- Ampliación de la configuración y las opciones del usuario
- Ampliación de propiedades y la ventana de propiedades
- Ampliación de otras partes de Visual Studio
- Shell aislado de Visual Studio
Obtenga más información sobre la ampliación de Visual Studio aquí:
https://docs.microsoft.com/en-us/visualstudio/extensibility/starting-to-develop-visual-studio-extensions?view=vs-2019
¿Qué capacidades de extensión de herramientas están disponibles para Electron?
Electron carece de un IDE nativo, pero puede usar complementos disponibles en IDE como Visual Studio Code. Es posible que las herramientas Electron adicionales deban desarrollarse internamente desde cero o integrarse con una herramienta de terceros como Visual Studio Code. Hay una gran cantidad de proyectos de código abierto en torno a las herramientas y la funcionalidad de Electron.
Un editor popular utilizado con Electron es Visual Studio Code. Otros editores populares son Atom, Sublime Text, NotePad ++ y otros editores de texto. Muchos de estos editores de texto, incluidas las extensiones de soporte de VS Code, pero cada uno es singularmente diferente y, por lo tanto, las extensiones para Electron están dispersas y de diferente calidad.
Algunas de estas herramientas incluyen:
- Generador de electrones
- Fragmentos de electrones
- Herramientas de construcción de electrones
En conclusión, hemos analizado las capacidades de extensión de herramientas en herramientas Delphi, WPF .NET Framework y Electron. Delphi proporciona las capacidades de extensión de herramientas más amplias con un historial significativo a largo plazo detrás de las herramientas existentes. Puede resultar difícil crear extensiones de herramientas para WPF .NET Framework, ya que es posible que la experiencia interna para crear herramientas no esté disponible. Además, como WPF .NET Framework es un marco heredado, según Microsoft, es posible que las empresas no deseen asignar presupuesto para respaldarlo. Electron es solo un marco y, por lo tanto, no tiene el mismo sistema de extensión de herramientas que proporcionan un IDE integrado como Delphi / RAD Studio y Visual Studio. Los editores de texto que admiten Electron tienen cada uno sus propios sistemas de complementos únicos. En general, Delphi / RAD Studio proporciona el ecosistema de extensión de herramientas más rico.
¿Está listo para explorar todas las métricas del documento técnico “Descubriendo el mejor marco para desarrolladores a través de la evaluación comparativa”?
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition