为什么.Net需要公共运行库,虚拟器,C#,XML,SOAP[网摘]
昨天参加了VS.Net的发布会,看到谢恩伟演示了几个WEB UI,APP UI,MOBILE UI的DEMO,
黄存义和廖恒毅也是强调VS.Net的rapid,VS.Net的其中一个目的似乎就要做到的就是在
开发客户端应用中尽量重用代码和设计。
因为在未来越来越多的设备会充当客户端,如PDA等等,我们不能
为了不同的界面就开发不同的客户端,那样生产力太低,所以要平滑移动,与客户端具体载体
无关。为了不同界面同一代码这个理想,发明了公共运行库,这样才可保证同一代码。而公共
代码库不可能是二进制的,因为二进制的代码就意味着固定的二进制排列,内存管理方式。
而又要求各种语言都可调用公共运行库,就必须使公共运行库成为一种规范的中间性代码。
所以就引出了虚拟器。
由于有了虚拟器,任何代码的执行就都必须通过虚拟器的解释才能执行,所以自然也提供了
好的错误保护,内存回收,类型安全。
那既然各种语言只要有一个转换器就可以在.Net上调用CLR,为什么还要发明C#?因为C#开发的
代码可以直接调用CLR,而其他语言就必须通过转换才可以,这样就存在着一个转换的好不好的
问题.大家都知道在一个混合编程中的联合调试的复杂.所以为了保护客户现有投资,微软允许
旧语言转换,但只要你没有旧客户或旧代码的包袱,就强烈推荐用C#开发新项目.
大家也知道不论RMI,CORBA,COM,在跨防火墙的问题上都比较头痛.现在的企业又要求互相传递
很多数据和调用.但是许多企业又不允许二进制流进入内部网,怎么办?但是所有的企业都不可能
封掉HTTP的端口,因为WEB是企业的基本因特网应用.而且不同企业应用着不同的操作系统和中间件
系统,怎么互相交换数据?由于客户的压力和应用需求.老死不相往来的WINDOWS和UNIX阵营终于
坐下来必须好好谈谈了.于是XML出现了.一是XML是纯文本的,谁都不需担心,二是XML脱胎于
HTML,正好让大家顺利过渡.于是XML+HTTP+RPC,SOAP应运而生.注册表已经成为了微软心头的一块
心病,所以在.Net打死也不能用了,仿造JAVA的属性配置文件也做个XML格式的信息文件.这样
也顺便跨平台推广标准.
为了CLR访问不同的数据源,ADO升级成了ado.Net,本身不具有重大变化
从数据层,组件层,客户端的所有基础框架,微软都已做的尽量与具体操作系统无关.
而且从昨天的发布会来看,从OS,运行环境框架,VS.NET,培训,出版,MSDN,企业应用,.Net全部提供解决方
案.并且VS.NET更与各种优秀工具结合,从设计到开发到测试到性能监测都有集成.全球100万
开发员基于WINDOWS开发,并且有成亿的用户在WINDOWS上,这么庞大的合作伙伴和客户群,
谁与争锋?
黄存义和廖恒毅也是强调VS.Net的rapid,VS.Net的其中一个目的似乎就要做到的就是在
开发客户端应用中尽量重用代码和设计。
因为在未来越来越多的设备会充当客户端,如PDA等等,我们不能
为了不同的界面就开发不同的客户端,那样生产力太低,所以要平滑移动,与客户端具体载体
无关。为了不同界面同一代码这个理想,发明了公共运行库,这样才可保证同一代码。而公共
代码库不可能是二进制的,因为二进制的代码就意味着固定的二进制排列,内存管理方式。
而又要求各种语言都可调用公共运行库,就必须使公共运行库成为一种规范的中间性代码。
所以就引出了虚拟器。
由于有了虚拟器,任何代码的执行就都必须通过虚拟器的解释才能执行,所以自然也提供了
好的错误保护,内存回收,类型安全。
那既然各种语言只要有一个转换器就可以在.Net上调用CLR,为什么还要发明C#?因为C#开发的
代码可以直接调用CLR,而其他语言就必须通过转换才可以,这样就存在着一个转换的好不好的
问题.大家都知道在一个混合编程中的联合调试的复杂.所以为了保护客户现有投资,微软允许
旧语言转换,但只要你没有旧客户或旧代码的包袱,就强烈推荐用C#开发新项目.
大家也知道不论RMI,CORBA,COM,在跨防火墙的问题上都比较头痛.现在的企业又要求互相传递
很多数据和调用.但是许多企业又不允许二进制流进入内部网,怎么办?但是所有的企业都不可能
封掉HTTP的端口,因为WEB是企业的基本因特网应用.而且不同企业应用着不同的操作系统和中间件
系统,怎么互相交换数据?由于客户的压力和应用需求.老死不相往来的WINDOWS和UNIX阵营终于
坐下来必须好好谈谈了.于是XML出现了.一是XML是纯文本的,谁都不需担心,二是XML脱胎于
HTML,正好让大家顺利过渡.于是XML+HTTP+RPC,SOAP应运而生.注册表已经成为了微软心头的一块
心病,所以在.Net打死也不能用了,仿造JAVA的属性配置文件也做个XML格式的信息文件.这样
也顺便跨平台推广标准.
为了CLR访问不同的数据源,ADO升级成了ado.Net,本身不具有重大变化
从数据层,组件层,客户端的所有基础框架,微软都已做的尽量与具体操作系统无关.
而且从昨天的发布会来看,从OS,运行环境框架,VS.NET,培训,出版,MSDN,企业应用,.Net全部提供解决方
案.并且VS.NET更与各种优秀工具结合,从设计到开发到测试到性能监测都有集成.全球100万
开发员基于WINDOWS开发,并且有成亿的用户在WINDOWS上,这么庞大的合作伙伴和客户群,
谁与争锋?