10分了不起的工具iNET----------幫你完成.NET項(xiàng)目跨平臺(tái)運(yùn)行.
發(fā)表時(shí)間:2023-07-27 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]非常了不起的工具INET,實(shí)現(xiàn).NET跨平臺(tái)!執(zhí)行摘要微軟的.NET是一套連接信息、人、系統(tǒng)、設(shè)備的軟件技術(shù)。此新一代的技術(shù)是基于Web服務(wù)和小模塊創(chuàng)建的應(yīng)用,可以使任何應(yīng)用彼此互連并且能連接到In...
非常了不起的工具INET,實(shí)現(xiàn).NET跨平臺(tái)!
執(zhí)行摘要
微軟的.NET是一套連接信息、人、系統(tǒng)、設(shè)備的軟件技術(shù)。此新一代的技術(shù)是基于Web服務(wù)和小模塊創(chuàng)建的應(yīng)用,可以使任何應(yīng)用彼此互連并且能連接到Internet上的其他大型應(yīng)用。.NET的基礎(chǔ)核心是集成開(kāi)發(fā)設(shè)備(IDE), Visual Studio.NET和一種新的應(yīng)用執(zhí)行環(huán)境-Microsoft .net開(kāi)發(fā)框架。這些系統(tǒng)使開(kāi)發(fā)人員能夠像靈活使用 Visual Basic 和C#一樣開(kāi)發(fā)強(qiáng)大的應(yīng)用程序和Web服務(wù)。
但是有局限的一點(diǎn)是:用.net開(kāi)發(fā)的應(yīng)用程序必須運(yùn)行于.net服務(wù)器或者客戶(hù)端。如果所有的用戶(hù)都按照.NET運(yùn)行環(huán)境技術(shù)標(biāo)準(zhǔn)化這也許可行,但是實(shí)際上當(dāng)然不是這樣。成千上百萬(wàn)臺(tái)電腦運(yùn)行的是Linux、Unix, OS X 和其他操作系統(tǒng),而這種環(huán)境不是.NET應(yīng)用程序的標(biāo)準(zhǔn)化運(yùn)行環(huán)境。因此軟件開(kāi)發(fā)組織需要考慮: 如何有效利用它們的 Microsoft開(kāi)發(fā)人員和Visual Studio.NET的技術(shù)特征和優(yōu)勢(shì)但是仍然可以訪(fǎng)問(wèn)非微軟服務(wù)器, PC機(jī),手提電腦和移動(dòng)設(shè)備?怎樣才能使他們用.NET編寫(xiě)的程序運(yùn)行時(shí)不受運(yùn)行環(huán)境的局限?
Stryon公司開(kāi)發(fā)的iNET解決了這一難題。iNET可以使應(yīng)用程序和Web服務(wù)在Visual Basic 和C#下開(kāi)發(fā),但發(fā)布于任何支持Java的運(yùn)行環(huán)境,網(wǎng)絡(luò)主機(jī)也從IBM網(wǎng)絡(luò)服務(wù)器擴(kuò)展到Linux和Unix的服務(wù)器。有了iNET技術(shù),開(kāi)發(fā)人員既可以利用Visual Studio .net開(kāi)發(fā)環(huán)境的優(yōu)勢(shì),但是又不局限于Microsoft的運(yùn)行環(huán)境。
什么是.NET? 其工作原理?
要想了解iNET是什么,需要首先了解.NET的框架結(jié)構(gòu)和工作原理。
.NET包括很多內(nèi)容,但從一個(gè)開(kāi)發(fā)者的角度來(lái)講,它是一個(gè)基于Web應(yīng)用和Web服務(wù)的開(kāi)發(fā)和發(fā)布的開(kāi)放式環(huán)境。開(kāi)發(fā)者通常用Microsoft IDE和Visual Studio.NET開(kāi)發(fā).NET應(yīng)用程序(Borland廠商已宣布他們的IDES已經(jīng)具備和 Microsoft's IDE競(jìng)爭(zhēng)的實(shí)力,但是此產(chǎn)品目前還沒(méi)在市場(chǎng)上發(fā)布)。.Net框架已經(jīng)(或者將)嵌入所有的 Microsoft視窗操作系統(tǒng),取代Microsoft的Web應(yīng)用服務(wù),ISS。
.NET包含三種基本的開(kāi)發(fā)語(yǔ)言,Visual Basic.NET, C# 和 Visual C++.NET。 當(dāng)應(yīng)用程序和Web服務(wù)用這些語(yǔ)言編寫(xiě)時(shí),必須經(jīng)過(guò)兩步編譯成可執(zhí)行的機(jī)器代碼。首先,.NET Framework編譯器接收源代碼,并產(chǎn)生一套用 iNET 內(nèi)部框架通用語(yǔ)言編寫(xiě)的指令集。這種語(yǔ)言稱(chēng)為微軟中間語(yǔ)言(MSIL),它是獨(dú)立于CPU的。因此在代碼可執(zhí)行之前,它還必須在通用語(yǔ)言運(yùn)行環(huán)境(CLR)下轉(zhuǎn)換為本地、專(zhuān)用CPU代碼。
基于.NET 框架的可執(zhí)行和管理的代碼被稱(chēng)為 "管理代碼"。它必須為通用語(yǔ)言運(yùn)行環(huán)境提供必要的信息來(lái)支持它的服務(wù),包括內(nèi)存管理,跨語(yǔ)言集成,代碼訪(fǎng)問(wèn)安全性,自動(dòng)對(duì)象生命周期控制。所有的基于微軟中間語(yǔ)言的代碼可作為管理代碼執(zhí)行。相比較而言,開(kāi)發(fā)人員也能編寫(xiě)"非管理代碼",即代碼執(zhí)行直接依賴(lài)于操作系統(tǒng),而脫離Microsoft .NET 框架的通用語(yǔ)言環(huán)境。非管理代碼必須自己提供內(nèi)存管理,類(lèi)型校驗(yàn),安全支持,不像管理代碼從通用語(yǔ)言環(huán)境接受這些服務(wù)。非管理代碼必須脫離.NET Framework執(zhí)行。
.NET 框架包括一套較完備軟件技術(shù),涵蓋了執(zhí)行常用的必需的函數(shù)。其中涉及的組件、.NET的類(lèi)庫(kù)對(duì)任何用.NET管理代碼編寫(xiě)的應(yīng)用程序都有效。它們按函數(shù)類(lèi)型分組,包括ADO.NET(數(shù)據(jù)訪(fǎng)問(wèn)和管理), ASP.NET(創(chuàng)建、發(fā)布、運(yùn)行web應(yīng)用和服務(wù)),XML(語(yǔ)言標(biāo)識(shí)),SOAP(數(shù)據(jù)交換),WebForms(Web應(yīng)用),和WinForms(Windows 應(yīng)用)。
理論上,.NET應(yīng)用程序可運(yùn)行于多種平臺(tái),但是前提是CLR和.NET的框架類(lèi)庫(kù)必須指定端口連接到目標(biāo)平臺(tái)。這是一項(xiàng)意義非凡的研究,因?yàn)?NET開(kāi)發(fā)的應(yīng)用程序必須應(yīng)用于.NET環(huán)境,從實(shí)用的角度出發(fā),iNET出現(xiàn)了,它的出現(xiàn)解決了跨平臺(tái)運(yùn)行這一難題。
什么是iNET?
Stryon的iNET以純Java將.NET開(kāi)發(fā)構(gòu)架重新實(shí)現(xiàn) 。在運(yùn)行之前,iNET將.NET APP轉(zhuǎn)換成本地Java,因此它可以運(yùn)行于任何Java虛擬機(jī)上。用Java的實(shí)現(xiàn)框架為Java和其他的服務(wù)器端的架構(gòu)提供跨平臺(tái)的 .NET執(zhí)行應(yīng)用優(yōu)勢(shì)和核心技術(shù)支持。
iNET包括 三個(gè)組件:
IL to Java 轉(zhuǎn)換模塊(IL2Java)
o 它的功能是將MSIL代碼轉(zhuǎn)換成本地Java。因此也意味著iNET可以轉(zhuǎn)換任何.NET 源碼,不管是Visual Basic, C#, 還是Visual C++.
iNET 運(yùn)行時(shí)類(lèi)庫(kù)
o iNET運(yùn)行時(shí)類(lèi)庫(kù)是一套用Java實(shí)現(xiàn)的軟件組件,它準(zhǔn)確地復(fù)制了.NET framework 提供的所有功能。比如 ADO.NET, ASP.NET, WinForms, WebForms, XML, SOAP - 所有的都是用Java來(lái)實(shí)現(xiàn).
iNET 配置工具
o 提供的工具讓用戶(hù)更容易實(shí)現(xiàn)在J2EE平臺(tái)上展開(kāi)iNET 應(yīng)用.
iNET的工作原理?
在運(yùn)行之前,.NET編譯器會(huì)將源代碼編譯成MSIL代碼,那么我們就可以通過(guò)iNET里面的IL2Java工具將它們轉(zhuǎn)換成本地Java。因?yàn)閕NET運(yùn)行時(shí)類(lèi)庫(kù)與.NET類(lèi)庫(kù)完全兼容,所以本地Java源碼是由執(zhí)行IL2Java這一命令產(chǎn)生的取代了.NET運(yùn)行類(lèi)庫(kù)的iNET運(yùn)行類(lèi)庫(kù)。
一旦應(yīng)用程序被完全轉(zhuǎn)換成Java源碼,它就像任何Java應(yīng)用一樣,被Java虛擬機(jī)(JVM)編譯成Java字節(jié)碼后被執(zhí)行。這個(gè)應(yīng)用程序運(yùn)行時(shí)包會(huì)包括iNET運(yùn)行時(shí)類(lèi)庫(kù)。
iNET 的IL2Java工具是內(nèi)嵌在Visual Studio.NET里面,因此開(kāi)發(fā)者只需要簡(jiǎn)單的點(diǎn)擊"建立Java"菜單就可以將代碼轉(zhuǎn)換成Java,在Visual Studio.NET里面配置它到本地機(jī)器上或者到遠(yuǎn)程目標(biāo)機(jī)器上。它也可以通過(guò)一個(gè)簡(jiǎn)單的命令行"il2java.exe"來(lái)調(diào)用。