Delphi (logiciel)

Delphi prend en charge le développement rapide d’applications (RAD). Les caractéristiques proéminentes sont un concepteur visuel et deux cadres d’application, VCL pour Windows et FireMonkey (FMX) pour le développement multiplateforme.

Delphi utilise le langage de programmation Object Pascal créé par Anders Hejlsberg pour Borland (aujourd’hui IDERA) comme successeur de Turbo Pascal. Il prend en charge la compilation croisée native vers de nombreuses plates-formes, notamment Windows, Linux, iOS et Android.

Pour mieux prendre en charge le développement pour Microsoft Windows et interopérer avec le code développé avec d’autres outils de développement logiciel, Delphi prend en charge les interfaces indépendantes du Component Object Model (COM) avec des implémentations de classes comptées par référence, ainsi que le support de nombreux composants tiers. Les implémentations d’interfaces peuvent être déléguées aux champs ou aux propriétés des classes. Les gestionnaires de messages sont mis en œuvre en étiquetant une méthode d’une classe avec la constante entière du message à gérer.

La connectivité des bases de données est largement prise en charge par les composants VCL de gestion des bases de données et d’accès aux bases de données.

Les versions ultérieures ont inclus des routines de bibliothèque d’exécution mises à niveau et améliorées, certaines fournies par le groupe communautaire FastCode.

CaractéristiquesEdit

Delphi utilise un langage de programmation de haut niveau fortement typé, destiné à être facile à utiliser et basé à l’origine sur le langage antérieur Object Pascal. Le Pascal a été développé à l’origine comme un langage à usage général « adapté à l’expression des constructions fondamentales connues à l’époque de manière concise et logique », et « sa mise en œuvre devait être efficace et compétitive avec les compilateurs FORTRAN existants » mais sans facilités de programmation de bas niveau ni accès au matériel. Turbo Pascal et ses descendants, dont Delphi, prennent en charge l’accès au matériel et la programmation de bas niveau, avec la possibilité d’incorporer du code écrit en langage d’assemblage et dans d’autres langages. L’orientation objet de Delphi ne comporte que le polymorphisme basé sur les classes et les interfaces. Les métaclasses sont des objets de première classe. Les objets sont en fait des références aux objets (comme en Java), que Delphi déréférence implicitement, de sorte qu’il n’est généralement pas nécessaire d’allouer manuellement de la mémoire pour les pointeurs vers les objets ou d’utiliser des techniques similaires dont certains autres langages ont besoin. Il existe des types de chaînes de caractères dédiés à référence comptée, ainsi que des chaînes de caractères à terminaison nulle.

Les chaînes de caractères peuvent être concaténées en utilisant l’opérateur ‘+’, plutôt qu’en utilisant des fonctions. Pour les types de chaînes dédiés, Delphi gère la gestion de la mémoire sans intervention du programmeur. Depuis Borland Developer Studio 2006, il existe des fonctions permettant de localiser les fuites de mémoire.

Delphi comprend un IDE intégré. Les produits Delphi sont tous livrés avec une bibliothèque d’exécution (RTL) et une bibliothèque de composants visuels (VCL), incluant la plupart de son code source. Des composants tiers (parfois avec le code source complet) et des outils pour améliorer l’EDI ou pour d’autres tâches de développement liées à Delphi sont disponibles, certains gratuitement. L’EDI comprend une interface graphique pour la localisation et la traduction des programmes créés qui peuvent être déployés vers un traducteur ; il existe également des outils tiers offrant davantage de fonctionnalités à cet effet. Le cadre VCL maintient un niveau élevé de compatibilité des sources entre les versions, ce qui simplifie la mise à jour du code source existant vers une version plus récente de Delphi. Les bibliothèques tierces doivent généralement être mises à jour par le fournisseur mais, si le code source est fourni, une recompilation avec la nouvelle version peut suffire. La VCL a été l’une des premières à adopter l’injection de dépendances ou l’inversion de contrôle ; elle utilise un modèle de composant réutilisable, extensible par le développeur. Grâce aux aides de classe, de nouvelles fonctionnalités peuvent être introduites dans les classes de base du RTL et de la VCL sans modifier le code source original du RTL ou de la VCL.

Le compilateur est optimisant et à passage unique. Il peut éventuellement compiler vers un seul exécutable qui ne nécessite pas de DLL. Delphi peut également générer des DLL standard, des DLL ActiveX, des serveurs d’automatisation COM et des services Windows.

Les IDE Delphi depuis Delphi 2005 prennent de plus en plus en charge des fonctionnalités de refactoring telles que l’extraction de méthodes et la possibilité de créer des modèles UML à partir du code source ou de modifier la source par le biais des modifications apportées au modèle.

Delphi dispose de communautés sur le web, où également ses employés participent activement.

Compatibilité ascendanteEdit

Bien que chaque nouvelle version de Delphi tente de conserver autant de compatibilité ascendante que possible pour permettre la réutilisation du code existant, de nouvelles fonctionnalités, de nouvelles bibliothèques et des améliorations rendent parfois les nouvelles versions moins de 100 % de compatibilité ascendante.

Depuis 2016, il y a de nouvelles versions de Delphi tous les six mois, avec l’ajout de nouvelles plateformes environ toutes les deux versions.

Cadres de travail

Delphi offre deux cadres de travail pour le développement d’applications visuelles, VCL et FireMonkey (FMX) :

  • La bibliothèque de composants visuels (VCL) est le cadre de travail pour le développement d’applications Windows pures. VCL est un framework de longue date, inclus dans la première version de Delphi et activement développé depuis lors.
  • FireMonkey (plus tard abrégé FMX), a été publié en 2011, dans le cadre de Delphi XE2, ainsi qu’un ensemble supplémentaire de compilateurs intégrés pour les plateformes non Windows. FireMonkey est un framework multiplateforme pour Windows, macOS, iOS, Android et Linux (x64). Les parties GUI de FireMonkey sont largement basées sur Direct3D et OpenGL. FireMonkey n’est pas compatible avec VCL ; il s’agit de deux frameworks distincts. Les applications FireMonkey permettent toutefois de partager facilement des unités de code non visuelles avec les applications VCL, ce qui permet de porter ou de partager facilement beaucoup de code entre les plateformes.

InteropérabilitéEdit

Delphi et son homologue C++, C++Builder, sont interopérables. Ils partagent de nombreux composants de base, notamment l’IDE, les frameworks VCL et FMX, et une grande partie de la bibliothèque d’exécution. En outre, ils peuvent être utilisés conjointement dans un projet. Par exemple, C++Builder 6 et les versions ultérieures peuvent combiner le code source de Delphi et de C++ dans un même projet, tandis que les packages compilés avec C++Builder peuvent être utilisés à partir de Delphi. En 2007, les produits ont été publiés conjointement sous le nom de RAD Studio, un hôte partagé pour Delphi et C++Builder, qui peut être acheté avec l’un ou l’autre, ou les deux.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *