非常了不起的工具iNET----------帮你实现.NET项目跨平台运行.

项目

非常了不起的工具INET,实现.NET跨平台!

执行摘要

微软的.NET是一套连接信息、人、系统、设备的软件技术。此新一代的技术是基于Web服务和小模块创建的应用,可以使任何应用彼此互连并且能连接到Internet上的其他大型应用。.NET的基础核心是集成开发设备(IDE), Visual Studio.NET和一种新的应用执行环境-Microsoft .net开发框架。这些系统使开发人员能够像灵活使用 Visual Basic 和C#一样开发强大的应用程序和Web服务。

但是有局限的一点是:用.net开发的应用程序必须运行于.net服务器或者客户端。如果所有的用户都按照.NET运行环境技术标准化这也许可行,但是实际上当然不是这样。成千上百万台电脑运行的是Linux、Unix, OS X 和其他操作系统,而这种环境不是.NET应用程序的标准化运行环境。因此软件开发组织需要考虑: 如何有效利用它们的 Microsoft开发人员和Visual Studio.NET的技术特征和优势但是仍然可以访问非微软服务器, PC机,手提电脑和移动设备?怎样才能使他们用.NET编写的程序运行时不受运行环境的局限?

Stryon公司开发的iNET解决了这一难题。iNET可以使应用程序和Web服务在Visual Basic 和C#下开发,但发布于任何支持Java的运行环境,网络主机也从IBM网络服务器扩展到Linux和Unix的服务器。有了iNET技术,开发人员既可以利用Visual Studio .net开发环境的优势,但是又不局限于Microsoft的运行环境。

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

要想了解iNET是什么,需要首先了解.NET的框架结构和工作原理。

