![]() |
Delphi für .NET <> Delphi Win32
Hallo,
ich habe bislang alle meine Projekte mit Delphi für Win32 geschrieben. Nun überlege ich, ob ich ein neues Projekt direkt mit .NET entwickeln sollte. Was für Vorteile hätte eine Entwicklung für .NET? Als bislang größten Nachteil sehe ich einerseite das Fehlen einiger guter Tools/Libraries, wie der ReportBuilder und andererseits mein momentan recht geringer Kenntnisstand über .NET. Letzteres könnte ich natürlich durch Einarbeitung bald ausgleichen. Grundsätzlich möchte ich die Dinge, die Borland mit ECOII einsetzt nicht nutzen (alleine schon, da mein D2006Pro da nicht alle Fähigkeiten hat). Daher sehe ich bislang noch keine große Motivation für mich .NET einzusetzen. Aber gute Argumente können das natürlich schnell ändern :-) Gruß, Dominik |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
Es kommt immer darauf an was du machen willst. Überall lauffähig: Wird dann evtl. auch Java besser geeignet sein Entwicklung PocketPC: Da gibts nur .NET Lauffähig auch auf älteren PC: Würde ich Win32 bevorzugen, da nicht unbedingt alte Rechner .NET-Kompatible sein. Und wer will schon schuld sein wenn ein Rechner nicht mehr geht. 64-Bit lösung schnell nötig: .NET Web-Lösung. ASP.NET ist hier sehr gut. |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
Web-Anwendungen und Plattformunabhängigkeit ist bislang nicht relevant und wird wahrscheinlich (bei dem Projekt) auch längerfristig nicht benötigt. Gibt es denn ansonsten gute Gründe es mit .NET und nicht mit Win32 zu machen? (Plane zur Zeit auch die Anschaffung von RemObjects/DataAbstract und dafür muss ich natürlich auch wissen, ob ich .NET einsetzen möchte). Achja: lässt sich nicht das .NET-Framework auf quasi allen zur Zeit gängigen Windowsplattformen installieren? Denn dann werden ja auch ältere Rechner unterstützt... |
Re: Delphi für .NET <> Delphi Win32
ich würd von .net die Finger lasse wenn du auf die "Vorteile" verzichten kannst die Bernhard genannt hat. Ich glaube das .net-Framework gibts erst ab Win98SE, Win32 läuft ja praktisch überall.
Wenns wirklich Plattformunabhängig sein soll wäre wohl wirklich Java das beste, habe da recht gute Erfahrungen gemacht. |
Re: Delphi für .NET <> Delphi Win32
Ich kann generell empfehlen neue Projekte nur in .Net zu beginnen. Natürlich nur solange das auch sinnvoll ist. (Wird z.Bsp.: viel direkter Speicherzugriff benötigt macht .Net wenig bis keinen Sinn...)
ORPFs für .Net gibt es wie Sand am Meer (nHibernate, nDO, OpenACCESS oder nHibernate-basierte Lösungen wie ActiveRecord). Nur kann ich es nicht wirklich empfehlen dabei auf Delphi.Net zu setzen:
ReportBuilder gibt es einige, CrystalReports ist ganz nett. Und .Net wird von MS ab Win2000 unterstützt. Es gibt eine Version für 98/NT4 aaber damit musste ich mich zum Glück nicht rumärgern... Zu den Vorteilen von .Net gehören IMHO:
|
Re: Delphi für .NET <> Delphi Win32
Zitat:
Teile von .NET 2.0 gibt es nur für XP/2003 (Avalon). |
Re: Delphi für .NET <> Delphi Win32
Hmm - ich denke ich werde dann wohl den Weg des geringsten Widerstandes gehen, und erst mal noch mit Win32 weitermachen. Ich glaube die Vorteile von .NET kämen bei dem Projekt nicht so sehr zum Tragen und wahrscheinlich fährt man auch mit Win32-Anwendungen noch relativ gut.
Ich habe einfach nicht die Zeit, mich in ein komplett anderes System einzuarbeiten. Das werde ich aber nachholen, sobald ich die Zeit dazu finde. |
Re: Delphi für .NET <> Delphi Win32
Zitat:
![]() |
Re: Delphi für .NET <> Delphi Win32
Hallo,
ein neues Projekt würde ich nicht mehr auf W32/Delphi aufsetzen. Ich meine das Net sich zwischenzeitlich bei MFC und VB Entwicklern durchgesetzt hat. Spätestens mit der nächsten Windowsversion, wenn Net Bestandteil des Betriebssystems ist und Teile der Funktionalität nur noch in Net und nicht mehr in einer W32 API zur Verfügung stehen wird MS sein Ziel erreicht haben. Das IX Sonderheft zu Net gibt im angelsächsischen Sprachraum eine Verbreitung von 50% der Entwickler an. Für Deutschland etwa 40 %. Schaut man auf Gulp in die Projektstatistik, dann hat Net Java deutlich überholt. Delphi hat auf Gulp noch nie eine große Rolle gespielt und dümpelt unter 1%. Ich selbst entwickle kommerziell noch mit Delphi 32, sehe aber bei einer Reihe Firmen eine Absetzbewegung in Richtung Net. Delphi hat eigentlich von den Mängeln der MFC gelebt und war hier eine hervorragende Alternative. Heute ist dieser Vorsprung verspielt. Die VCL ist in die Jahre gekommen und jede neue Delphiversion seit D5 bringt soviele Kinderkrankheiten und Geburtswehen mit sich, das ein kommerzielles Arbeiten erst nach dem 2. Update sinnvoll ist. Dann kommt aber meistens auch schon die neue Version mit neuen Problemen. Mit Andre Heiljberg ist der geistige Vater von Delphi zu MS gewechselt. Die Erfahrungen mit Delphi haben viele Konzepte in der Net Welt geprägt. Bei Erfahrungen mit Deplhi ist der Einarbeitungsaufwand geringer, als wenn man von typischen MS-Sprachen kommt. Delphi und Net ist auch nicht die erste Wahl. Wenn ich Net 2.0 mit Delphi das erste mal ausprobiere, hat die Konkurenz schon ein Jahr Erfahrung. Fazit. Ich meine die Blütezeit von Delphi ist vorbei. Ich selbst benötige es nur noch um Altprojekte zu pflegen. Schaue hier aber auch schon in Richtung Chrome und C2 (ein Delphi -> C# Konverter.) Gruß Peter |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
MS hat über drei Jahre mit 1500 Entwicklern an der Version 2.0 von Dot Net gebaut,und auch den eigenen Compiler dafür erst im letzten Quartal released. Ich denke, da kann man Borland schon noch ein paar Monate Zeit geben. Gruss Peter |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
![]() Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
Zitat:
Code:
public class MyClass
{ // Methods static MyClass(); public MyClass(); [TMethod(4)] public static Type ClassInfo(@MetaMyClass Self); [TMethod(4)] public static string ClassName(@MetaMyClass Self); [TMethod(4)] public static bool ClassNameIs(@MetaMyClass Self, [In] string Name); [return: TAliasType(typeof(@TClass))] [TMethod(4)] public static @TClass ClassParent(@MetaMyClass Self); [return: TAliasType(typeof(@TClass))] public @TClass ClassType(); public void Dispatch(ref object Message); [TMethod(4)] public static void DoSomething(@MetaMyClass Self); public object FieldAddress([In] string AName); public void Free(); [TMethod(4)] public static bool InheritsFrom(@MetaMyClass Self, @TClass AClass); [TMethod(4)] public static MemberInfo MethodAddress(@MetaMyClass Self, [In] string AName); [TMethod(4)] public static string MethodName(@MetaMyClass Self, MemberInfo ACode); // Nested Types [ComVisible(false), CLSCompliant(false)] public class @MetaMyClass : @TClass { // Methods static @MetaMyClass(); public @MetaMyClass(); public virtual object @Create(); // Fields public static MyClass.@MetaMyClass @Instance; } } |
Re: Delphi für .NET <> Delphi Win32
Wenn ich nun mit Delphi eine .NET-Anwendung schriebe - sollte ich dann besser auf die Winforms oder auf VCL.NET setzen? Mit VCL.NET habe ich den Eindruck, dass sich zu einer Win32-Anwendung herzlich wenig ändert. Winforms scheint mir sehr anders zu sein...
[EDIT:] Habe mich mal etwas schlau gemacht über die VCL.NET. Das Konzept kommt für mich keinesfalls in Frage. Also entweder Winforms oder Win32...[/EDIT] Ich tendiere dazu, das Projekt noch als evtl. letztes Projekt mit Win32 zu machen - allerdings möchte ich natürlich RemObjects nicht erst für Delphi kaufen und danach wegschmeissen müssen. :gruebel: Da ist echt dann guter Rat teuer. Weiß jemand, welche VS-Version man braucht, um den Funktionsumfang einer Delphi 2006-Professional-Version ungefähr zu erhalten? Ich habe zumindest gesehen, dass man mit VS-Express bereits Datenbankanwendungen und so programmieren kann. Etwas, das ich unter den kostenlosen Delphi-Versionen stark vermisst habe. |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Nehmen wir als Vergleich mal Chrome. Namespaces und ein multi pass compiler machen dich unabhängig von Dateigrenzen. Willst du einen Typen in eine andere Datei packen, mache es einfach:
Delphi-Quellcode:
namespace SomeNamespace;
interface type Class1 = class property Value : Class2; end; implementation end;
Delphi-Quellcode:
namespace SomeNamespace;
interface type Class2 = class property Value : Class1; end; implementation end; Zitat:
Wieviel Arbeit gesteckt D.Net wurde nur damit du weiterhin "uses DeinNamespace.Unitname" tippen musst, während alle anderen Sprachen deine Assembly mit uses DeinNamespace nutzen können, ist doch wirklich erstaunlich... Zitat:
![]() Andere .Net-Komposter erkennen einfach wann etwas ein Typ sein _muss_ und wann der Bezeichner eine Variable/Property ist. Solche Dinge hat man in .Net alle paar Minuten, schlichtweg weil es dort normal ist, Property und Typ gleich zu benennen. Es ist schon sehr nervig ständig typen aliase oder den kompletten Pfad zum Typen tippen zu müssen. Oh und ich sage ja auch nicht, dass man nicht in den Himmel kommt, wenn man D.Net benutzt. Es ist einfach nur so, dass die meisten .Net Sprachen das haben, was D32 von anderen nativen Sprachen unterschied. Nur wurden sie weiterentwickelt und auf .Net getrimmt. Wie man sicherlich herauslesen kann, kann nur ein Delphi Fan so enttäuscht über D.Net sein. ;) Zitat:
|
Re: Delphi für .NET <> Delphi Win32
Also halten wir fest:
Delphi beherrscht Namespaces, macht diese aber nicht von Dateigrenzen unabhängig. Ich wäre als Projektleiter, deseen Existenz von Dingen wie Qualität, Wartbarkeit des erzeugten Codes abhängt, und der Vorhersagbarkeit von Kosten abhängt nicht so sicher, ob ich über die Form von Disziplin, die Delphi hier erzwingt, nicht doch eher glücklich sein sollte. Dasgleiche gilt für die Verwendung von Schlüsselwörtern als Bezeichner. Es ist die Aufgabe, moderner Compiler nicht alles zuzulassen, was machbar ist. Das dürfte C# im Vergleich zu C++ ganz deutlich zeigen. Ob die Verwendung von Schlüsselwörtern als Bezeichner nicht aus gutem Grund verweigert wird, nämlich um den Pascalguidelines folgend, Wert auf die Lesbarkeit des Codes zu legen, muss dann halt jeder Entscheider, der die Kosten seiner Entscheidung verantworten muss, selber entscheiden. Soweit das aufgrund der Sprachunabhängigkeit von .Net nowendig ist, kann Delphi aber sehr wohl Schlüsselwörter als Bezeichner verwenden. Die .Net Guidelines werden damit doch erfüllt. Zitat:
|
Re: Delphi für .NET <> Delphi Win32
Ach ja
Zitat:
Sind Konstrukte wie Zitat:
Der Compiler erkennt das Schlüsselwot doch nur weil es in jeder Zeile wiederholt wird (Aufbau der Zeile). Das spart weder Tipparbeit, noch macht es den Code lesbarer. Wenn es nicht jetzt schon in den entsprechenden Codeguidelines steht, so wird man in Kürze darin finden, das man dieses Feature nur verwenden sollte, wenn es sich nicht vermeiden lässt Ein recht hoher Preis, nur dafür begin als Methodennamen verwenden zu können. Grüße Peter |
Re: Delphi für .NET <> Delphi Win32
Sorry, aber was ist dein Punkt? Niemand sprach von Keywords.
Das DialogResult-Problem liegt schlichtweg darin, dass ein Form eine Property namens DialogResult hat, welche vom Typ DialogResult ist. Wenn man jetzt diesen setzen oder das Ergebnis eines Dialoges prüfen will kapiert D.Net nicht wann die Property und wann der Typ gemeint ist. DialogResult.OK ist aber nur auf den Typen des Enums anwendbar so dass es keine Verwirrung geben _sollte_. Da es ein sehr vertändlicher Name für propertx und Typ ist, sehe ich hier keinerlei Probleme aus deinem puristischen POV. ;) Mit deinem letzten Post packe ich dich mal in die Schublade "romantischer Die-hard", ohne die wäre die IT-Branche wohl um einiges langweiliger. (Nicht böse gemeint ;) ) |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
Zitat:
Entscheidend für die Kosten ist eben nicht, was kann man ein wenig schneller tippen, sondern was kann ein anderer später schneller lesen, und was kann ein Mensch schneller lernen zu lesen. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz