国产精品久久久久久2021,日韩精品无码av中文无码版,亚洲精品久久久午夜麻豆,无码成人精品日本动漫纯h

010-68421378
當前您所在的位置:首頁>新聞中心>新品發(fā)布

Hydra 6.1:應(yīng)用程序框架|允許開發(fā)人員創(chuàng)建模塊化應(yīng)用程序!

發(fā)布時間:2019/06/24 瀏覽量:4180
可以在同一個項目中混合管理的(.NET和Java)和非托管(Delphi和Island)代碼,創(chuàng)建無縫的用戶體驗,同時結(jié)合來自任意一個平臺的技術(shù)。

什么是Hydra?

Hydra是一個應(yīng)用程序框架,它允許開發(fā)人員創(chuàng)建模塊化應(yīng)用程序,可以在同一個項目中混合管理的(.NET和Java)和非托管(Delphi和Island)代碼,創(chuàng)建無縫的用戶體驗,同時結(jié)合來自任意一個平臺的最佳技術(shù)。

 

Hydra通過讓開發(fā)人員在同一應(yīng)用程序中無縫集成這兩個平臺來彌補非托管Delphi代碼與Microsoft.NET和Silverlight平臺之間的差距,無論是在新的.NET應(yīng)用程序中重用Delphi代碼,還是使用在.NET、Silverlight或FireMonkey中創(chuàng)建的新部件擴展現(xiàn)有Delphi VCL應(yīng)用程序。

 

結(jié)合Delphi和.NET

如今,許多Delphi開發(fā)者都考慮遷移到.NET平臺,要么利用其先進的開發(fā)能力和更好的語言,要么利用諸如Windows Presentation Foundation(WPF)或LINQ這樣的新技術(shù)。同時,他們也有理由猶豫不決,不愿放棄對其大量Delphi代碼庫的現(xiàn)有投資。

 

Hydra(假如在一個Delphi, .NET和Island的SKU中)使您能夠保持對現(xiàn)有本地Delphi代碼庫的投資,同時將應(yīng)用程序打開到托管插件。這允許在.NET中進行新的開發(fā),例如使用C#、Oxygene、Visual Basic.NET或任何其他可用于.NET的語言。

 

 

同時,現(xiàn)有的代碼可以在Delphi中保存和維護,并且這兩個部分都可以作為一個統(tǒng)一的應(yīng)用程序貢獻給最終用戶。

 

這使得在現(xiàn)有的基于Delphi的應(yīng)用程序框架中使用新興的.NET技術(shù)成為可能。例如,您可能決定使用在.NET3.0中介紹的硬件加速Windows Presentation Foundation(WPF)或XE2的新FireMonkey實現(xiàn)花式圖表?;蛘吣赡芟M诜强梢晹?shù)據(jù)處理代碼中利用LINQ等技術(shù),并在Delphi應(yīng)用程序中顯示結(jié)果。

 

Hydra也有助于逐步將應(yīng)用程序完全遷移到.NET。開發(fā)人員可以從模塊化其現(xiàn)有的Win32代碼庫開始,并使用.NET代碼或端口選擇模塊將其擴展到.NET,在那里它最有意義(例如,那些仍然看到最活躍的開發(fā)并將從使用基于.NET的新開發(fā)技術(shù)中獲益最多的模塊)。

 

逐漸地,他們可以選擇隨著時間的推移以自己的速度移植和替換剩余的模塊(甚至是主機應(yīng)用程序)。一旦所有部分都被移植,他們可以繼續(xù)以混合模式處理項目,或者最終遷移到完全管理的解決方案。

 

結(jié)合Delphi和Island

另一個有趣的場景,Hydra 5中的新場景,是用新的代碼編譯器擴展Delphi應(yīng)用程序,在Elements 9.1或更高版本中使用Elements的New Island平臺。

 

 

使用Island,Delphi開發(fā)人員可以開始使用Oxygene(與Delphi在風格上類似,但更具表現(xiàn)力和先進性)或C#和Swift編寫的代碼擴展其應(yīng)用程序,而不會放棄100%不受管理的好處。Island代碼本機將CPU編譯為x64或i386程序集(就像Delphi一樣),并且不需要任何運行時。但它仍然為您提供了更現(xiàn)代語言的所有寬度和語言特性,以及Elements RTL和Delphi兼容類庫(Delphi RTL)。

 

從用Oxygene編寫的幾個Island插件開始,這是讓您體驗Oxygene的完美方式,也是比以往任何時候都更有成效的編碼方式。

 

結(jié)合.NET和Island

同樣,.NET開發(fā)人員也會發(fā)現(xiàn),用本地的Island插件擴展現(xiàn)有的.NET應(yīng)用程序非常有趣,無論是C#語言還是Oxygene語言,都能使用他們已經(jīng)使用并喜愛的完全相同的語言。

 

