Hydra ist ein Anwendungs-Framework, das es Entwicklern ermöglicht, modulare Anwendungen zu erstellen, die „verwalteten” (.NET und Java) und nicht-verwalteten (Delphi und Island) Code im selben Projekt mischen können.
Hydra schließt die Lücke zwischen den Welten von nagtivem Delphi-Code und den Microsoft .NET- und Java-Plattformen, indem Entwickler die Plattformen nahtlos in dieselbe Anwendung integrieren können – sei es durch die Wiederverwendung von Delphi-Code in neuen .NET-Anwendungen oder die Erweiterung bestehender Delphi-VCL-Anwendungen mit neuen Teile, die in .NET, Silverlight, Java oder FireMonkey erstellt wurden.
Heutzutage erwägen viele Delphi-Entwickler eine Migration auf die .NET-Plattform, entweder um die erweiterten Entwicklungsfunktionen und besseren Sprachen zu nutzen oder um neue Technologien wie die Windows Presentation Foundation oder LINQ zu nutzen. Gleichzeitig zögern sie zu Recht, die bestehenden Investitionen in ihre umfangreiche Delphi-Codebasis hinter sich zu lassen.
Hydra – bereitgestellt in einer SKU für Delphi, .NET und Island – ermöglicht Ihnen, Ihre Investition in Ihre vorhandene native Delphi-Codebasis zu behalten und gleichzeitig Ihre Anwendungen für verwaltete Plugins zu öffnen. Dies ermöglicht neue Entwicklungen in .NET, beispielsweise mit C#, Oxygene, Visual Basic.NET oder jeder anderen für .NET verfügbaren Sprache.
Gleichzeitig kann der vorhandene Code in Delphi beibehalten und gepflegt werden, und beide Teile können dazu beitragen, dass der Endbenutzer als eine einzige, einheitliche Anwendung erscheint.
Dadurch ist es möglich, neue und aufkommende .NET-Technologien innerhalb Ihres bestehenden Delphi-basierten Anwendungsrahmens einzusetzen. Sie könnten sich beispielsweise dafür entscheiden, ausgefallene Diagramme mit der hardwarebeschleunigten Windows Presentation Foundation (WPF) zu implementieren, die in .NET 3.0 eingeführt wurde (wie im links gezeigten Beispiel) oder dem neuen FireMonkey von XE2. Oder vielleicht möchten Sie Technologien wie LINQ in Ihrem nicht-visuellen Datenverarbeitungscode nutzen und die Ergebnisse in Ihrer Delphi-App anzeigen.
Hydra ist auch hilfreich für die schrittweise Migration von Anwendungen zu .NET. Entwickler können damit beginnen, ihre vorhandene Win32-Codebasis zu modularisieren und sie mit .NET-Code oder portselektiven modules auf .NET zu erweitern, wo es am sinnvollsten ist (z profitieren am meisten vom Einsatz neuer, .NET-basierter Entwicklungstechnologien).
Nach und nach können sie entscheiden, die verbleibenden Module (und sogar die Host-Anwendung) im Laufe der Zeit und in ihrem eigenen Tempo zu portieren und zu ersetzen. Sie können im gemischten Modus weiter an dem Projekt arbeiten oder schließlich zu einer vollständig verwalteten Lösung migrieren, sobald alle Teile portiert sind.
Lesen Sie mehr über das Erstellen von Mixed-Mode-Anwendungen mit Hydra, hier (English).
Ein weiteres interessantes Szenario, neu in Hydra 5, besteht darin, eine Delphi-Anwendung mit einem neuen Code-Compiler zu erweitern, der die neue Island-Plattform von Elements in Elements 9.1 oder höher verwendet.
Mit Island können Delphi-Entwickler ihre Anwendung mit Code erweitern, der in Oxygene (der im Stil Delphi ähnelt, aber viel ausdrucksvoller und fortschrittlicher ist) oder C# und Swift geschrieben wurde, ohne auf den Vorteil zu verzichten, zu 100 % nicht verwaltet zu werden. Island-Code kompiliert CPU-nativ in x64- oder i386-Assembly – genau wie Delphi – und benötigt keine Laufzeit. Aber es bietet Ihnen immer noch alle Breiten- und Sprachfunktionen der moderneren Sprachen, zusammen mit unserer Elements RTL und unserer Delphi-Kompatibilitätsklassenbibliothek (Delphi RTL).
Mit ein paar Island-Plugins zu beginnen, die in Oxygene geschrieben wurden, ist der perfekte Weg, um mit Oxygene nasse Füße zu bekommen und produktiver zu programmieren als je zuvor.
Ebenso werden .NET-Entwickler es interessant finden, ihre bestehenden .NET-Apps mit nativen Island-Plugins zu erweitern – um genau dieselbe Sprache verwenden zu können, die sie bereits verwenden und lieben, sei es C# oder Oxygene.
Fügen Sie Ihrer Anwendung einige native Codeteile hinzu – zum Beispiel einen Algorithmus, der für die Ausführung in nativem Code optimiert wurde, oder Bits, die auf Hardware zugreifen und nicht verwaltet werden müssen – ohne eine neue Sprache lernen und/oder in C++ einsteigen zu müssen.
Neu in Hydra 6 unterstützen .NET-Hosts auch die Einbettung von Java-Plugins mit visuellen (mit Swing-Widgets) und nicht-visuellen (um Java-basierte Logik im Hintergrund auszuführen). Hydra kümmert sich um das Hosten der Java Virtual Machine und alles andere.
Mit Delphi XE2 führte Embarcadero FireMonkey ein, ein neues Framework zum Erstellen umfangreicher 3D- und vektorbasierter grafischer Benutzeroberflächen mit Delphi-Code – vergleichbar mit dem, was WPF auf der .NET-Seite bietet. Leider passen VCL und FireMonkey nicht gut zusammen, daher werden Entwickler erneut gebeten, ihre bestehenden Investitionen in den VCL-Anwendungscode aufzugeben, um die neue Technologie zu übernehmen.
Hydra bietet eine Lösung für dieses Problem, indem es Entwicklern ermöglicht, die FireMonkey-Benutzeroberfläche nahtlos in vorhandene VCL-Anwendungen einzubetten oder umgekehrt bestehende VCL-Benutzeroberflächen zu neuen FireMonkey-Anwendungen hinzufügen. FireMonkey-Code kann sogar mit VCL-Code verwendet werden, der in verschiedenen Delphi-Versionen kompiliert wurde – so können sie beispielsweise eine Delphi 7-VCL-Anwendung mit neuer FireMonkey-Funktionalität erweitern, ohne das gesamte Projekt auf XE2 zu portieren.
Und natürlich funktioniert dies auch mit .NET- und Silverlight-Plugins, sodass Sie bei Bedarf alle VCL, FireMonkey, WinForms, WPF und Silverlight in derselben Anwendung kombinieren können.
Plugins und host, die mit verschiedenen Entwicklungsplattformen erstellt wurden, können nahtlos über benutzerdefinierte Schnittstellen kommunizieren, die Sie definieren können, und die IDE-Integration von Hydra in Delphi und Visual Studio ermöglicht Ihnen die nahtlose Portierung dieser Schnittstellendefinitionen zwischen den beiden Plattformen .
Sie können Ihre benutzerdefinierten Schnittstellen in Delphi-Code definieren und die Toolchain von Hydra den Code analysieren lassen, um die erforderlichen Schnittstellendefinitionen in C#, VB, Oxygene oder jeder anderen .NET-Sprache zu generieren. Oder Sie definieren Ihre Schnittstellen in .NET und lassen sie von Hydra in Ihr Delphi-Projekt importieren.
Host und Plugins können über diese Schnittstellen kommunizieren, ohne sich der Plattformunterschiede bewusst sein zu müssen.
Ihre Nachricht wurde gesendet und jemand wird sich in Kürze, normalerweise innerhalb eines Werktages, bei Ihnen melden.
Bei technischen Fragen oder Support-Fragen besuchen Sie bitte auch unser RemObjects Talk Support-Forum sowie andere Support-Optionen .