.NET包括很多内容,但从一个开发者的角度来讲,它是一个基于Web应用和Web服务的开发和发布的开放式环境。开发者通常用Microsoft IDE和Visual Studio.NET开发.NET应用程序(Borland厂商已宣布他们的IDES已经具备和 Microsoft's IDE竞争的实力,但是此产品目前还没在市场上发布)。.Net框架已经(或者将)嵌入所有的 Microsoft视窗操作系统,取代Microsoft的Web应用服务,ISS。

.NET包含三种基本的开发语言,Visual Basic.NET, C# 和 Visual C++.NET。 当应用程序和Web服务用这些语言编写时,必须经过两步编译成可执行的机器代码。首先,.NET Framework编译器接收源代码,并产生一套用 iNET 内部框架通用语言编写的指令集。这种语言称为微软中间语言(MSIL),它是独立于CPU的。因此在代码可执行之前,它还必须在通用语言运行环境(CLR)下转换为本地、专用CPU代码。

基于.NET 框架的可执行和管理的代码被称为 "管理代码"。它必须为通用语言运行环境提供必要的信息来支持它的服务,包括内存管理,跨语言集成,代码访问安全性,自动对象生命周期控制。所有的基于微软中间语言的代码可作为管理代码执行。相比较而言,开发人员也能编写"非管理代码",即代码执行直接依赖于操作系统,而脱离Microsoft .NET 框架的通用语言环境。非管理代码必须自己提供内存管理,类型校验,安全支持,不像管理代码从通用语言环境接受这些服务。非管理代码必须脱离.NET Framework执行。

.NET 框架包括一套较完备软件技术,涵盖了执行常用的必需的函数。其中涉及的组件、.NET的类库对任何用.NET管理代码编写的应用程序都有效。它们按函数类型分组,包括ADO.NET(数据访问和管理), ASP.NET(创建、发布、运行web应用和服务),XML(语言标识),SOAP(数据交换),WebForms(Web应用),和WinForms(Windows 应用)。

理论上,.NET应用程序可运行于多种平台,但是前提是CLR和.NET的框架类库必须指定端口连接到目标平台。这是一项意义非凡的研究,因为.NET开发的应用程序必须应用于.NET环境,从实用的角度出发,iNET出现了,它的出现解决了跨平台运行这一难题。

什么是iNET?

Stryon的iNET以纯Java将.NET开发构架重新实现 。在运行之前,iNET将.NET APP转换成本地Java,因此它可以运行于任何Java虚拟机上。用Java的实现框架为Java和其他的服务器端的架构提供跨平台的 .NET执行应用优势和核心技术支持。

iNET包括 三个组件:

IL to Java 转换模块(IL2Java)
o 它的功能是将MSIL代码转换成本地Java。因此也意味着iNET可以转换任何.NET 源码,不管是Visual Basic, C#, 还是Visual C++.

iNET 运行时类库
o iNET运行时类库是一套用Java实现的软件组件,它准确地复制了.NET framework 提供的所有功能。比如 ADO.NET, ASP.NET, WinForms, WebForms, XML, SOAP - 所有的都是用Java来实现.

iNET 配置工具
o 提供的工具让用户更容易实现在J2EE平台上展开iNET 应用.

iNET的工作原理?

在运行之前,.NET编译器会将源代码编译成MSIL代码,那么我们就可以通过iNET里面的IL2Java工具将它们转换成本地Java。因为iNET运行时类库与.NET类库完全兼容,所以本地Java源码是由执行IL2Java这一命令产生的取代了.NET运行类库的iNET运行类库。

一旦应用程序被完全转换成Java源码,它就像任何Java应用一样,被Java虚拟机(JVM)编译成Java字节码后被执行。这个应用程序运行时包会包括iNET运行时类库。

iNET 的IL2Java工具是内嵌在Visual Studio.NET里面,因此开发者只需要简单的点击"建立Java"菜单就可以将代码转换成Java,在Visual Studio.NET里面配置它到本地机器上或者到远程目标机器上。它也可以通过一个简单的命令行"il2java.exe"来调用。

时间: 2024-08-05 14:59:03

非常了不起的工具iNET----------帮你实现.NET项目跨平台运行.的相关文章

求助.我拿到一个用VB.net 语言 Vs2005 和Access工具 编写的程序 可我不会运行 急求高手指点

问题描述 求助.我拿到一个用VB.net语言Vs2005和Access工具编写的程序可我不会运行急求高手指点请对这方面的有研究的高手联系QQ873498013我把程序发给你,只要告诉我如何配置运行的即可.Q币相赠大伙帮帮忙啊真得很急! 解决方案 解决方案二:安装.netFrameWork2.0解决方案三:安装2005就可以调试了解决方案四:我已经加你了

语音识别工具sphinx4源代码 如何在myeclipse中部署运行 在此基础上进行二次开发

问题描述 语音识别工具sphinx4源代码 如何在myeclipse中部署运行 在此基础上进行二次开发 如何能在源代码上进行二次开发,源代码如何部署在myeclipse中,我想做音频关键词检索方面的,有没有大神给点意见

java-谁能帮我看看这个程序的运行结果

问题描述 谁能帮我看看这个程序的运行结果 class A implements Runnable { int i = 0; public synchronized void out() { while(true) { System.out.printf("haha"); try { Thread.sleep(1000); } catch(Exception e) { } } } public synchronized void run() { while(true) { try { T

开发工具-c++期末要做一个项目,有诸多不懂的地方,请大家帮帮忙

问题描述 c++期末要做一个项目,有诸多不懂的地方,请大家帮帮忙 上学期学了c语言,这学期学c++,c++讲到类的继承这个地方了,然后老师今天给我们说叫要做一个大项目,自己分组.我主要有两方面的疑问 一是开发工具的选择和下载,平时用的都是codeblocks,所以电脑上只装了codeblocks;但听老师说大项目涉及到MFC编程,就要用微软提供的vc++6.0或者vs 我不知道它们的具体区别,用哪一个比较好呢. 二就是课题的选择,以前的师兄师姐做小游戏的比较多,但我在图书馆看这方面的书籍,对一个

开展网络自动化?这些好工具可以帮到您

了解Git.Python.Ansible等工具,开始您的网络自动化之旅. 在上一篇文章<为何自动化对于IT工程师如此重要?>中,我们介绍了为什么需要网络自动化.一旦你决定开始一个网络自动化项目,那么下一步就是要选择正确的工具.那么你应该选择哪些工具呢? 这真的取决于你要实现怎样的目标.对于网络自动化,有很多工具可供选择.为了帮助您了解哪些工具可能最适合您,通过实验进行简单评估通常是有益的.选择工具时需要考虑的另一个因素是存在(或不存在)可访问的社区,以帮助您在这个过程中进行学习. 在这篇文章中

chinaz站长工具可以帮到我们什么

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 很多业界的朋友都很喜欢用chinaz站长工具来查询自己网站的优化指标情况,但是我们必须要认识到,站长工具只是第三方的工具,很多指标都是不被百度认可的(或者说不能完全吻合百度的指标,中间可能有误差),特别是最重要的百度权重这个指标,百度官方公告指出,第三方工具提供的百度权重并不是百度的百度权重.但是,chinaz工具的研发者们,毕竟是一些资深的

新工具——TensorLayer:管理深度学习项目的复杂性

更多深度文章,请关注:https://yq.aliyun.com/cloud 对于深度学习开发者来说,深度学习系统变得越来越复杂.以至于我们需要使用轻量级的工具从头到尾来管理流程,为了将更多的连续学习内置到神经网络中,这就要求我们建立可以迭代增强的更有弹性的数据集以及更多的动态模型. 深度学习开发人员必须花费大量的时间来整合神经网络的组件,管理模型生命周期,组织数据和调整系统并行度等等.随着使用新的培训样本后,人类对于神经网络模型的见解,更新模型和跟踪其变化的能力就变得非常必要了.为此伦敦帝国理

谁可以帮我做个项目的网页

问题描述 寻找一位美工做个项目的网页,请联系我QQ317841966最好是广东揭阳的. 解决方案 解决方案二:上面的联系方式错了,应该是QQ31784196解决方案三:找个网站随便参考下就可以了.解决方案四:请问是个兼职吗?解决方案五:或许我可以帮你,我qq1013525425

说说 browsersync

相信做过前端开发的人都知道,当你改变前端项目里的文件的时候,为了查看更改之后的效果需要手动的刷新浏览器,其实这个很浪费时间,那么这时候你可以选择用用browser-sync. browser-sync是一个浏览器同步工具,可以帮你解决在项目开发时,文件保存之后,浏览器同步刷新. 本篇文章主要讲讲在下面几种情况下如何使用browser-sync 命令行 Grunt Gulp npm run nodemon 安装 npm install -g browser-sync 命令行中使用 标准命令如下 b