Pour découvrir Delphi.net et avoir une vue d’ensemble d’ASP.net, j’ai porté le starter kit pour ASP.net appelé TimeTracker vers Delphi.net. Les starter kits sont des noyaux d’application créés par Microsoft pour donner un aperçu des possibilités d’ASP.net. Vous pouvez télécharger les versions originales pour le framework v1.1 sur le site www.asp.net.
Le résultat de mon portage est accessible ici.
Mes conclusions:
- .Net et ASP.Net, c’est cool.
- C# c’est pas mal du tout.
- Delphi.net ce n’est pas génial.
Pas grand chose à dire si ce n’est que j’ai réussi à reproduire dans Delphi.net 100% des fonctionnalités implémentées en C#, mais j’ai bien senti que le coeur n’y était pas du côté Delphien.
La mise en oeuvre des namespaces par exemple est réellement calamiteuse. En gros, dans Delphi.net un namespace n’est rien d’autre qu’un nom d’unité avec des points dedans! Par exemple vous définissez un type TToto dans une unité Toto dans le namespace VoieDuCode.Machin. Eh bien, pour pouvoir référencer ce type dans une autre unité il n’est pas possible d’écrire:
uses VoieDuCode.Machin ...
Il faut absolument faire référence à l’unité:
uses VoieDuCode.Machin.Toto ...
A travers ce genre de choses, on sent bien que .Net n’est pas un citoyen de première classe dans le monde Delphi…
Notez que l’Object Pascal concurrent pour .Net appelé Chrome propose un mécanisme de gestion des namespaces rigoureusement équivalent à celui de C#. Mais ceci sera le sujet d’un autre post…
Si j’avais le choix, je n’utiliserais pas Delphi comme langage dans le monde .Net. C# ou Chrome sont bien plus élégants et adaptés. Pour Win32 cependant, Delphi reste la meilleure solution, surtout que Borland propose un chemin de migration de Win32 a .Net à travers VCL.net.