zoukankan      html  css  js  c++  java
  • [转载].NET是什么

    .NET是什么
    不同的图书上,对.NET有不同的理解,以下仅列举常见的说法。
    .NET是一种软件运行平台,其作用类似于Windows,在上面可以运行各种各样的软件。
    .NET是一种软件开发平台,可以使用不同的语言开发出相互可以集成的软件系统。
    上述两种说法都是不全面的,.NET代表的是微软的一整套战略,是一整套在Internet上能够无缝连接和沟通的软件技术、工具、产品和服务的总和。
    归纳起来,.NET的主要组成部分如下。
    .NET Framework(.NET框架):.NET应用系统运行支撑平台。
    Visual Studio 2005:集成的应用系统开发平台。
    XML Web Service:基于Web、面向服务的软件系统开发技术。
    Smart Client:智能客户机技术,融合了C/S模式和B/S模式的优点的应用系统开发技术。
    .NET企业服务器产品:支持.NET的服务器产品,包括SQL Server(提供数据的存储)、Application Server(Web应用程序和XML Web Service的部署和管理)、BizTalk Server(业务流程和文档交换)、Commerce Server(生成电子商务系统)、Exchange Server(消息收发和协作)、SharePoint Portal Server(查找、共享和发布企业业务信息)等产品,有关这些产品的详细信息,读者可以在微软的官方网站上进行查询。
    .NET操作系统:在Windows Server 2003中已经内嵌了.NET Framework,成为支持.NET的操作系统。
    提示:Windows XP Professional、Windows 2000 Server这样的操作系统没有内嵌.NET Framework,所以需要单独安装该组件才能成为支持.NET的操作系统。

    在.NET平台上主要可以开发和运行5种类型的应用程序。
    Windows Form:这种程序运行在客户机上,因为常有一到多个Form(窗体)元素,所以是最典型的一种应用程序,基于C/S模式。
    Web程序:主要是利用ASP.NET技术开发的动态网站,用户可以使用IE浏览器进行访问,是B/S模式的应用程序。
    局域网应用程序:局域网中的分布式计算机之间需要互相通过.NET Remoting(.NET远程)等技术进行通信。
    XML Web Service应用程序:基于XML Web Service技术开发的跨平台、跨系统的分布式系统。
    移动数字设备程序:为手机、PDA、便携式游戏机等开发的应用程序。
     
    .NET Framework基础
    要运行基于.NET的应用系统,计算机的操作系统上必须安装有.NET的运行支撑平台.NET Framework。.NET Framework有两个典型的版本:.NET Framework 1.1和.NET Framework 2.0,推荐读者安装最新的.NET Framework 2.0,该组件在微软的官方网站上可以免费下载。
    安装不同的.NET Framework
    严格细分起来,.NET Framework又有两个不同的组件:
    .NET Framework可再发行组件包(23MB左右);
    .NET Framework SDK(系统开发包,110MB左右)。
    下面介绍一下这两者的区别及安装注意事项。
    1..NET Framework可再发行组件包
    如果仅仅是运行.NET应用程序,而不需要开发.NET应用程序,则只需安装可再发行的组件包就可以了。由于.NET Framework可再发行组件包中没有编译器,所以它只能运行编译好的.NET应用程序。
    2..NET Framework SDK
    .NET Framework SDK除了可再发行组件包的内容外,还包括了编译器,所以可以用于开发和编译.NET应用程序。
    遗憾的是,.NET Framework SDK并没有一个集成的代码编辑器,所以你需要使用别的编辑器编写.NET应用程序的代码,然后使用SDK提供的编译器进行编译。这样将是一个手动的编码、编译的过程。设想一下,有哪个开发人员现在还能容忍这样低效率的开发方式?
    解决的办法就是安装Visual Studio 2005,它是一个集成了可视化编辑、编译环境的集成开发工具。在Visual Studio 2005中内嵌有.NET Framework SDK。图1- 9所示的就是安装Visual Studio 2005后自动安装的SDK 2.0。


    “一次编码,到处运行”的梦想

    对于开发人员来讲,在一种操作系统上编写的代码能够在别的操作系统上几乎不用更改代码就能够运行是一种奢望和迫切要求。设想一下,在Windows XP系统上编写的代码在Windows 2003、Linux上如果能够不加修改地运行,还可以将程序员从具体的编程环境中解脱出来而关注于软件的实现。而目前的现状是程序员在开发应用系统时必须考虑不同操作系统平台的差异,同样功能的应用系统往往要提供Windows XP版、Windows 2003版等。
    那么,为什么这样一个很合理,而且已经困扰广大开发人员很长时间的问题却很难解决呢?
    1.程序的执行机制
    要回答这个问题,需要从程序的编译执行机制谈起。图1-10所示的为计算机的结构层次,最里层是硬件,在应用系统和硬件之间是操作系统。应用系统的程序最后必须编译成某种操作系统和硬件环境能够运行的机器代码才能运行,这一点概莫能外。

    图1-10    计算机的层次结构

    也就是说,不论采用什么技术编写的应用系统,其最终的执行代码必须是和某种操作系统和硬件环境相匹配的,这样才能被正确执行。
    提示:这样编译后的可执行代码称为非托管代码(Unmanaged Code)。非托管代码的执行是应用系统直接和操作系统打交道。
    2.Java如何实现跨平台
    既然如此,那就很让人沮丧了,怎样才能使程序具有跨平台运行的能力呢?这一点,Java最初走在了前列。
    Java采用图1-11所示的机制来实现跨平台的技术。

    图1-11    Java的跨平台机制
    首先将Java源代码编译成与具体的操作系统和硬件无关的Java字节码(Java ByteCode)。在每种操作系统平台上安装相应的Java虚拟机,同样的Java字节码在不同的Java虚拟机支持下进行第二次编译,然后生成该平台上的机器代码,最后执行。
    这样执行Java的计算机的层次结构如图1-12所示。

    图1-12    执行Java的计算机的层次结构
    提示:这样的两次编译后的可执行代码称为托管代码(Managed Code)。托管代码的执行是应用系统直接和Java虚拟机打交道,Java虚拟机再和操作系统打交道。
    正是因为Java这一特性使开发人员看到了曙光,所以Java今天已经成为和.NET分庭抗礼的一支奇葩,即使是微软这样的软件巨头也无法撼动其地位。
    所以,并不存在一种放之四海而皆准的机器代码,所谓跨平台,只不过是增加了软件生产商的难度而已,既然开发人员不用考虑这种跨平台特性,那就让软件生产商忙活去吧。

  • 相关阅读:
    Git fetch和git pull的区别
    git add 命令详解
    第1章——算法在计算机中的作用
    Mysql数据库中的计数器表实时更新
    Windows 7 搭建 nodejs、npm、express 环境
    设计模式之工厂模式
    设计模式之单例模式(Singleton Pattern)
    java实现合并两个已经排序的列表
    Spring+SpringMVC+Mybatis+Maven+CXF+WebService整合之服务端
    sqlserver乱码问题解决
  • 原文地址:https://www.cnblogs.com/scnutiger/p/1572071.html
Copyright © 2011-2022 走看看