明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

10分了不起的工具iNET----------幫你完成.NET項(xiàng)目跨平臺運(yùn)行.

[摘要]非常了不起的工具INET,實(shí)現(xiàn).NET跨平臺!執(zhí)行摘要微軟的.NET是一套連接信息、人、系統(tǒng)、設(shè)備的軟件技術(shù)。此新一代的技術(shù)是基于Web服務(wù)和小模塊創(chuàng)建的應(yīng)用,可以使任何應(yīng)用彼此互連并且能連接到In...
非常了不起的工具INET,實(shí)現(xiàn).NET跨平臺!

執(zhí)行摘要

微軟的.NET是一套連接信息、人、系統(tǒng)、設(shè)備的軟件技術(shù)。此新一代的技術(shù)是基于Web服務(wù)和小模塊創(chuàng)建的應(yīng)用,可以使任何應(yīng)用彼此互連并且能連接到Internet上的其他大型應(yīng)用。.NET的基礎(chǔ)核心是集成開發(fā)設(shè)備(IDE), Visual Studio.NET和一種新的應(yīng)用執(zhí)行環(huán)境-Microsoft .net開發(fā)框架。這些系統(tǒng)使開發(fā)人員能夠像靈活使用 Visual Basic 和C#一樣開發(fā)強(qiáng)大的應(yīng)用程序和Web服務(wù)。

但是有局限的一點(diǎn)是:用.net開發(fā)的應(yīng)用程序必須運(yùn)行于.net服務(wù)器或者客戶端。如果所有的用戶都按照.NET運(yùn)行環(huán)境技術(shù)標(biāo)準(zhǔn)化這也許可行,但是實(shí)際上當(dāng)然不是這樣。成千上百萬臺電腦運(yùn)行的是Linux、Unix, OS X 和其他操作系統(tǒng),而這種環(huán)境不是.NET應(yīng)用程序的標(biāo)準(zhǔn)化運(yùn)行環(huán)境。因此軟件開發(fā)組織需要考慮: 如何有效利用它們的 Microsoft開發(fā)人員和Visual Studio.NET的技術(shù)特征和優(yōu)勢但是仍然可以訪問非微軟服務(wù)器, PC機(jī),手提電腦和移動(dòng)設(shè)備?怎樣才能使他們用.NET編寫的程序運(yùn)行時(shí)不受運(yùn)行環(huán)境的局限?

Stryon公司開發(fā)的iNET解決了這一難題。iNET可以使應(yīng)用程序和Web服務(wù)在Visual Basic 和C#下開發(fā),但發(fā)布于任何支持Java的運(yùn)行環(huán)境,網(wǎng)絡(luò)主機(jī)也從IBM網(wǎng)絡(luò)服務(wù)器擴(kuò)展到Linux和Unix的服務(wù)器。有了iNET技術(shù),開發(fā)人員既可以利用Visual Studio .net開發(fā)環(huán)境的優(yōu)勢,但是又不局限于Microsoft的運(yùn)行環(huán)境。

什么是.NET? 其工作原理?

要想了解iNET是什么,需要首先了解.NET的框架結(jié)構(gòu)和工作原理。

