Vous êtes sur la page 1sur 6

Embarcadero Delphi

Un article de Wikipdia, l'encyclopdie libre. (Redirig depuis Delphi (informatique)) Aller : Navigation, rechercher Pour les articles homonymes, voir Delphi. Delphi dsigne la fois un environnement de dveloppement intgr (EDI) et un langage de programmation orient objet. L'EDI Delphi est un EDI propritaire fonctionnant sous Windows cr en 1995 et dit par Borland. l'poque, crer des programmes graphiques sous Windows se faisait en grande majorit en utilisant soit la chane de compilation Visual C++, soit le RAD Visual Basic. Le premier outil tant excessivement complexe et le second assez peu structur, Delphi apparut alors comme une alternative viable pour beaucoup de dveloppeurs qui souhaitaient crer des programmes standards pour Windows. En 2001, Borland dita une version Linux de Delphi appele Kylix, qui ne connut pas le succs attendu par l'diteur. Comme il s'agit d'un outil RAD (Rapid Application Development), Delphi est trs simple prendre en main et il est tout fait ais de crer toutes sortes d'applications.

Sommaire
[masquer]

1 L'Object Pascal 2 L'interface de dveloppement o 2.1 Exemple de code gnr o 2.2 Autres branches issues ou en rapport avec Delphi 3 Bibliothque de composants VCL 4 Historique 5 Le recul de Delphi 6 Version 2009 7 Le futur de Delphi 8 Exemples de projets connus raliss en Delphi 9 Voir aussi o 9.1 Articles connexes
o

9.2 Liens externes

L'Object Pascal[modifier]
Delphi implmente une version oriente objet (POO) du langage Pascal : l'Object Pascal, renomm Langage de programmation Delphi au fil des modifications apportes par Borland. L'Object Pascal de Delphi possde plusieurs avantages qui amliorent la productivit du dveloppeur par rapport au C++ : typage fort, contrle strict du compilateur pour viter les

erreurs de mmoire, de dbordement, gestion intgre des chanes de caractres et des tableaux dynamiques, etc. La compilation ne se fait qu'en une seule passe et il n'y a pas de sparation entre l'implmentation et l'interface comme en C ou en C++ : la gnration d'un projet Delphi est donc trs rapide, ce qui a accru sa sortie la popularit de l'outil vite rput pour ses temps de compilation record. Bien que l'Object Pascal introduise une multitude de concepts intressants et novateurs (de nombreux ont t repris avec C#), il souffre de faiblesses connues. Par exemple, il ne permet pas certaines fonctionnalits de POO telles que l'hritage multiple de classes ou l'utilisation d'interfaces non lies COM. Certaines fonctionnalits comme la surchage d'oprateurs et la gnricit n'ont t introduits que tard (respectivement avec Delphi 2005 et Delphi 2009). De plus, sa parent avec le Pascal rebute de nombreux programmeurs plus habitus des styles de programmation proches de Java ou C. Enfin, il n'est ni standardis ni gr par un comit indpendant : proprit de Borland, l'diteur est le seul pouvoir dcider de l'avenir et de l'ajout de nouvelles fonctionnalits du langage.

