Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiResearch

Delphi offre une faisabilité à long terme sur le framework WPF .NET en constante évolution des électrons et de la fin de vie

wp1_long_term

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 de faisabilité à long terme qui fait partie de la comparaison des fonctionnalités utilisée dans le livre blanc.

calc

Faisabilité à long terme

Lorsque les entreprises choisissent Delphi comme cadre de développement, elles investissent dans un cadre propriétaire (qui inclut le code source de la bibliothèque d’exécution) avec des coûts initiaux et des frais de mise à jour annuels facultatifs. Pour ce coût, ils bénéficient d’un cadre stable, rétrocompatible et en croissance, et peuvent être certains que les applications développées aujourd’hui seront prises en charge et maintenables à l’avenir.

Windows Presentation Foundation avec .NET Framework offre aux entreprises un cadre économique avec le soutien total de Microsoft, mais comprend tous les défis que les choix de Microsoft induisent. WPF a une histoire plus courte que Delphi, mais a été open-source en 2018, ce qui pourrait donner à une version de celui-ci de brillantes perspectives à long terme malgré ses liens avec le .NET Framework propriétaire pour la plupart des développements Windows. .NET Framework 4.8 était la dernière version du 18 avril 2019 selon Microsoft.

Electron est une plate-forme open source gratuite offrant aux entreprises la possibilité de développer des applications à partir de n’importe quel système d’exploitation majeur. L’avenir d’Electron est cependant incertain. Le projet Electron est géré par GitHub qui est désormais une filiale de Microsoft. C’est le plus récent des trois cadres et toujours dans sa phase de lune de miel. Il manque 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.

wp1_feasibility_badge

Jetons un coup d’œil à chaque cadre.

Delphes

Delphi a grandi, mûri et étendu depuis 1995. Son développement maintient la compatibilité descendante dans la mesure où une application de 1995 peut être portée vers la version actuelle de Delphi avec des changements minimes. Une documentation complète facilite la maintenance et une équipe d’assistance complète est disponible pour une aide sur la mise à niveau, la migration ou le dépannage. Au moment d’écrire ces lignes, la dernière version de Delphi est disponible dans RAD Studio 10.4.1 Sydney qui est sorti le 2 septembre 2020. Vous voulez en savoir plus? Consultez les notes de publication de nombreuses versions de Delphi .

Pour un certain contexte sur la chronologie du langage de programmation, C ++ est sorti en 1983, Python est sorti en 1991, Java est sorti en 1995, PHP est sorti en 1995, JavaScript est sorti en 1995 et Delphi est sorti en 1995. 1995 a été une année de naissance. pour beaucoup de ces langages de programmation comme vous pouvez le voir. Le site Web Delphi Anniversary contient une chronologie des versions de Delphi de 1995 à nos jours. Voici un extrait de la chronologie des sorties au cours des 25 dernières années.


DELPHI 1 – 14 FÉVRIER 1995

Prise en charge de Windows 3.1 16 bits, outils visuels bidirectionnels, composants / VCL, prise en charge de la base de données via BDE et liens SQL, données de base de données en direct au moment du design

DELPHI 2 (1996)

Prise en charge de Windows 95 32 bits, grille de base de données, automatisation OLE, héritage de formulaire visuel, chaînes longues, Delphi 1 inclus pour 16 bits

DELPHI 3 (1997)

Interfaces (basées sur COM), Code Insight, modèles de composants, débogage de DLL, WebBroker, ActiveForms, packages de composants, architecture multiniveau MIDAS

DELPHI 4 (1998)

Ancrage, ancres et contraintes, surcharge de méthode, tableaux dynamiques, prise en charge de Windows 98  

DELPHI 5 (1999)

Mises en page de bureau, cadres, prise en charge XML, DBGo pour ADO, traductions de langues  

DELPHI 6 (2001)

Fenêtre Structure, Services Web SOAP, dbExpress, BizSnap, WebSnap, DataSnap   

DELPHI 7 (2002)

Développement d’applications Web, thèmes Windows XP          

DELPHI 8 (2003)

Prise en charge de .NET                                            

DELPHI 2005 (2004)

Espaces de noms multi-unités, analyse des erreurs, onglet Historique, for..in, incrustation de fonctions, IDE activé par thème, refactorisations, déclaration de caractères génériques dans les utilisations, explorateur de données, tests unitaires intégrés     

DELPHI 2006 (2005)

Surcharge des opérateurs, méthodes et propriétés statiques, instructions du concepteur, vue du positionneur de formulaire, modèles de code en direct, achèvement de bloc, numéros de ligne, barres de changement, modification de la synchronisation, pliage de code et navigation dans les méthodes, info-bulles de débogage, palette d’outils de recherche, gestionnaire de mémoire FastMM , Prise en charge de MySQL, prise en charge d’Unicode dans dbExpress, TTrayIcon, TFlowPanel, TGridPanel

DELPHI 2007 (2006)

MS Build, Build Events, Build Configurations, Windows Vista support – glassing, theming, dbExpress 4 – connection pooling, delegate drivers, CPU viewer windows, FastCode support, IntraWeb / AJAX support, Welcome Page, Sim-ship of English, French, German , Japonais

DELPHI 2009 (2008)

Unicode, Génériques, Méthodes anonymes, Contrôles du ruban, DataSnap, Configurations de construction, Explorateur de classes, Fenêtre de l’éditeur de bibliothèque de types, Prise en charge de PNG                           

DELPHI 2010 (2009)

Attributs, RTTI amélioré, canevas Direct2D, prise en charge de Windows 7, toucher / gestes, formateur de code source, points d’arrêt spécifiques aux threads, visualiseurs de débogage, unité IOUtils pour fichiers, chemins et répertoires, audits et métriques de code source, compilation en arrière-plan, code source pour MIDAS. DLL

DELPHI XE (2010)

Bibliothèque d’expressions régulières, intégration Subversion, dbExpress –Filtres, authentification, ProxyGeneration, JavaScript Framework, prise en charge REST, Indy WebBroker, Cloud – Amazon EC2, Microsoft Azure, groupes de création, threads nommés dans le débogueur, audits de ligne de commande, génération de métriques et de documentation

DELPHI XE2 (2011)

Windows 64 bits, Mac OSX, FireMonkey, Live Bindings – FireMonkey et VCL, styles VCL, noms d’étendue d’unité, Platform Assistant, DataSnap – Connecteurs pour appareils mobiles, API Cloud, prise en charge HTTPS, surveillance TCP, prise en charge dbExpress pour les pilotes ODBC, déploiement Directeur

DELPHI XE3 (2012)

Interface utilisateur Metropolis pour Windows 8, 7, Vista et XP, actions FM, toucher / gestes, dispositions et ancres, prise en charge FM pour les styles bitmap, source matérielle pour les composants FM 3D, audio / vidéo FM, prise en charge VCL / FM pour les capteurs, FM Composant de capteur de localisation, prise en charge du clavier virtuel, prise en charge de DirectX 10

DELPHI XE4 (AVRIL 2013)

Prise en charge iOS – appareil, simulateur, magasin d’applications iOS, prise en charge iOS pour les écrans standard et Retina, styles iOS, styles Retina, claviers virtuels, Concepteur de formulaires mobiles, composant TWebBrowser, iOS ARC (comptage automatique des références) pour toutes les classes TObject, Platform Services, Notifications, composants de capteur de localisation, de mouvement et d’orientation, composant TListView, prise en charge du plein écran Mac OSX, gestionnaire de déploiement pour les appareils iOS, composants d’accès aux données universels FireDAC, InterBase – IBLite et IBToGo

DELPHI XE5 (SEPTEMBRE 2013)

Prise en charge d’Android – appareils et émulateur. Versions du système d’exploitation: Jelly Bean, Ice Cream Sandwich et Gingerbread, composant de notification, prise en charge du style iOS 7, concepteur de formulaires configurables pour les appareils mobiles, gestionnaire de déploiement pour les appareils Android, composants d’accès au client et d’authentification des services REST, prise en charge d’Android pour tous les XE4 FM et fonctionnalités de base de données répertoriées ci-dessus

DELPHI XE6 (AVRIL 2014)

