.Net开发平台研究(三)

Visual C++,这个现有的用于编写低层代码和Windows程序的程序设计语言,还将继续存在,但是它将被修改更新以支持.NET开发平台。

特别地, Visual C++将获得新的关键字和数据类型(称为Managed Extensions to Visual C++),它使程序员可以创建可控制代码。不过,这些扩展是可以选择的;.NET Framework 所带的Visual C++版本完全向后兼容它的前身:Visual C++6.0,开发者可用它写不可控制代码。

这使C++在.NET领域中具有一个独特的位置。所有其他的微软语言需要向.NET开发平台进行完全的转换——例如,无法使用VB.NET创建一个运行在老的VB runtime上的VB风格组件,也无法直接将一个C# 应用程序编译为 本机 Intel指令。不过Visual C++仍有本机编译器。结合CLR将新的可控制代码与已有的不可控制代码相连的本领,这些都意味着C++开发者可以继续使用同他们过去一直在用的完全相同的语言和环境。

即使有了Managed Extensions,使用Visual C++编写可控制代码仍然比较困难,并容易出错,由于.NET开发平台数据类型和C++的之间的差异,这意味着开发者首先使用Visual C++,正如现在所用的那样,编写诸如低层设备驱动程序这样的不可控制代码,然后使用Managed Extensions来让这些代码能够与某些其他来源的可控制代码协作,或与它们合并。

JScript.NET

JScript.NET是微软的JavaScript (或ECMA Script)脚本描述语言的更新版,它与Java 和Visual J#(参看下文)都不同。与VB.NET 对VB的突破相比,JScript.NET对当前JScript语言(通常用于客户端浏览器脚本描述)的根本性突破比较少,这是因为JScript已经支持和CLR所提供的相类似的数据类型和特征。尽管如此,JScript.NET并非全部后向兼容,微软也还没有宣布任何计划来支持源代码向更新版语言的移植。

对于那些现在使用JScript,并且想要利用自己已有的知识发挥CLR和类库优势的Web开发者,JScript非常有吸引力。

Visual C#

介于使用Visual C++创建可控制代码的困难,微软 创造了一种类似的语言,称作Visual C#,专门用于编写可控制代码。

C#是微软唯一一种从一开始设计就专门针对CLR的语言,微软本身已经使用C#来创建诸如类库和ASP.NET等子系统中的可控制代码。事实上,虽然支持多种语言是CLR的主要设计目标,也不妨认为C#和CLR被有效地设计在一起,并且每一个的设计都会影响另一个。这是不是意味着所有的程序员都应该使用C#?当然不是。

尽管C#比C++更为简单,它仍深深植根于“C”语言家族。这意味着它继承了VB这样的语言所没有的特征。例如,C#语言大小写敏感,而VB则大小写不敏感。C#要求开发者明确地转换数据类型,而VB则进行了某些缺省的转换。C#包括对能够更直接访问底层.NET开发平台基础结构的不可控制代码的支持,例如,C#开发者可以使用指针类型指令访问缓冲内存并检查该缓冲。

微软明智地决定不在VB.NET中使用这些能力,因为这样做将使VB语言更为复杂化,却只不过对于较少的高级VB程序员有益。

简而言之,C#更能吸引现在用Visual C++ 或Java工作的程序员,对于开发组件的高级VB程序员,并且他们需要一门使用CLR和类库的易于学习的语言,C#也有吸引力。

Visual J#.NET

这是一种新语言,它给程序员提供了从现有的Visual J++ Java环境向新的.NET开发环境迁移的途径。

Visual J# .NET是Visual Studio的一个外接式附件,它使程序员能够使用Java语法写应用程序,但最终的应用程序使用.NET Framework 类库和CLR而非Sun的Java 2 API和Java Visual Machine(JVM)(Java虚拟机)。Visual J#.NET还提供工具用以导入和转换J++应用程序,程序然后能在CLR下运行,并且通过CLR和COM协同工作性的功能来访问J++库(例如Windows Foundation Classes(Windows基本类库))。Visual J# .NET没有使用任何Sun Java技术,因此不能轻易地将应用程序移植到Sun兼容Java上。

对于那些已使用Visual J++工作过,并且熟悉Java语法,但又不想转换到.NET开发平台的程序员,Visual J# .NET非常有吸引力。

Visual J# .NET是在Visual Studio.NET之外的一个独立的开发计划,最新版是一个测试版,它还不能与Visual Studio .NET的最终版本相兼容。

Visual Studio .NET

2002年2月,微软发布了Visual Studio.NET(VS.NET)的最终版本,这是微软极力推荐的创建.NET应用程序的软件开发工具集。VS.NET第一次让开发者仔细体会了微软在语言上进行的革命性的改变,同时也解决了许多过去困扰开发者使用微软工具创建应用程序的问题。

随着Visual Studio.NET在调试方面的改进,以及它将开发者所需的工具紧密集成到一个单一的环境上去,VS.NET将大大影响Web应用程序的开发。

以前,开发者只能在Web页中嵌入VB Script或JScript。现在,Web页可以用VS.NET中的任一种语言来生成。IDE也提供了从Web 表单控件中创造Web页的拖放式 GUI,它是完全动态的,易于编码,能自动处理状态问题,根据浏览器兼容能力生成纯HTML,并且将用户界面问题与编码问题相分离。

只需简单地将一个外部的Web Services拖到设计页面上,就可将它与项目连接起来。创建Web Services只需向代码中添加标签属性。可以使用增强的HTML和脚本编辑器。对于许多Web创建者来说,这是一方乐土。

此外Visual Studio.NET还提供了完全集成的数据处理,尤其是XML和数据库集成,通过和数据源相连结合起来,大大简化了对来自不同种类的数据源的联合数据(例如将来自一Oracle数据库的雇员数据合并到基于XML的销售成绩列表中)的处理。

以前,支持某些控件的代码被隐藏起来,开发者很难发现并修改。现在,所有控件发出的代码,包括格式化代码,都可以显示出来,这样便于高级开发者修改表单和控制件的缺省行为,并且在应用程序的外观上给予它们更紧凑的控制。(为了保留大多数VB用户经验,VS.NET IDE使用大纲功能来隐藏代码,直到开发者想要浏览它。)

选择.NET语言的经验规则

·当前的程序员有哪些技巧,以及雇佣新程序员有多容易?

·正在开发的组件是用于单一的终端用户应用程序,还是在不同的情况下被其他程序员重用的基础组件?

·应用程序需要从头编写新代码,还是可能只需修改和改写已有的代码?

·可以使用第三方(non-Windows)语言和工具吗?

下面的经验规则可以帮助开发者选择.NET开发平台语言:

·大多数VB程序是继续使用VB(VB .NET)或许将受益很多。

·对于那些已经熟悉VB的更高级的功能的VB开发者,需要关注一下C#,作为另一种工具。

·已经熟悉Java或J++的开发者将发现C#最适合他们的技巧。

·正在将已有的本机代码改写为.NET代码的C++开发者应使用Managed Extensions to C++。那些继续开发本机应用程序的C++开发者应继续使用现有的C++语言。

·正在开发新的应用程序和代码基础的C++开发者需要在C#和Managed Extensions to C++中做出选择。大多数情形中,这些开发者将发现使用C#的收益非常符合学习曲线。

·对脚本描述Web页非常感兴趣,并且使用Jscript完成过这种工作的,应转向JScript.NET。

·使用过J++以及喜欢Java语法的开发者应考虑J#。

时间: 2024-10-27 18:28:55

.Net开发平台研究(三)的相关文章

.Net开发平台研究(一

.Net开发平台研究 总结: .Net开发平台的发布标志着近十年来微软开发平台第一个重大的转变.这个开发平台包括一个用于加载和运行应用程序的新的软件基础结构(.NET Framework和ASP.NET),一个新的开发环境(Visual Studio .NET),以及支持该结构的编程语言. 微软希望随着这个新平台的发布,评论不再将这个平台作为朦胧的软件,而且开发者也将发现该平台使得Windows上Web应用程序(尤其是Web Service)的开发更为容易.这样或许会使更多的开发者拥护公司的操作

.Net开发平台研究(二)

类库主要的好处是它们将核心Win32 API的最常用的功能和外挂SDK的功能封装到了一个统一的包中.采用清晰而有条理的方式对类库进行了分组和描述,这样开发者能更容易地找到他们的应用程序所需的大多数功能. 相反,在过去几年中,新功能要么被"绑缚"到Win32 API上,要由通过独立的API(例如用于图形的Directx,或者用于XML和SOAP的不同的SDK)来提供.对它们唯一能做的逻辑分组就是按照字母顺序进行排序.结果,使用Win32 API和各种SDK经常使人晕头转向,而开发者必须判

.NET开发平台研究(四)

8. ASP.NET 微软的ASP.NET对Active Server Page(ASP)进行了很大的改变,不仅使开发者更易于创建动态Web内容,还使他们更易于创建复杂而可靠的Web应用程序,例如Web Services.ASP.NET 是微软的. NET开发平台的关键的一部分.为了微软 .NET战略的成功,必须吸引开发者采用. NET开发平台,包括ASP .NET.ASP .NET beta版测试者报告了它的大量好处. ASP. NET的主要目标是降低Web应用程度开发的门槛,它采用与降低使用

Google Web App开发指南第三章:案例研究

旅程计划应用(Wayfindit: Trip Planner App) 在大多数情况下,Wayfindit的应用必须有很好的易用性.旅行是一件很复杂的事情,不管是商业旅行还是休假旅行,一个顺利的旅程要求从家门到目的都没有意外之忧.Wayfindit的应用要能给旅行者提供所需信息,并且要快而准确.这意味着它需要一个最小的.直观的.响应式界面,能在前端提供有关内容的重要信息--HTML5的地理感知和离线存储特性实现. 一个完美的袖珍指南 它就装在你的口袋里或者包里,即时提供信息.它拥有本地存储和地理

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

原文:Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证     要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方审核,审核通过之后,会在后台顶部出现"高级功能"菜单.     使用"高级功能">"开发模式"之前,必须有一个已经部署在Internet

GeowayGIS空间信息综合应用开发平台

GeowayGIS空间信息综合应用开发平台    吉威数源公司在致力于空间信息处理技术研究的同时,非常注重同地理信息系统(GIS)技术相结合,开展空间相关信息的数据集成和应用服务. 作为地理信息领域的领导者,ArcGIS为开放式GIS应用提供了丰富的地图查询功能和强大的空间分析功能,而Geoway出色的图形编辑技术和精确的符号表现技术,则是空间信息处理和应用的专业支撑.将ArcGIS技术与Geoway技术完美结合,形成GeowayGIS空间信息综合应用开发平台. GeowayGIS以大型关系数据

基于Web服务的应用、解决方案和开发平台

web|web服务|解决   架构Web Service: 基于Web服务的应用.解决方案和开发平台        内容: Public UDDI Registry Microsoft Halistorm Bowstreet Solution DealEasy Enterprise Portal Solution Web服务构建平台与服务组件 Microsoft .NET IBM Web Service Sun ONE Case Study: 实践Web服务 参考资料 作者简介 相关内容: 为什

新一代应用开发平台强势来袭

近几年,随着云计算.移动化等技术的广泛应用和普及,IT行业进入快速演进阶段,软件的应用开发也在其中.一个最直接的体现就是,容器.微服务.DevOps.CI/CD.CaaS.云原生应用等一个个热词不断涌现,而且几乎每一个都引起了广泛关注.这些热词背后折射出的正是整个软件开发领域的巨大变化,这一变化直接引发了新一代应用开发平台的诞生,而新一代应用开发平台的诞生反过来又进一步推动了软件开发和应用领域的这一轮变革.   数字化转型大潮中的软件开发与交付 万事皆有因果,软件开发领域的这些变化也是如此.促使

《孩皮西游乐园》最新儿童智力开发平台上线

孩皮西游乐园官网:http://www.hpxiyou.com 进入乐园:http://www.hpxiyou.com/hpxiyou/HpXiYouOnLine.aspx 孩皮西游乐园首页 孩皮西游乐园简介 <孩皮西游乐园> 是维美天成科技(北京)有限公司专门为儿童开发的智力开发平台. <孩皮西游乐园>由周建武博士提供理论知识.研究成果协助.周建武,著名教育专家.研究员(教授):长期在京从事博.硕士研究生教育管理与逻辑教学研究工作,对高等教育和基础教育均有深入的研究与丰富的实践,