將一些本地代碼塊添加到應(yīng)用程序中(例如,已被調(diào)整為以本地代碼運行的算法),或訪問硬件并必須運行非托管的比特(而不必學習新語言和/或直接跳到C++)。

 

結(jié)合NET與Java

在Hydra 6中,.NET主機還支持Java插件的嵌入,使用Visual(使用Swing小部件)和非Visual(在場景后面運行基于Java的邏輯)。Hydra負責托管Java虛擬機和其他所有東西。

 

結(jié)合VCL和FireMonkey

使用Delphi XE2,Embarcadero引入了FireMonkey,這是一個使用非托管Delphi代碼構(gòu)建豐富的3D和基于矢量的圖形用戶界面的新框架,與WPF在.NET端提供的功能相當。不幸的是,VCL和FireMonkey不能很好地混合,因此再次要求開發(fā)人員放棄對VCL應(yīng)用程序代碼的現(xiàn)有投資,以采用新技術(shù)。

 

Hydra通過允許開發(fā)人員將FireMonkey用戶界面與現(xiàn)有的VCL應(yīng)用程序無縫集成,或者反過來將現(xiàn)有的VCL用戶界面添加到新的FireMonkey應(yīng)用程序中,為這個問題提供了解決方案。FireMonkey代碼甚至可以與在不同版本的Delphi中編譯的VCL代碼一起使用,因此它們可以使用新的FireMonkey功能擴展Delphi 7 VCL應(yīng)用程序,而無需將整個項目移植到XE2。

 

當然,這也可以與.NET和Silverlight插件一起使用,如有必要,您可以將VCL、FireMonkey、WinForms、WPF和Silverlight的所有內(nèi)容組合到同一應(yīng)用程序中。

 

 

平臺間交流

 

使用不同開發(fā)平臺創(chuàng)建的插件和主機可以使用您可以定義的自定義接口進行無縫交流,并且通過Delphi和Visual Studio中Hydra的IDE集成,可以在兩個平臺之間無縫地移植這些接口定義。

 

您可以在Delphi代碼中定義自定義接口,并讓Hydra的工具鏈分析代碼,以在C#、VB、Oxygene或任何其他.NET語言中生成必要的接口定義?;蛘吣梢栽?NET中定義接口,并讓Hydra將它們導入到Delphi項目中。

 

主機和插件可以使用這些接口進行交流,而無需了解平臺的差異。

 

Hydra主機平臺

 

Hydra應(yīng)用程序由插件和主機組成,兩者都可以使用各種不同的開發(fā)工具和可以無縫組合的UI框架來實現(xiàn)。本頁介紹Hydra支持的三種不同的主機平臺;每種類型的主機都可以使用所有支持的插件平臺。

 

Delphi的可視組件庫(VCL)

現(xiàn)在Hydra最常見的使用案例可能是一個用Delphi編寫的主機應(yīng)用程序,它使用VCL和托管插件,這些插件也可以用VCL創(chuàng)建,或者使用我們支持的任何其他插件平臺。創(chuàng)建此類應(yīng)用程序的常見原因和方案包括:

 

 

»»VCL主機可以使用Delphi7和更高版本創(chuàng)建。從DelphiXE2開始,主機除了支持Win32外還可以支持Win64。

 

.NET的Windows窗體

與VCL for Delphi一樣,到目前為止,WinForms是使用.NET平臺上的標準Windows用戶界面控件創(chuàng)建應(yīng)用程序的流行框架。將WinForms應(yīng)用程序轉(zhuǎn)換為Hydra主機的原因包括:

 

 

»»WinForms主機可以在Visual Studio中使用C#、Oxygene、Swift和VisualBasic.NET以及任何其他可用于.NET框架的兼容CLR的語言創(chuàng)建。

 

Delphi的 FireMonkey

FireMonkey是Delphi XE2中最新的框架,后來創(chuàng)建了豐富的基于矢量的用戶界面和3D圖形,類似于.NET的Windows演示文稿基礎(chǔ),使用Win32或Win64 Delphi代碼。

 

 

»»FireMonkey主機可以使用Delphi XE2或更高版本創(chuàng)建,并且支持Win32和Wn64。

(沒有Hydra,Delphi應(yīng)用程序要么使用VCL,要么使用FireMonkey,沒有在同一項目中混合這兩種技術(shù)的規(guī)定,更不用說在同一形式上了。)

 

關(guān)于主機應(yīng)用程序的內(nèi)容已經(jīng)足夠多了;請繼續(xù)閱讀下方關(guān)于插件的更多信息:

 

Hydra插件平臺

Hydra應(yīng)用程序由一個加載單個插件的主機應(yīng)用程序組成,要么作為主機應(yīng)用程序的一部分安裝,要么單獨分發(fā)。主機和插件可以(但不是必須)使用不同的開發(fā)平臺和UI技術(shù)編寫。

 

有兩種不同的場景可以讓您在應(yīng)用程序中利用hydra插件:

 

Island

在Hydra 6中,您可以通過在.NET應(yīng)用程序中托管舊Java代碼和使用Java的Hydra創(chuàng)建的可視化或非可視化Java插件(使用Oracle的Java編譯器或Elements)。

 

»» 可以使用任何Java開發(fā)工具創(chuàng)建Java插件,包括IntelliJ或Eclipse,以及在Fire、Water或Visual Studio中使用Elements。

 

 

»» 可以在VisualStudio和Flash中使用Oxygene、C#、Swift或Java創(chuàng)建Island插件。

 

Silverlight

自版本4以來,Hydra允許您使用Silverlight創(chuàng)建可視化插件,并將它們嵌入到WinForms、VCL或FireMonkey主機應(yīng)用程序中。這允許您在基于Silverlight的Web應(yīng)用程序或Windows Phone應(yīng)用程序與桌面應(yīng)用程序之間共享代碼。

 

 

例如,您可以在Silverlight中為項目的Web前端創(chuàng)建一個豐富的數(shù)據(jù)輸入表單,并在桌面應(yīng)用程序中重用使用Delphi的VCL或FireMonkey或使用.NET的WinForms創(chuàng)建的相同表單。

 

»»Silverlight插件可以在Visual Studio中使用C#、Oxygene for.NET Visual Basic .NET或Swift創(chuàng)建。

 

FireMonkey

此外,在該版本中,還提供了對在Delphi XE2或更高版本中創(chuàng)建的FireMonkey插件和主機的支持。

 

FireMonkey是一個新的框架,它是由Embarcadero創(chuàng)建的,它使用Win32或Win64 Delphi代碼來創(chuàng)建基于矢量的用戶界面和3D圖形(在.NET的Windows演示基礎(chǔ)上設(shè)計)。

 

打開就能用,Delphi不支持在同一個應(yīng)用程序中混合傳統(tǒng)的VCL和FireMonkey,但是有了Hydra,您現(xiàn)在可以在VCL應(yīng)用程序中嵌入用FireMonkey創(chuàng)建的可視化插件,以及所有其他插件技術(shù)。此外,還可以在基于WinForms的.NET主機應(yīng)用程序中嵌入FireMonkey插件。

 

 

例如,您可能希望使用FireMonkey豐富的三維選項創(chuàng)建三維模型的可視化表示,并將其嵌入到使用VCL或WinForms構(gòu)建的更傳統(tǒng)的業(yè)務(wù)線應(yīng)用程序中。

 

»»FireMonkey插件可以使用Delphi XE2或更高版本創(chuàng)建,同時支持Win32和Win64。

 

Windowspresentation Foundation(WPF)

類似于新的FireMonkey框架,Windows Presentation Foundation(簡稱WPF)是一個現(xiàn)代的基于矢量的UI框架,用于創(chuàng)建豐富和令人驚嘆的用戶界面,利用現(xiàn)代圖形和3D效果。

 

WPF最初是在.NET 3.0中引入的,它緩慢但穩(wěn)定地取代WinForms作為.NET開發(fā)人員的標準UI模型。

 

Hydra允許您將基于WPF的插件嵌入到VCL、WinForms和FireMonkey主機應(yīng)用程序中。例如,您可能希望使用WPF可用的令人驚嘆的圖表組件之一創(chuàng)建一個視覺豐富的圖表視圖,并將其嵌入到使用常規(guī)WinForms或VCL創(chuàng)建的現(xiàn)有業(yè)務(wù)應(yīng)用程序中。

 

 

»»WPF插件可以在Visual Studio中使用C#、Oxygene for.NET, Visual Basic .NET或Swift以及任何其他可用于.NET框架的兼容CLR的語言創(chuàng)建。

 

可視化組件庫(VCL)