L'interface de dveloppement[modifier]
L'environnement de dveloppement s'appuie sur un diteur d'interface graphique associ un diteur de code source. Il doit son succs sa facilit d'utilisation pour dvelopper des applications graphiques et/ou lies aux bases de donnes. On l'a souvent compar Visual Basic de Microsoft pour cette facilit de dveloppement. On peut mme dire que par un amusant mouvement de balancier et de personne, le VB influena Delphi qui son tour influena par la suite le VB (Anders Hejlsberg lors de son passage chez Microsoft). L'environnement de dveloppement auto-gnre du code pour faciliter le travail du programmeur. Il maintient une correspondance automatique entre la vue de conception (la fentre que le programmeur btit en dposant des composants graphiques) et l'diteur de code (la vue affichant le code source qui crera ces composants l'excution). Les donnes spcifiques aux composants sont stockes dans des fichiers d'extension .DFM alors que le code source Object Pascal est sauvegard dans des fichiers d'extension .PAS. Alors que d'autres langages (comme C# avec Winforms) gnrent les instructions ncessaires la cration des composants de l'interface et l'injectent dans une section du code source du programme, Delphi spare les donnes statiques de description des objets d'interface, la manire de XAML, et se base sur des routines de la VCL pour relire et prsenter l'interface lors de l'excution. L'interface de dveloppement permet l'ajout de composants tiers (graphiques ou non) via un systme de composants. La modularit est obtenue la conception mais peut aussi tre exploite l'excution via un systme de chargement dynamique de paquets d'excution, Borland ayant tendu le concept de bibliothques partages et le format Windows DLL en introduisant un modle propritaire permettant d'enregistrer dynamiquement et d'exporter des classes entre modules. Le mme systme sera repris par Microsoft sous Visual Basic avec le format VBX, puis ensuite l'chelle du systme avec les composants COM et ActiveX.

Exemple de code gnr[modifier]


Le code suivant montre ce que Delphi gnre lors de la cration d'une application vide. La fentre l'cran est reprsente par une classe (TForm1) qui sera instancie l'excution et dont l'instance sera assigne la variable Form1. Les autres composants sont aussi dfinis

sous forme de classes dont le code source est stock dans les fichiers dcrits dans la clause uses de l'unit :
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Dclarations prives } public { Dclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} end.

Cependant, c'est peu prs tout ce que Delphi gnre (mis part le code des lments placs par le biais de l'EDI). Si un programmeur averti veut gnrer des classes de manire efficace pour mieux concevoir et structurer ses donnes, Borland propose d'autres outils bass sur UML : ModelMaker de ModelMakerTools qui lui, permet de gnrer tout le code d'interface d'une classe ainsi que d'appliquer facilement des design patterns, ou bien Together, produit Borland rsultant du rachat de TogetherSoft.

Autres branches issues ou en rapport avec Delphi[modifier]


Kylix est un produit trs proche de Delphi (mme principe, mme interface) qui fonctionne sous Linux et qui permet de crer des programmes pour ce systme. Le mme code source peut-tre compil sous Linux et Windows (respectivement avec Kylix et Delphi) grce l'utilisation de la bibliothque objet CLX qui s'appuie sur la bibliothque graphique Qt en suivant les mmes principe que la bibliothque VCL. Aujourd'hui Borland a abandonn le dveloppement de Kylix mais la bibliothque CLX reste prsente au sein des nouvelles versions de Delphi. Lazarus est un projet libre d'EDI pour Free Pascal. Copiant au widget prs et aux fonctions prs l'outil Delphi (et s'utilisant comme celui-ci), le logiciel, associ Free Pascal, permet de concevoir des projets 99% compatibles avec Delphi. l'aide de quelques directives de compilation, un mme code orient traitement (n'utilisant pas directement des fonctions d'interface graphique) peut tre compil sous Delphi, Kylix et Free-Pascal. L'inconvnient de ce logiciel est li son caractre rcent : une lgre instabilit (largement compense par sa fonction de sauvegarde automatique) et un manque de widgets. Le TFrame, composant le plus utilis et amlioration majeure de Delphi, fonctionne dsormais correctement. Enfin, la

documentation officielle n'est pas aussi complte qu'avec le Delphi de Borland mais de trs nombreux sites existent palliant ce dfaut.

Bibliothque de composants VCL[modifier]