Styles Windows 7 et 8.1, accès aux services WEB RESTful de la base cloud, compatible FireDAC avec plus de bases de données, prise en charge InterBase entièrement intégrée                           

DELPHI XE7 (SEPTEMBRE 2014)

Les applications multi-périphériques FireMonkey prennent en charge les plates-formes de bureau et mobiles, la base de données intégrable IBLite pour Windows, Mac, Android et iOS, la prise en charge multi-écrans, la prise en charge multi-touch et les changements de gestes, le mode immersif plein écran pour Android, FireMonkey prend en charge le Pull- Fonction d’actualisation pour TListView sur iOS et Android, fonction d’enregistrement de l’état de FireMonkey

DELPHI XE8 (AVRIL 2015)

GetIt Package Manager, améliorations FireDAC, nouvelle barre d’outils communautaire Embarcadero, présentation native de TListView, TSwitch, TMemo, TCalendar, TMultiView et TEdit sur iOS, cartes interactives, nouvelles options pour la médiathèque, InputQuery prend désormais en charge le masquage des champs d’entrée

DELPHI 10 ‘SEATTLE’ (AOÛT 2015)

Prise en charge des services d’arrière-plan Android, prise en charge de FireDAC pour la base de données NoSQL MongoDB, contrôle FireMonkey Prise en charge de zOrder pour Windows, nouvelle classe TBeaconDevice pour transformer un appareil sur l’une des plates-formes prises en charge en une «balise», StyleViewer pour Windows 10 Style dans Bitmap Style Designer, Élevé – Prise en charge de la prise en charge de la sensibilisation DPI et des moniteurs 4K, styles Windows 10, prise en charge des services Android dans l’EDI, prise en charge de l’appel des API WinRT

DELPHI 10.1 ‘BERLIN’ (AVRIL 2016)

Prise en charge d’Android 6.0, prise en charge de Windows Desktop Bridge, carnet d’adresses pour iOS et Android, nouveau concepteur d’élément ListView, nouveau contrôle CalendarView, QuickEdits pour VCL, prise en charge haute résolution sur Windows, modifications de propriété d’indication, prise en charge du serveur EMS Apache, programme d’installation Web basé sur GetIt

DELPHI 10.2 TOKYO  » (MARS 2017)

Prise en charge de Linux 64 bits pour Delphi, FireDAC fournit une prise en charge Linux pour tous les SGBD compatibles Linux, prise en charge de MariaDB (v5.5), prise en charge de MySQL pour la v5.7 et prise en charge de Firebird pour les E / S directes, QuickEdits pour FMX, nouveaux contrôles VCL pour Windows 10, mise à jour de l’apparence et de la convivialité de l’IDE (thème sombre), licence de déploiement RAD Server incluse

DELPHI 10.3 ‘RIO’ (NOVEMBRE 2018)

C ++ 17 pour Win32, nouvelles fonctionnalités du langage Delphi, FireMonkey Android zOrder, contrôles natifs et niveau d’API 26, améliorations de Windows 10, VCL et HighDPI, modernisation étendue de l’interface utilisateur IDE, extension de l’architecture RAD Server, améliorations de la qualité et des performances

DELPHI 10.3.1 ‘RIO’ (FÉVRIER 2019)

Prise en charge étendue des appareils de la série iOS 12 et iPhone X. Refonte de l’interface utilisateur de RAD Server Console et migration vers le framework Ext JS (disponible via GetIt). Prise en charge améliorée de FireDAC pour Firebird 3.0.4 et Firebird intégré. Améliorations de la bibliothèque cliente HTTP et SOAP sous Windows. Deux nouveaux outils de productivité IDE: les signets et le navigateur. 15 nouveaux styles VCL Windows et FireMonkey multi-périphériques personnalisés.

DELPHI 10.3.2 ‘RIO’ (JUILLET 2019)

Delphi macOS 64 bits, C ++ 17 pour Windows 64 bits, améliorations C ++ LSP Code Insight, assistants RAD Server et améliorations du déploiement, prise en charge améliorée de Firebase Android, prise en charge des applications client Delphi Linux