自1995年Delphi首次發(fā)布以來,Visual Component Library(簡稱“VCL”)一直是為Windows開發(fā)優(yōu)秀用戶界面的標準方法,因此它毫不夸張地說,Hydra完全支持使用VCL創(chuàng)建插件,這兩種插件都嵌入到VCL主機中(可能與其他插件技術(shù)(如WPF或Silverlight),但也存在于使用新FireMonkey或.NET的WinForms創(chuàng)建的主機應(yīng)用程序中。

 

例如,您可能在Delphi中創(chuàng)建了一些現(xiàn)有的用戶界面,希望在新的基于WinForms的應(yīng)用程序中重用,而不需要用.NET語言重寫UI和基礎(chǔ)代碼;或者,您可以將VCL代碼包裝在一個插件中,以便與使用.NET或FireMonkey創(chuàng)建的插件在VCL AP中透明和可互換地使用。

 

»»VCL插件可以使用Delphi7和更高版本創(chuàng)建。從DelphiXE2開始,插件可以支持Win64和Win32。

 

 

Windows窗體

雖然逐漸被WPF取代,但WinForms仍然是使用.NET開發(fā)人員的標準Windows小部件構(gòu)建Windows用戶界面的默認框架,并為構(gòu)建應(yīng)用程序UI提供了豐富的第一方和第三方組件環(huán)境。Hydra允許您將WinForms UI封裝在插件中,并將其嵌入非托管Delphi VCL和FireMonkey主機應(yīng)用程序,以及(通常與使用其他技術(shù)創(chuàng)建的插件一起)在WinForms應(yīng)用程序中。

 

 

例如,您可能希望通過使用.NET和WinForms編寫新代碼來擴展現(xiàn)有的Delphi應(yīng)用程序,并將其與現(xiàn)有代碼庫一起使用,這可能是為了將應(yīng)用程序的現(xiàn)有部分逐段移植到.NET。

 

»»WinForms插件可以在Visual Studio中使用C#、Oxygene for.NET和Visual Basic.NET以及任何其他可用于.NET框架的符合CLR的語言創(chuàng)建。

 

非可視插件

除了上面描述的所有可視化插件格式之外,Hydra還允許您創(chuàng)建僅包含業(yè)務(wù)邏輯或其他您可能希望在平臺之間共享的功能的非可視化插件。非可視插件可以使用自定義接口公開其功能;它們可以使用.NET或Delphi實現(xiàn),并且這兩種插件都可以在任一類型的主機應(yīng)用程序中使用。

 

 

例如,您可能已經(jīng)在Delphi中實現(xiàn)了現(xiàn)有的業(yè)務(wù)代碼,希望在基于.NET的新應(yīng)用程序中重用這些代碼,而無需將其移植到Oxygene或C#?;蛘吣赡馨l(fā)現(xiàn)了一些用C#語言編寫的偉大的開源代碼,它們可以解決您需要解決的問題,并且您希望在基于Delphi的應(yīng)用程序中使用這些代碼?;蛘撸赡芟M贠xygene中實現(xiàn)一些核心業(yè)務(wù)邏輯代碼,然后在Android、WindowsPhone7和Delphi應(yīng)用程序之間共享它。

 

»»可在Visual Studio中使用C、.NET的Oxygene、Swift和VisualBasic.NET以及任何其他可用于.NET框架的符合CLR的語言創(chuàng)建托管非Visual插件。

 

»»非托管非可視插件可以使用Delphi7和更高版本創(chuàng)建,也可以在Elements9.1或更高版本中使用C#、Oxygene和Swift創(chuàng)建。當使用Delphi XE2或更高版本或Elements創(chuàng)建插件時,插件可以支持Win64(除了Win32)。

 

插件平臺:32位和64位

從Delphi XE2(及更高版本)開始,Hydra支持使用VCL和FireMonkey為64位Windows平臺創(chuàng)建非托管插件(和主機)。在使用包含Elements的Island平臺時,還支持64位插件。

 

在單個進程中,Windows不允許混合32位和64位代碼,因此主機應(yīng)用程序和插件的位必須匹配——Delphi Win32主機應(yīng)用程序只能承載32位編譯的插件,反之,Delphi Win64應(yīng)用程序只能承載64位編譯的插件。由于.NET插件(默認情況下)與CPU無關(guān),因此它們通??梢酝泄茉?2位或64位主機中。

 

默認情況下,.NET主機可以在32位和64位下運行,這由運行它們的操作系統(tǒng)平臺和硬件決定;根據(jù)運行.NET主機的位,它只能加載與其位匹配的Delphi或Island插件。為了確保可以加載非托管插件,可以在兩個版本中分別為32位和64位提供它們,也可以使用托管主機項目中的適當標志將托管主機應(yīng)用程序強制為特定的CPU類型。

 

 

下一篇:Remoting SDK 9.7:跨平臺遠程框架|讓您輕松地將此通信構(gòu)建到應(yīng)用程序中!
上一篇:Data Abstract 9.7:多層次框架|為所有主要平臺構(gòu)建數(shù)據(jù)庫驅(qū)動的應(yīng)用程序變得容易!

                               

 京ICP備09015132號-996 | 違法和不良信息舉報電話:4006561155

                                   © Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號豪柏大廈C2座11層1105室

                         北京哲想軟件集團旗下網(wǎng)站:哲想軟件 | 哲想動畫

                            華滋生物