.NET包括很多內(nèi)容,但從一個(gè)開發(fā)者的角度來講,它是一個(gè)基于Web應(yīng)用和Web服務(wù)的開發(fā)和發(fā)布的開放式環(huán)境。開發(fā)者通常用Microsoft IDE和Visual Studio.NET開發(fā).NET應(yīng)用程序(Borland廠商已宣布他們的IDES已經(jīng)具備和 Microsoft's IDE競爭的實(shí)力,但是此產(chǎn)品目前還沒在市場上發(fā)布)。.Net框架已經(jīng)(或者將)嵌入所有的 Microsoft視窗操作系統(tǒng),取代Microsoft的Web應(yīng)用服務(wù),ISS。

.NET包含三種基本的開發(fā)語言,Visual Basic.NET, C# 和 Visual C++.NET。 當(dāng)應(yīng)用程序和Web服務(wù)用這些語言編寫時(shí),必須經(jīng)過兩步編譯成可執(zhí)行的機(jī)器代碼。首先,.NET Framework編譯器接收源代碼,并產(chǎn)生一套用 iNET 內(nèi)部框架通用語言編寫的指令集。這種語言稱為微軟中間語言(MSIL),它是獨(dú)立于CPU的。因此在代碼可執(zhí)行之前,它還必須在通用語言運(yùn)行環(huán)境(CLR)下轉(zhuǎn)換為本地、專用CPU代碼。

基于.NET 框架的可執(zhí)行和管理的代碼被稱為 "管理代碼"。它必須為通用語言運(yùn)行環(huán)境提供必要的信息來支持它的服務(wù),包括內(nèi)存管理,跨語言集成,代碼訪問安全性,自動(dòng)對象生命周期控制。所有的基于微軟中間語言的代碼可作為管理代碼執(zhí)行。相比較而言,開發(fā)人員也能編寫"非管理代碼",即代碼執(zhí)行直接依賴于操作系統(tǒng),而脫離Microsoft .NET 框架的通用語言環(huán)境。非管理代碼必須自己提供內(nèi)存管理,類型校驗(yàn),安全支持,不像管理代碼從通用語言環(huán)境接受這些服務(wù)。非管理代碼必須脫離.NET Framework執(zhí)行。

.NET 框架包括一套較完備軟件技術(shù),涵蓋了執(zhí)行常用的必需的函數(shù)。其中涉及的組件、.NET的類庫對任何用.NET管理代碼編寫的應(yīng)用程序都有效。它們按函數(shù)類型分組,包括ADO.NET(數(shù)據(jù)訪問和管理), ASP.NET(創(chuàng)建、發(fā)布、運(yùn)行web應(yīng)用和服務(wù)),XML(語言標(biāo)識),SOAP(數(shù)據(jù)交換),WebForms(Web應(yīng)用),和WinForms(Windows 應(yīng)用)。

理論上,.NET應(yīng)用程序可運(yùn)行于多種平臺,但是前提是CLR和.NET的框架類庫必須指定端口連接到目標(biāo)平臺。這是一項(xiàng)意義非凡的研究,因?yàn)?NET開發(fā)的應(yīng)用程序必須應(yīng)用于.NET環(huán)境,從實(shí)用的角度出發(fā),iNET出現(xiàn)了,它的出現(xiàn)解決了跨平臺運(yùn)行這一難題。

什么是iNET?

Stryon的iNET以純Java將.NET開發(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)提供跨平臺的 .NET執(zhí)行應(yīng)用優(yōu)勢和核心技術(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í)類庫
o iNET運(yùn)行時(shí)類庫是一套用Java實(shí)現(xiàn)的軟件組件,它準(zhǔn)確地復(fù)制了.NET framework 提供的所有功能。比如 ADO.NET, ASP.NET, WinForms, WebForms, XML, SOAP - 所有的都是用Java來實(shí)現(xiàn).

iNET 配置工具
o 提供的工具讓用戶更容易實(shí)現(xiàn)在J2EE平臺上展開iNET 應(yīng)用.



iNET的工作原理?

在運(yùn)行之前,.NET編譯器會將源代碼編譯成MSIL代碼,那么我們就可以通過iNET里面的IL2Java工具將它們轉(zhuǎn)換成本地Java。因?yàn)閕NET運(yùn)行時(shí)類庫與.NET類庫完全兼容,所以本地Java源碼是由執(zhí)行IL2Java這一命令產(chǎn)生的取代了.NET運(yùn)行類庫的iNET運(yùn)行類庫。

一旦應(yīng)用程序被完全轉(zhuǎn)換成Java源碼,它就像任何Java應(yīng)用一樣,被Java虛擬機(jī)(JVM)編譯成Java字節(jié)碼后被執(zhí)行。這個(gè)應(yīng)用程序運(yùn)行時(shí)包會包括iNET運(yùn)行時(shí)類庫。

iNET 的IL2Java工具是內(nèi)嵌在Visual Studio.NET里面,因此開發(fā)者只需要簡單的點(diǎn)擊"建立Java"菜單就可以將代碼轉(zhuǎn)換成Java,在Visual Studio.NET里面配置它到本地機(jī)器上或者到遠(yuǎn)程目標(biāo)機(jī)器上。它也可以通過一個(gè)簡單的命令行"il2java.exe"來調(diào)用。