Comment Delphi, WPF .NET Framework et Electron se comparent-ils et quel est le meilleur moyen de faire une comparaison objective? Embarcadero a commandé un livre blanc pour étudier les différences entre Delphi, WPF .NET Framework et Electron pour la création d’applications de bureau Windows. L’application de référence – un clone de la calculatrice Windows 10 – a été recréée dans chaque cadre par trois bénévoles Delphi Most Valuable Professionals (MVP), un développeur WPF indépendant et un développeur indépendant d’Electron. Dans cet article de blog, nous allons explorer la métrique Extension d’outil qui fait partie de la comparaison des fonctionnalités utilisée dans le livre blanc.
Table of Contents
Comment comparer les extensions d’outils?
Le cadre peut-il être étendu dans sa propre langue? Les frameworks qui nécessitent des plug-ins, des extensions ou des modifications pour être écrits dans une langue différente imposent des coûts aux entreprises qui nécessitent des fonctionnalités modifiées. Plutôt que de créer l’outil requis à partir des connaissances des résidents, les entreprises peuvent devoir investir du temps et des ressources pour embaucher un entrepreneur externe ou acquérir des compétences internes dans cette autre langue.
Delphi est livré avec un logiciel de test et donne également aux entreprises la possibilité de développer des outils et des extensions pour le framework en utilisant le même talent que celui qui construit leur produit (l’EDI Delphi est programmé dans Delphi). WPF propose des bibliothèques de test via Visual Studio, et les entreprises peuvent profiter du grand outil tiers et de l’environnement d’extension, mais peuvent avoir besoin d’externaliser le travail pour créer leurs propres extensions ou investir dans des talents pour les langages non WPF. Electron ne dispose pas d’un IDE natif, ce qui donne aux entreprises un choix, mais supprime également certaines commodités telles que la compilation intégrée et les bibliothèques de test incluses. Les entreprises développant des outils internes auraient plus de difficultés avec Electron qu’avec les autres frameworks.
Jetons un coup d’œil à chaque cadre.
Quelles fonctionnalités d’extension d’outils sont disponibles pour Delphi?
L’IDE RAD Studio pour Delphi est écrit en Delphi. Les utilisateurs peuvent créer leurs propres extensions et outils dans Delphi, éliminant ainsi le besoin d’apprendre un nouveau langage et de gérer les problèmes de limites de langage. De plus, les extensions et les outils peuvent être créés en C ++ via le côté C ++ Builder de RAD Studio.
RAD Studio dispose d’une API puissante vous permettant d’étendre ou de modifier le comportement de l’EDI. Créez un package ou un plugin DLL qui ajoute de nouvelles fenêtres d’outils, dessine dans l’éditeur de code, fournit la complétion du code, ajoute de nouveaux types de projets, types de fichiers et mise en évidence, se connecte aux événements de haut niveau et de bas niveau, suit les processus et les threads pendant le débogage , et plus.
Il existe un riche écosystème de modules complémentaires open source et fermés. Il existe un certain nombre de modules complémentaires disponibles directement via Embarcadero GetIt dans l’EDI .
Ce qui suit est un extrait du livre blanc Extending the Delphi IDE de Bruno Fierens et Embarcadero.
Quelle est l’architecture de base de l’API Delphi IDE?
L’API est fortement basée sur les interfaces. Les interfaces commencent généralement par le préfixe IOTA ou INTA. L’EDI expose de nombreuses interfaces qui peuvent être appelées à partir du plugin; inversement, l’EDI lui-même peut également appeler du code à partir du plugin lorsqu’une action spécifique est déclenchée dans l’EDI. Pour informer l’EDI que le plugin a un gestionnaire pour ces actions, dans la plupart des cas, cela se fait en écrivant une classe descendant de TNotifierObject qui implémente une interface et enregistre la classe avec l’EDI. En tant qu’écrivain de plugins, vous vous retrouverez principalement à écrire du code qui appelle les interfaces IDE et à écrire des classes qui implémentent des interfaces qui seront appelées depuis l’EDI.
Quelles zones de l’IDE de RAD Studio peuvent être étendues?
L’EDI Delphi peut être étendu de plusieurs manières. Voici un bref aperçu des domaines les plus courants d’extension de l’EDI:
- Créer et ajouter des panneaux d’ancrage personnalisés
Il est possible d’ajouter des panneaux d’ancrage personnalisés comme le panneau de la palette des composants, le
panneau de l’inspecteur d’objets, etc. - Interagir avec l’éditeur de code Des
interfaces sont proposées pour manipuler par programmation l’éditeur de code Delphi IDE;
par exemple, pour insérer des extraits de code, remplacer du texte, gérer des séquences de touches spéciales,
ajouter des surligneurs de syntaxe personnalisés, etc. - Interagir avec Code Insight
Code Insight dans l’éditeur peut également être personnalisé, offrant des textes d’aide personnalisés sur
des constructions spécifiques dans le code. - Interagir avec le gestionnaire de projet
L’EDI vous permet d’avoir des menus contextuels personnalisés pour les projets et les fichiers dans le
panneau d’outils IDE Project Manager. - Ajouter des assistants personnalisés, des éléments au référentiel
Il est possible d’ajouter des éléments personnalisés ou de démarrer des assistants personnalisés à partir d’éléments ajoutés au
référentiel Delphi. À partir de ces assistants, de nouveaux types de projets, des types de formulaires spécifiques ou
des modules de données peuvent être créés. - Interagir avec les éléments ToDo
Une API est également disponible pour interagir avec les éléments ToDo dans le code d’une
extension Delphi IDE . - Interagir avec le débogueur, créer des visualiseurs de débogage personnalisés
Dans les versions plus récentes de Delphi, une extension IDE peut être ajoutée pour fournir un
affichage personnalisé d’un type de données spécifique lors du débogage. - Interagir avec le concepteur de formulaires
À partir d’un plugin Delphi, une API est également disponible pour interagir avec le concepteur de formulaires. - Notifications de
l’écran de démarrage Une interface est fournie pour ajouter du texte personnalisé sur l’écran de démarrage lors du démarrage
de l’EDI.
Voici également une vidéo en vedette Developer Skill Sprint intitulée Developing Plugins in RAD Studio :
Un certain nombre d’extensions populaires pour RAD Studio incluent:
- 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
Quelles fonctionnalités d’extension d’outil sont disponibles pour WPF .NET Framework?
Visual Studio, l’IDE WPF natif, peut être étendu de différentes manières et dans plusieurs langues. Les macros sont écrites en Visual Basic, les compléments sont écrits en .NET et les packages peuvent être écrits en .NET, C #, C ++ ou Visual Basic. Étant donné que WPF est écrit en XAML et est lié à un back-end logique C #, les entreprises peuvent ne pas avoir d’expérience en interne pour créer les outils dont elles ont besoin pour améliorer leurs environnements de développement sans sous-traiter le travail ou investir dans la formation.
Selon Microsoft, Visual Studio permet d’étendre «les menus, les barres d’outils, les commandes, les fenêtres, les solutions, les projets, les éditeurs, etc.». En outre, il répertorie les éléments communs suivants qui peuvent être étendus.
- Extension des menus et des commandes
- Extension et personnalisation des fenêtres d’outils
- Extensions de l’éditeur et du service de langue
- Extension des projets
- Extension des paramètres et options utilisateur
- Extension des propriétés et de la fenêtre des propriétés
- Extension d’autres parties de Visual Studio
- Shell isolé Visual Studio
En savoir plus sur l’extension de Visual Studio ici:
https://docs.microsoft.com/en-us/visualstudio/extensibility/starting-to-develop-visual-studio-extensions?view=vs-2019
Quelles capacités d’extension d’outils sont disponibles pour Electron?
Electron ne dispose pas d’un IDE natif mais peut utiliser des plug-ins disponibles dans les IDE tels que Visual Studio Code. Des outils Electron supplémentaires peuvent devoir être développés en interne à partir de zéro ou intégrés à un outil tiers tel que Visual Studio Code. Il existe un grand nombre de projets open source autour des outils et des fonctionnalités pour Electron.
Un éditeur populaire utilisé avec Electron est Visual Studio Code. Les autres éditeurs populaires sont Atom, Sublime Text, NotePad ++ et d’autres éditeurs de texte. Un grand nombre de ces éditeurs de texte, y compris des extensions de support VS Code, mais chacun est unique et par conséquent, les extensions pour Electron sont dispersées et de qualité variable.
Certains de ces outils incluent:
- Générateur d’électrons
- Extraits d’électrons
- Outils de construction d’électrons
En conclusion, nous avons examiné les capacités d’extension d’outils dans Delphi, WPF .NET Framework et les outils Electron. Delphi fournit les capacités d’extension d’outils les plus étendues avec un historique significatif à long terme derrière les outils existants. Il peut être difficile de créer des extensions d’outils pour WPF .NET Framework car l’expérience interne de création d’outils peut ne pas être disponible. De plus, comme WPF .NET Framework est un framework hérité selon Microsoft, les entreprises peuvent ne pas vouloir allouer de budget à sa prise en charge. Electron n’est qu’un framework et par conséquent n’a pas le même système d’extension d’outils qu’un IDE intégré comme Delphi / RAD Studio et Visual Studio fournit. Les éditeurs de texte qui prennent en charge Electron ont chacun leur propre système de plugins. Dans l’ensemble, Delphi / RAD Studio fournit l’écosystème d’extension d’outils le plus riche.
Êtes-vous prêt à explorer toutes les mesures du livre blanc «À la découverte du meilleur framework de développement grâce à l’analyse comparative»?
Téléchargez le livre blanc gratuit Delphi vs WPF vs Electron pour les ordinateurs de bureau Windows