DELPHI 10.3.3 ‘RIO’ (NOVEMBRE 2019)

Prise en charge de Delphi Android 64 bits, prise en charge d’iOS 13 et de macOS Catalina (Delphi), déploiement de RAD Server Docker, connecteurs d’entreprise dans Enterprise & Architect Edition

DELPHI 10.4 ‘SYDNEY’ (MAI 2020)

Prise en charge native de Windows hautes performances considérablement améliorée, productivité accrue grâce à une exécution de code ultra-rapide, code plus rapide avec des enregistrements gérés et des tâches parallèles améliorées sur des processeurs multicœurs modernes, plus de 1000 améliorations de la qualité et des performances, et bien plus encore.

DELPHI 10.4.1 ‘SYDNEY’ (SEPTEMBRE 2020)

RAD Studio 10.4.1 se concentre fortement sur les améliorations de qualité de l’EDI, de Delphi Code Insight (LSP), de la bibliothèque parallèle, de SOAP et XML, de la chaîne d’outils C ++, de FireMonkey, de VCL, du compilateur Delphi et du déploiement iOS.

Cadre WPF .NET

Sorti en 2006, WPF s’est développé avec le framework .NET. Il a été open-source par Microsoft en 2018 et a fourni plusieurs feuilles de route indiquant l’engagement et la croissance de la communauté dans un proche avenir. Les changements importants de .NET et les décisions de conception changeantes de Microsoft ont un impact sur la faisabilité à long terme de WPF. WPF .NET Framework 4.8 était la version finale de .NET Framework selon Microsoft et a été publié le 18 avril 2019.

WPF a été introduit dans .NET Framework 3.0 en 2006. Selon un article sur le site Web CodeProject, les versions et améliorations de WPF sont répertoriées dans ce tableau:

WPF Version Release (YYYY-MM) .NET Version Visual Studio Version Major Features
3.0 2006-11 3.0 N/A Initial Release.
WPF development can be done with VS 2005 (released in Nov 2005) too with few additions.
3.5 2007-11 3.5 VS 2008 Changes and improvements in:
Application model, data binding, controls, documents, annotations, and 3-D UI elements.
3.5 SP1 2008-08 3.5 SP1 N/A Native splash screen support, New WebBrowser control, DirectX pixel shader support.
Faster startup time and improved performance for Bitmap effects.
4.0 2010-04 4.0 VS 2010 New controls: Calendar, DataGrid, and DatePicker.
Multi-Touch and Manipulation
4.5 2012-08 4.5 VS 2012 New Ribbon control
New INotifyDataErrorInfo interface
4.5.1 2013-10 4.5.1 VS 2013 No Major Change
4.5.2 2014-05 4.5.2 N/A No Major Change
4.6 2015-07 4.6 VS 2015 Transparent child window support
HDPI and Touch improvements

Ce qui suit est un extrait de la page Historique des versions de Wikipedia .NET Framework pour .NET Framework 4.6.1 à 4.8.

.NET Framework 4.6.1 – La sortie de .NET Framework 4.6.1 a été annoncée le 30 novembre 2015. Cette version nécessite Windows 7 SP1 ou une version ultérieure. Les nouvelles fonctionnalités et API incluent:

.NET Framework 4.6.2 – La préversion de .NET Framework 4.6.2 a été annoncée le 30 mars 2016. Elle a été publiée le 2 août 2016. Cette version nécessite Windows 7 SP1 ou une version ultérieure.

.NET Framework 4.7 – Le 5 avril 2017, Microsoft a annoncé que .NET Framework 4.7 était intégré à Windows 10 Creators Update, promettant un programme d’installation autonome pour les autres versions de Windows. Une mise à jour pour Visual Studio 2017 a été publiée à cette date pour ajouter la prise en charge du ciblage .NET Framework 4.7. Le programme d’installation autonome promis pour Windows 7 et versions ultérieures a été publié le 2 mai 2017, mais il avait des conditions préalables non incluses dans le package.

.NET Framework 4.7.1 – .NET Framework 4.7.1 a été publié le 17 octobre 2017. Parmi les correctifs et les nouvelles fonctionnalités, il corrige un problème de dépendance de d3dcompiler. Il ajoute également la compatibilité avec le .NET Standard 2.0 prêt à l’emploi.

.NET Framework 4.7.2 – .NET Framework 4.7.2 a été publié le 30 avril 2018. Parmi les modifications apportées, citons les améliorations apportées à ASP.NET, BCL, CLR, ClickOnce, Networking, SQL, WCF, Windows Forms, Workflow et WPF. Cette version est incluse avec Server 2019.

.NET Framework 4.8 – .NET Framework 4.8 a été publié le 18 avril 2019. Il s’agissait de la version finale de .NET Framework, tous les travaux futurs allant dans la plate-forme .NET Core qui deviendra finalement .NET 5 et les versions ultérieures. Cette version comprenait des améliorations JIT portées à partir de .NET Core 2.1, des améliorations High DPI pour les applications WPF, des améliorations d’accessibilité, des mises à jour de performances et des améliorations de sécurité. Il prend en charge Windows 7, Server 2008 R2, Server 2012, 8.1, Server 2012 R2, 10, Server 2016 et Server 2019 et est également livré en tant qu’image de conteneur Windows. La version la plus récente est 4.8.0 Build 3928, publiée le 25 juillet 2019 avec une taille d’installation hors ligne de 111 Mo et une date de signature numérique du 25 juillet 2019.

-WIKIPÉDIA

Électron

Sorti en 2013, Electron est activement développé et maintenu par GitHub et a rapidement fourni un support pour des technologies émergentes comme Apple Silicon (vers novembre 2020). Il n’a pas l’historique et la longévité stable nécessaires pour déterminer si les applications Electron construites en 2020 survivront jusqu’en 2030. GitHub est une filiale de Microsoft. Electron offre une alternative gratuite à Delphi et WPF, une familiarité avec les développeurs frontaux et une capacité multiplateforme au détriment de la protection IP, des outils IDE standard et des performances des applications.

Selon le calendrier de publication d’Electron (https://www.electronjs.org/docs/tutorial/electron-timelines), voici les versions.

Version -beta.1 Stable Chrome Node
2.0.0 2018-02-21 2018-05-01 M61 v8.9
3.0.0 2018-06-21 2018-09-18 M66 v10.2
4.0.0 2018-10-11 2018-12-20 M69 v10.11
5.0.0 2019-01-22 2019-04-24 M73 v12.0
6.0.0 2019-05-01 2019-07-30 M76 v12.4
7.0.0 2019-08-01 2019-10-22 M78 v12.8
8.0.0 2019-10-24 2020-02-04 M80 v12.13
9.0.0 2020-02-06 2020-05-19 M83 v12.14
10.0.0 2020-05-21 2020-08-25 M85 v12.16
11.0.0 2020-08-27 2020-11-17 M87 v12.18
12.0.0 2020-11-19 2021-03-02 M89 v14.x

Delphi offre les perspectives à long terme les plus assurées, la meilleure sécurité de propriété intellectuelle et la personnalisation interne la plus simple au prix d’un achat de licence commerciale unique. La barrière à l’entrée de WPF est plus faible et offre de meilleures options d’accessibilité, mais est soumise aux révisions .NET de Microsoft, est plus difficile à personnaliser et peut être décompilée facilement. Electron est absolument gratuit et peut être développé sur chacune des trois principales plates-formes de bureau, mais paie pour cette flexibilité grâce à ses perspectives à long terme incertaines et en s’appuyant sur des parrainages d’entreprise et le soutien de la communauté pour un développement supplémentaire.

Explorez toutes les métriques dans le livre blanc «Découvrir le 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


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

À propos de l'auteur

Directeur de Delphi Consulting pour GDK Software USA. De nombreux brevets liés aux logiciels, notamment le déverrouillage par balayage et par motif et le moteurs de recherche. Premiers badges Delphi Argent et Or sur Stack Overflow Ancien défenseur des développeurs pour Embarcadero Technologies. Fan de longue date de programmation, notamment avec Delphi. Auteur, podcasteur/YouTuber, improvisateur, conférencier, père et ami.

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES