dts nieuws en seminars
DTS nieuws

Delphi / RAD Studio 2010 Workshop

Bij elke Tool die u nu bestelt een Tweede GRATIS!

CodeGear Produkten alleen per ESD leverbaar per 5 april 2009

Waar vind ik CodeGear Subscription (SA) Downloads en Serienummers?

DTS officiële reseller van RemObjects SDK's !

Delphi Prism FAQ

Nieuw: Delphi 2009 en C++Builder 2009

DTS - CodeGear Seminar te Zwolle: Een Succes

DTS Vacatures: Delphi.NET, VB.NET en C#.NET Ontwikkelaars Gezocht!

4DotNet b.v

Windows Firewall programmeren

Borland: Levering C++Builder 2006 gestart !

Delphi 2006 en de Borland Developer Studio (BDS)

Delphi 2005 workshops groot succes

Bijeenkomst DOTned groep 25 november 2004

DTS zoekt: Versterking Trainers Team (C# / .Net)

Development Nieuws
Seminars & Events
 



naarboven sitemap
   
Home DTS Nieuws Consultancy maatwerk trainingen helpdesk internet produkten over dts
bel 0522-240082 of mail

Delphi .NET: Wanneer begint U er mee? Een evaluatie-gesprek met 2 DTS-specialisten.



De DTS ontwikkelaars Herman van Dorsten en Pieter Meijer evalueren hun ervaringen met .NET in het algemeen en de Delphi .NET release in het bijzonder. Zij hebben inmiddels al veel ervaring opgedaan met de nieuwste release van Delphi .NET, doordat ze al verschillende .NET projecten als testcase uitgevoerd hebben.

Is .NET niet gewoon veel mooier dan win32?

Het meest karakteristieke van het .NET platform is wel de duidelijke structuur. Waar het win32 een ongestructureerde verzameling API's was, biedt .NET een mooi gestructureerd framework van classes en methods. .NET is echt OO, object georienteerd, met zelfbeschrijvende code d.m.v. Metadata. Code kan op die manier onderzocht / geverifieerd worden, bijvoorbeeld op het aspect van veiligheid.

Heeft Microsoft met .NET veel geleerd van Java en ... Delphi?

De structuur van .NET komt overeen met de structuur van Delphi. Ook de Delphi naamgeving van objecten e.d. komt terug in de naamgeving van .NET objecten. Dat is niet zo verwonderlijk als je bedenkt dat de Anders Hjelsberg, een van de bepalende ontwikkelaars van Delphi, ook aan de wieg stond van het .NET framework...
Als je in Delphi al OO bezig was is de overstap, qua logica, al helemaal niet moeilijk.

Het verschil vervaagt: Windows of web programmeren?

Een ander aspect van het programmeren in een .NET omgeving is dat het verschil tussen programmeren voor het web en programmeren voor windows vervaagt. De modellen en methoden die op win32 toch aanmerkelijk verschillen, beginnen op elkaar te lijken.
Een .NET applicatie kan direkt op het scherm, in de browser, of als webservice draaien. Dat maakt het ontwikkelen natuurlijk een stuk minder omslachtig op tal van punten.

Is .NET ook niet veel gemakkelijker te deployen?

De deployment van .NET apps is ook nog eens veel eenvoudiger dan die van win32 applicaties. Goodbye to the registry en terug naar de goede oude ini file van vroeger.

Zijn er dan echt geen nadelen?

..... misschien dat het framework nog niet "af" is. Een van de aardigste dingen van het .NET framework is wel de JIT (Just In Time) compiler. Deze op iedere client aanwezige compiler moet er voor zorgen dat de applicatie op maat gecompileerd word, dus geoptimaliseerd voor de beschikbare processor en eventueel ook nog het beeldscherm. Jammer genoeg gebeurt dat nu nog niet, de compilatie is gewoon generiek dus voor ieder systeem hetzelfde.

Nog meer nadelen?

Ja, voor een programmeur neemt het gewoon veel tijd om vertrouwd te raken met het framework. Er zijn 4500 classes, waarvan zo'n 1000 core, dus het kost gewoon veel tijd en moeite om alles te onderzoeken.
De beste manier om met .NET te beginnen is misschien het leren van een object-georienteerde taal zoals C#. Onderweg kom je dan genoeg dingen tegen van .NET om er vertouwd mee te raken. Vervolgens gewoon doen. Een eenvoudige applicatie maken in C#Builder om de smaak te pakken te krijgen.
Het kan ook direkt in Delphi: Delphi .NET trial aanschaffen, starten en beginnen. Ondertussen leer je via het web en via de helpfiles van Delphi .NET .

Delphi .NET: Nadelen of manco's?

De Delphi help kan uitgebreider en duidelijker. Soms krijg je sterk de indruk dat de Delphi help files kopietjes zijn van de C#Builder help. En dat de teksten niet altijd even goed aangepast zijn. Ook de van MS afkomstige help voor .NET is niet altijd erg duidelijk.
En het systeem is nog niet helemaal stabiel. Wel al stabieler dan C#Builder, maar een aantal onverwachte “access violation" zijn we toch al wel tegengekomen. Maar dat is wellicht in de eerstvolgende update verholpen.
En daarmee houdt de kritiek ook wel zo'n beetje op. Wat vooral opvalt als je een tijdje met Delphi .NET werkt, is de omvang van het hele project dat Borland hiermee aangegeaan is. Een gigantische klus die de mensen van Delphi .NET development team echt heel knap tot een goed einde hebben gebracht. Met vernuftige zaakjes, zoals het feit dat sommige zaken binnen Delphi niet echt object georienteerd zijn, onder water worden ze toch object-georienteerd gemaakt.
De omvang van het Delphi .NET project overstijgt dat van Kylix, en is vergelijkbaar met dat van het DOS naar het Windows platform.

Hoe zit het met de Delphi .NET interface?

De nieuwe interface lijkt meer op die van C#Builder dan op die van Delphi 7. De opzet is structureel anders. Het prominente componentenpallet is vervangen door een floating tool – palette. Natuurlijk is de interface voor een groot deel zelf in te stellen. Er zijn daarom ook wel min of meer ludieke pogingen geweest om in Delphi .NET de Delphi 7 interface na te bouwen, en sommigen is dat aardig goed gelukt ook. Maar dat is echt nergens voor nodig. Je went zo aan de nieuwe interface.
Zware systeemeisen?
Voor elke .NET ontwikkelomgeving geldt wel dat de systeemeisen wat zwaarder zijn dan voor een win32 ontwikkelomgeving. Het valt nog wel mee. Om goed met Delphi .NET te werken is een P4 met 2ghz processor en 1gig intern geheugen wel prettig. Maar het kan al met veel minder. Delphi 7 en Delphi .NET kunnen al gelijktijdig draaien op een P3 450 mhz met 640 Mb intern.

C#Builder of Delphi .NET?

C#Builder is natuurlijk simpeler om mee te werken aangezien je daar alleen de winforms hebt en niet de VCL. Maar Delphi .NET geniet toch echt de voorkeur als je daar in thuis bent. Alle VCL kennis die je hebt opgebouwd blijft waardevol.
Ook voor nieuwe projecten zou ik daarom kiezen voor Delphi .NET.
Delphi heeft een C# compiler binnenboord, en C# files kun je importeren in je project (maar niet debuggen).

Winforms of VCL?

Delphi .NET kan beide maken. Het verschil tussen een winforms en een vcl applicatie komt ook wel terug in de look and feel van het programma voor de eindgebruiker. Winforms zijn wat geavanceerder. Zo is er de ingebouwde mogelijkheid om properties te persisteren naar XML. Zo kun je applicaties bijvoorbeeld eenvoudiger configureren zonder opnieuw te hoeven compileren.
En Winforms hebben andere geavanceerde kenmerken zoals bijvoorbeeld de property databinding. Daardoor zijn er ook veel minder Winform componenten dan Delphi VCL componenten. Zo bestaat er in de VCL bijvoorbeeld een TBEdit zonder databinding en een ander, apart component met praktisch dezelfde eigenschappen (de .. ) met databinding. Het aantal winforms componenten is dus beduidend kleiner.De VCL heeft meer componenten nodig om het verschil tussen dbaware en niet dbaware componenten te duiden.
Een groot voordeel van de VCL / RTL is wel weer dat de sourcecode beschikbaar is, zoals traditie is bij Borland. Je kunt dus veel leren over het component door gewoon de source te bestuderen.
Winformscode daarentegen is niet beschikbaar; als de helpfiles je dan in de steek laten is het gissen naar de preciese werking ervan.
De VCL: voor .NET bestaat uit alle Delphi 7 componenten minus de componenten voor datasnap, ado, webservices, internet express, internet en decision cube. Dit voorjaar al komt er een grote upgrade van de VCL voor .NET , dan komen ook de ado componenten weer terug.

Zijn er nog andere, meer specifieke verschillen tussen het programmeren in Delphi 7 en Delphi .NET ?

Nou ja, er zijn natuurlijk nogal wat verschillen. Een ding dat opvalt is bijvoorbeeld dat je na een tijdje toch merkt dat je in een geheel beheerde omgeving aan het werk bent. De Delphi componenten hebben nog steeds de free methode, en het wordt ook aangeraden om deze te blijven gebruiken, maar in principe kun je objecten creeeren zoveel je wilt en je hoeft ze in principe niet op te ruimen. Qua performance, geheugenlekken kun je ook niet meer veroorzaken, hoewel je door dom te programmeren nog wel het geheugen vol kunt laten lopen natuurlijk. Al dat soort zaken samen geven toch het gevoel dat je op fundamenteel ander platform bezig bent.
De methoden van programmeren zijn duidelijk gewijzigd. Delphi heeft om te kunnen draaien op het .NET framework ook wel taaluitbreidingen ondergaan/ Zo kan een record nu ook methodes hebben, die public of private zijn, en meer van dat soort aanpassingen en uitbreidingen van de Delphi taal.

Hoe zit het met de migratie van Delphi 7 naar Delphi .NET?

Ook hier is goed werk geleverd door Borland. Van VCL naar VCL .NET gaat zeer goed. Er zijn natuurlijk wel migratiekwesties, maar die zijn zeker niet onoverkomelijk De meeste projecten, natuurlijk wel enigzins afhankelijk van de kwaliteit van de code, kunnen zonder problemen worden overgezet naar Delphi .NET.

Nog andere (eigen-)aardigheden?

Misschien leuk om te weten dat de access violation die in Delphi 7 vaak voor kwam, nu niet meer voor (kunnen) komen omdat er in .NET immers geen pointers meer zijn. Maar we kregen wel een errormelding die ons erg aan de oude deed denken: “object reference is not set to an instance of an object."

De versies van Delphi .NET.

Met de architect versie krijg je bovendien de beschikking over ECO. ECO is duidelijk iets waar toekomst in zit; programmeren op een hoger abstractieniveau. De enterprise versie geeft o.a. de profiler van Optimizeit. Die is vooral handig als het om kritische applicaties gaat.
Delphi professional is voor de meeste van ons genoeg om ons eens flink te verdiepen in de mogelijkheden, pro en cons.

Conclusie?

Echt .NET ontwikkelen is nu al heel goed mogelijk. Wat wel opvalt is dat het erg veel tijd kost om het framework te leren kennen. Een half jaar is toch wel waar de meesten rekening mee dienen te houden.
Delphi .NET valt absoluut niet tegen. Het zit goed in elkaar en is eigenlijk wel de uitkomst die het beloofde te worden.

Nog tips? Meer lezen? Leren?

Aan te raden websites over Delphi .NET, C# en/of .NET :

http://homepages.borland.com/abauer/de borland developer network BDN
http://www.c-sharpcorner.com
http://www.asp.net
de nieuwsgroepen search van google
de borland nieuwsgroepen voor de preview editie (niet publiek)



printervriendelijke versie verstuur dit artikel

Bestel Delphi 2009

De beste tool voor het ontwikkelen van windows applicaties! In deze nieuwste versie het langverwachte en veel geprezen Unicode support en localization tools om internationalisatie van uw applicaties mogelijk te maken. >>>
Delphi 2009
 
Altijd op de hoogte?
Schrijf U in voor onze nieuwsbrief!
>>>
© 1998-2004 DTS bv.
The one-stop company voor Java | Delphi | C# | C++ ontwikkeling.
naar boven
4