iNET:Microsoft.NET的Java实现 (1)
发表于:2007-06-30来源:作者:点击数:
标签:
至2000年底,Microsoft开始发布有关.NET这一全新的应用开发架构的细节,这些细节最初有些模糊,以至引起很多嘲笑,被视为"令人担心的、不可靠的、 让人怀疑的"。然而,当Beta版的新版Visual Studio--Visual Studio.NET出现在开发者面前时,与现实相结合,.NE
至2000年底,Microsoft开始发布有关.NET这一全新的应用开发架构的细节,这些细节最初有些模糊,以至引起很多嘲笑,被视为"令人担心的、不可靠的、 让人怀疑的"。然而,当Beta版的新版Visual Studio--Visual Studio.NET出现在开发者面前时,与现实相结合,.NET框架价值显而易见,而绝不是FUD。随着"冰雹"(一套Microsoft计划提供给其它厂商能兼容他们自己应用软件的
网络服务)的正式宣布,.NET以一种"革命性"的、开发各类运用软件的新路呈现在公众眼前。
实际上,作为一个不明显的举措,Microsoft也强调它将完全支持非
Windows的平台,包括
Unix和
Linux等等。其它不讲,而支持非Windows平台的承诺和增加
可靠性及更简单的终端用户体验一样更突出了应用软件开发中另一个也有同样重大意义的进步。
Halcyon Software, Inc. (http://www.halcyonsoft.com) 继成功开发了iASP(Microsoft ASP 的
Java构架,可将ASP运行在任何支持Java的平台)之后,针对微软提供的全新开发环境Microsoft.NET,Halcyonsoft正致力于将Microsoft.NET 进行跨平台移植。
在本文中,让我们首先了解一下Microsoft.NET框架和它给开发者及用户所好处。其二,描述Halcyonsoft针对.NET的开发研究,特别是如何在Java的基础上重建.NET框架以及暂时被命名为"Inst
ant.NET" (iNET) 这一产品所能带来的引人注目的优点。
.NET的大体结构
总的来说,.NET可以分为三个部分:
--.NET框架--一个全新设计的开发环境,使开发者更容易建立网络应用程序和网络服务。
--.NET产品--基于.NET平台的Microsoft开发的应用软件,包括Office和Visual Studio。
--.NET服务--协助第三方开发者创造.NET平台服务(网络服务的范例是一套州,郡,市的税务表格,这些表格被提供给电子商务购物车的开发者,这样他们可以代理网上购物的销售税务而免去庞大的数据维护管理额外开销的担忧)Microsoft的"冰雹"起初实际上是一举将最流行的网络服务包揽于"Microsoft"这一品牌名下。
新的.NET发展框架还可以细分,大致分为三个部分:
--一个运行时引擎,被称为"公共语言运行时"(C
LR), 它处理存储分配,错误限制和所有编程中遇到的繁忙工作。
--一套广泛的类库,从基础的写起,涵盖任何您所
需求的功能。
--两大高阶层的发展"舞台",提供给网络应用软件(ASP.NET) 和常规Windows应用软件(Windows Forms)。
有关.NET框架的各种要素及它们之间的相互关系的更详细的情况请见下列图表:
.NET框架可以缩短开发周期(代码重新使用,减少编程难题,支持多种编程语言),也可以更容易的配置(简单的XCOPY安装成为可能),而且真正的垃圾收集器的出现使得错误减少,并且是在更灵活可靠的应用软件里。现在让我们仔细考察一下.NET框架的各个部分。
公共语言运行时(CLR)
.NET应用软件被编译到众所周知的Microsoft中间语言(
MIL或者IL) 这一公共语言。CLR处理将IL编译成机器语言,在这时程序被执行。CLR体系结构有以下几个优点:
· 更少的涉及内部测量
· 广阔的工具支持
· 更简单的配置("DLL Hell"结束)
· 更精确的尺度
· 支持多种编程语言
· 拥有一个公共数据类型系统
有关CLR的特点详见下图:
当然,这些概念并不是真正意义上的革命,就如碎片收集已经提出了几十年一样。CLR看起来像Java虚拟机,而IL类似于Java字节代码。尽管如此,对于习惯于开发Microsoft平台的
程序员来说变化是根本的,其受益也是菲浅的。
多语言支持
CLR允许开发组在一个项目中运用多种语言,而且这些语言都能在一起工作。因为元数据额外的处理了所有的翻译,所以不需要接口定义语言。(原数据包括各类信息:运用软件的描述(名称、版本、共众关键字、输出类型、从属物等);基类和已用的界面;自定义属性(用户定义的和编辑者定义的)。)现在用Cobol, Fortran, C++, C# 和 PERL 完成一个单一项目是好是坏已是另外一个问题,但对于旧系统集成,多语言支持则是雪中送炭。(第三方已经着手于COBOL (Fujitsu), PERL, 和Python (ActiveState)语言支持。实际上计划中有50多个项目。)另外,Microsoft进一步改善了两大核心编程语言:C# 推动 C++进入21世纪,它抛弃了很多语言负债(支持指示器和选择案例失败,比如,Java等)
VB.NET被大面积的修补,现在是一种真正的支持多态性、继承性等的
面向对象语言。
公共类型系统(CTS)
.NET公共类型系统 (CTS) 是一套新型的公共数据类型,该公共数据类型在CLR中已被定义。包括所有的标准类型,int, float, double等;然而,CTS能使得程序员在较低的水平更好的完成数据类型转换。另外,从一种语言调用另外一种语言再也不需要奇怪类型转换或调用规范。
.NET框架类
结合CLR,Microsoft也开发了一套全面的框架类,其中有一些如下:
这些框架类最大的优点是无论你用何种语言工作都能达到同样的效果,像平方根操作调用。另外,各种语言都能达到同样的功能性。框架类里的功能性包括用户界面(Windows Forms(传统的Win32应用程序);Web Forms(ASP.NET的窗体引擎);Server controls(
服务器端的可再度使用用户界面);控制台应用软件及程序界面--互联网上可用的第三方应用程序的Web Services)。
WinForms和ASP.NET
WinForms仅仅是一个用来描绘标准Win32应用程序产生的名词。现在开发者拥有单一协调的类框架,而不再依靠三大不同的API:COM组件(ADO,MSXML等)、平台相关(Win32,Win16等)和语言相关(VBRUN,MFC等)。
在.NET下ASP网络发展框架经历了重大变化。例如,现在成熟的VB或C#(或任何被支持的.NET语言)是编程语言的选择,VBscript和JScript支持仅仅是对旧
兼容性的许可。其它重大变化包括:
1、对HTML服务器控制的新支持(服务器支持会话状态)
2、服务器能处理客户事件
3、新型控制系列包括增强的Intrinsics、Rich控件、List控件、DataGrid控件,Repeater控件、Data list控件和确认控件。
4、对发展网络服务的新支持--通过互联网可达到的现成应用逻辑,其可用简单对象存取控制协议(
SOAP)集成到.NET应用软件中。
原文转自:http://www.ltesting.net