Article dtaill : Visual Component Library. Delphi bnficie d'une excellente bibliothque de composants visuels et non visuels, la Visual Component Library (VCL), dont le concept est similaire aux MFC de Visual Studio. La VCL permet entre autres de dessiner rapidement une application graphique, en masquant les appels aux complexes API Windows. Depuis Delphi 1, la VCL est amliore par Borland chaque nouvelle version de Delphi en veillant une compatibilit (quasi) totale dans l'interface de la bibliothque, ce qui permet de migrer des projets en limitant la rcriture du code. C++Builder exploite la mme bibliothque de composants et comporte un traducteur Object Pascal vers C++, tout du moins un C++ contenant des extensions propres Borland comprhensible par le frre C++ de Delphi. Ainsi, tout code Delphi peut tre exploit avec C+ +Builder.

Historique[modifier]

1995 : Delphi 1 est dit par Borland. Cette premire version tait destine aux versions 16 bits de Windows (Windows 3, 3.1, etc.).

Ds la deuxime version, la cible tait les Windows 32 bits (Windows 95, NT, etc.). Le logiciel ne change pas radicalement entre chaque version, la diffrence se fait plus sur des ajouts de composants utilisables dans les programmes et la prise en compte de nouvelles technologies.

la fin des annes 90, Microsoft dbauche une grande partie de l'quipe initiale ayant conue Delphi, dont Anders Hejlsberg (le crateur de Turbo Pascal, et du Pascal). Anders Hejlsberg travaillera d'abord sur la librairie de classes du langage Visual J++, puis sur le projet .NET et sera l'inventeur du C#. Le dpart de nombreux membres concide avec une baisse gnrale de la qualit du produit ainsi qu'un manque d'investissement marketting de la part de Borland, menant un dclin progressif de Delphi. Nanmoins, au dbut des annes 2000, Borland reste un des seuls diteurs permettant (sur le papier) de dvelopper partir d'un mme ensemble d'outils des applications natives, des applications .NET ainsi que des applications fonctionnant sous Linux grce Kylix. 2001 : premire dition de Kylix, l'environnement Delphi pour Linux. 2002 : Kylix 3. Le succs n'tant pas au rendez-vous de ce Delphi pour Linux, ce sera sa dernire version. 2006 (fvrier) : Borland annonce son intention de se sparer du dveloppement de ses EDI pour se consacrer la Gestion du Cycle de Vie des applications.

Ne trouvant pas de repreneurs valides, Borland cre CodeGear, une entit ddie aux EDI, laquelle participe toute l'quipe de dveloppement de Delphi, C++Builder, et JBuilder. Au dpart, CodeGear appartient Borland mais possde ses moyens propres destins la cration d'outils pour dveloppeurs (Where developers matter). Aprs deux ans de recherche, la socit Embarcadero Technologies rachte CodeGear pour un montant de 23 millions de dollars. Dans un souci d'homognit, les bases de donnes issues d'Embarcadero sont regroupes sous la dnomination DataBaseGear. CodeGear continue oprer en tant qu'entreprise prive sous la direction de l'actuelle CEO d'Embarcadero. Borland, ou ce qu'il en restait, sera rachet par Micro Focus International en 2009 pour 75 millions de dollars.

2008 : pour des questions de moyens, le compilateur Delphi .NET est abandonn au profit de Delphi Prism, une solution propose par un diteur tiers, RemObjects. 2009 (aot) : Delphi 2010 consolide le support d'Unicode dans la VCL, propose le support de Windows 7, intgre de nombreuses corrections de bogues et amliore la productivit dans l'environnement de dveloppement.

