Aujourd’hui, la prolifération d’outils pour améliorer le développement de logiciels est un motif de célébration. De nombreuses personnes extraordinaires travaillent quotidiennement pour créer et distribuer des utilitaires, des plug-ins et des IDE qui facilitent notre développement! Cependant, l’autre côté de la médaille de prolifération décrit une lutte constante pour identifier le meilleur outil pour le travail actuel et pour votre avenir. Si vous avez déjà été confronté à huit frameworks en compétition pour votre attention dans le même domaine logiciel et que vous avez ressenti une paralysie du choix, vous comprenez à quel point il peut être difficile de faire ce choix personnel et professionnel important. Dans cet esprit, nous nous engageons dans une mission de publication d’une série de livres blancs qui comparent et contrastent RAD Studio avec d’autres frameworks majeurs pour le développement d’applications afin d’éliminer le meilleur choix à long terme.. Notre public est à la fois les développeurs qui doivent comprendre intimement leur outil de choix et également les décideurs et les stratèges commerciaux à la recherche d’un cadre qui soutiendra la livraison à temps, l’expansion future et la stabilité à long terme.
Méthodologie
Cinq applications de référence seront utilisées pour comparer les cadres sélectionnés
- Calculatrice simple de style Windows 10
- Explorateur récent de GitHub
- Explorateur de fichiers Windows
- Lecteur de nouvelles RSS Unicode (avec base de données locale)
- Application de capture d’écran et d’historique
Chaque application intègre des fonctions de base remplies par un bon framework comme la conception d’interface utilisateur, la communication API REST, le support Unicode, le support de base de données, etc. aux principales métriques du projet.
Métrique
Ces articles évalueront les cadres dans les domaines de la productivité des développeurs , des fonctionnalités du cadre , de la flexibilité des outils et des performances d’ exécution .
- La productivité des développeurs est la mesure de l’effort et du code requis pour que les développeurs accomplissent des tâches de développement typiques. Le temps nécessaire pour terminer les tâches de développement a un impact sur la livraison de la solution et le volume de code produit a un impact sur les efforts de maintenance (plus de code = plus de bogues). La productivité a un impact direct sur le temps de mise sur le marché du produit et sur les coûts de main-d’œuvre à long terme. La productivité sera mesurée en comparant la vitesse de développement initiale, le temps de construction final «speedrun» et la taille du code de chaque application de référence écrite dans les cadres de sujet.
- La fonctionnalité fait référence à son aptitude à une tâche spécifiée, définie dans ce projet comme son extensibilité et sa sécurité. Une excellente fonctionnalité de cadre permet aux entreprises de créer leurs propres extensions dans la langue native et également de protéger leur code source de l’exploitation. La fonctionnalité du framework sera évaluée en fonction de son extensibilité native, de sa résistance à la décompilation et des exploits connus.
- La flexibilité fait référence à l’étendue des tâches qui peuvent être traitées avec l’outil. Alors que les IDE et les frameworks sont techniquement flexibles à l’infini car tout peut y être développé, ce projet se concentrera sur l’utilisation multiplateforme, la complexité et les exigences du déploiement, les outils, l’intégration avec les «app stores» et les outils d’accès aux bases de données. La flexibilité du cadre permet aux développeurs d’atteindre leurs objectifs avec une incorporation minimale d’autres langages / outils et fournit un terrain fertile pour un marché d’outils tiers robuste . La flexibilité sera évaluée de manière qualitative en fonction des capacités natives de chaque framework, des options de déploiement et des offres tierces.
- Runtime Performance permet aux utilisateurs finaux de juger une application par rapport à une autre avec les mêmes fonctionnalités et interface. Les entreprises qui créent des applications avec des performances d’interruption supérieures évitent l’insatisfaction des clients en minimisant les temps d’attente et l’utilisation des ressources sur les machines lentes. Les performances d’exécution seront évaluées en fonction du temps de démarrage, de l’utilisation maximale de la mémoire et de l’utilisation moyenne de la mémoire.
Feuille de route du projet
Embarcadero planifie ce projet comme une comparaison itérative entre RAD Studio, Delphi et C ++ Builder avec d’autres frameworks, dans le but de stimuler la conversation avec d’autres développeurs de framework. Toutes les recherches et données seront publiées sur GitHub, pour que d’autres puissent les examiner. La première comparaison est entre Visual Component Library (VCL) de RAD Studio et Windows Presentation Foundation (WPF) .NET à l’aide de l’application de référence Calculator. Ensuite, le framework multi-applications FireMonkey de RAD Studio sera testé contre Electron. Attendez-vous à ce que les futures itérations continuent à travailler sur les projets de référence susmentionnés, incorporent de nouveaux cadres et s’appuient sur ces documents initiaux pour fournir une comparaison complète des principaux outils de développement de 2020.