Le recul de Delphi[modifier]
Jusqu' la sortie du Framework .NET par Microsoft, de nombreux dveloppeurs utilisaient Delphi du fait de la robustesse de son langage et de l'excellent niveau d'abstraction introduit par sa bibliothque de composants. Avec l'arrive de .NET et C#, Microsoft a fait un pas de gant en produisant un outil reprenant tous les concepts qui avaient fait la popularit de Delphi : langage adapt au RAD, conception de composants par glisser-dposer, framework cohrent, etc. De nombreux dveloppeurs ont alors abandonn Delphi qui n'voluait plus vraiment (puisque Borland recentrait alors son activit vers des outils de gestion du cycle de vie des applications) pour Visual Studio et C# (ou VB.NET). En effet, puisque Microsoft proposait un quivalent moins cher via des langages et des jeux de composants standardiss en s'y investissant considrablement plus que Borland, il n'y avait plus vraiment de raison d'utiliser Delphi. De nombreux (mauvais) choix marketing et un manque vident de moyens attribus au projet Delphi par Borland amorcrent un dclin de l'outil, qui conserve toutefois une relle communaut unie d'utilisateurs. Par exemple, la dcision trs tardive de crer un compilateur natif 64 bits et une VCL supportant Unicode fut vcue par beaucoup comme une trs mauvaise dcision et fut une autre raison pour amorcer une migration vers d'autres langages comme C++ ou C#. La vente de la branche IDE de Borland, dcide en fvrier 2006, est cense tre un moyen d'obtenir un nouveau cadre de travail et surtout le support d'une nouvelle socit compltement dvoue au dveloppement d'outils de programmation comme le furent Delphi ou C++Builder. Le dclin n'est pas fatal et sera peut tre enray par la sortie de nouveaux produits innovants comme le fut Delphi il y a plus de dix ans. Ceci tant, Delphi reste une solution efficace pour dvelopper diverses applications. De plus, Microsoft a trop souvent chang de technologie en cours de route pour rassurer certaines

entreprises ou dveloppeurs qui savent que Delphi garde sa prennit depuis 1991. Par ailleurs, la communaut Delphi reste trs active et soude comme le montre l'activit toujours importante des sites internet consacrs au langage.

Version 2009[modifier]
La plus grosse innovation de cette version est la capacit de Delphi grer l'Unicode, que ce soit :

au niveau de la VCL : les chanes de caractres grent par dfaut des caractres Unicode et non ANSI. La RTL (runtime library) a t adapte pour utiliser les API Win32 Unicode et grer l'encodage des caractres dans les fonctions de manipulation des flux. Les utilisateurs des programmes gnrs par Delphi 2009 peuvent donc entrer des chanes de caractres Unicode dans les composants visuels ou accder des fichiers comportant des caractres non ANSI dans leur noms. au niveau de l'diteur et du parseur lui-mme : les dveloppeurs peuvent utiliser des caractres Unicode dans les identificateurs de types ou dans leur code source.

Cette avance majeure permet une internationalisation plus facile des programmes Delphi destination des pays de l'Europe de l'Est, de l'Asie et de l'Orient. La deuxime grosse nouveaut de cette version est le support de la gnricit. Cela permet de rduire de faon significative les lignes de codes saisir par le dveloppeur. La dernire grosse nouveaut de cette version est le support des mthodes anonymes, permettant, entre autres, de faire du refactoring plus abouti. De nouveaux composants visuels ont t introduits dont le plus notable est une implmentation de l'interface utilisateur Ribbon utilise par Microsoft partir de Microsoft Office 2007 et Windows 7.

Le futur de Delphi[modifier]
Sous l'impulsion d'Embarcadero, de nombreuses amliorations et nouveauts sont attendues pour les futures version de Delphi. Plutt que d'tre entreprises l'une aprs l'autre dans un cycle de dveloppement linaires, celles-ci ont t associes des projets dvelopps simultanment :

Delphi X : Ce projet doit aboutir la cration d'un compilateur Pascal Object multiplateforme pour MacOS et Linux, mais aussi pour les appareils mobiles. Il est mme question de pouvoir compiler pour les tlphones portables et l'iPhone. Commodore : Ce projet se concentre sur la compilation native 64 bits.

Ces deux projets sont prvus pour la nouvelle version de l'anne 2010. Le projet X ne concernera dans un premier temps qu'une seule plateforme supplmentaire (MacOS ou Linux) et le support de la deuxime n'interviendra qu'un peu plus tard. Les autres plateformes, notamment les smartphones, ne sont pas prvus pour la version de l'anne 2010.