博客
关于我
.NET生态系统掠影
阅读量:433 次
发布时间:2019-03-06

本文共 2209 字,大约阅读时间需要 7 分钟。

.NET生态系统的核心优势在于其多样性和灵活性,但同时也带来了开发者在技术选择上的困惑。本文将详细探讨.NET的历史、运行时选项以及如何在实际项目中选择和使用这些技术。

.NET的历史

.NET平台的发展始于20世纪90年代,微软推出了.NET战略,旨在整合其所有产品并添加.NET标签。2000年代初,.NET Framework被称为下一代Windows服务(NGWS),并于2002年2月13日发布了第一个正式版本。随后的版本迭代不断丰富了功能,例如:

  • .NET Framework 2.0(2005年): 引入了泛型集合、迭代器和可空类型。
  • .NET Framework 3.0(2006年): 包含WPF(Windows Presentation Foundation)、WCF(Windows Communication Foundation)和WWF(Windows Workflow Foundation)。
  • .NET Framework 4.0(2010年): 引入了MEF(多扩展应用程序框架)、动态语言运行时(DLR)和任务并行库。
  • .NET Core 1.0(2014年): 首个跨平台支持的版本,带来了ASP.NET 5和.NET Native。
  • .NET Core 2.0(2017年): 提升了性能,并实现了.NET Standard 2.0。

.NET生态系统概述

.NET生态系统涵盖了多种运行时选项:

  • .NET Framework:以Windows为中心,支持WPF、Windows窗体和ASP.NET。
  • .NET Core:跨平台支持,适用于服务器、物联网、Linux等多种环境。
  • Xamarin的Mono:专为移动平台(iOS、Android、Windows 10 UWP)设计,支持本地编译和高性能运行。
  • 所有这些运行时都基于.NET Standard库,该库定义了一套规范性API,每个运行时都有其实现。通过共享代码,可以实现跨运行时的代码重用。

    .NET运行时

    1. .NET Framework

    .NET Framework是.NET生态系统的核心运行时,基于公共语言运行时(CLR),支持托管代码(如C#、VB.NET)的执行。它包含丰富的类库,适用于Windows平台的各种应用开发,例如WPF、Windows窗体和ASP.NET。

    2. .NET Core

    .NET Core是一个独立的开源运行时,支持跨平台开发。它包括CoreCLR和.NET Core类库,适用于从Windows到Linux、macOS的多种环境。与传统.NET Framework相比,.NET Core的优势在于其轻量级和高性能。

    3. Mono for Xamarin

    Mono是.NET框架运行时的开源克隆,专为移动开发设计。它支持iOS、Android和Windows 10 UWP,提供本地化的高性能运行时体验。

    其他框架

    除了上述核心运行时,.NET生态系统还包括其他专用框架:

    • .NET Compact Framework:为资源受限的设备(如PDA、移动设备)设计。
    • .NET Micro Framework:针对内存和存储极为有限的设备。
    • Silverlight:专为浏览器开发,支持丰富的媒体体验。
    • 社区项目:如DotGNU Portable.NET等,提供多种.NET运行时实现。

    .NET Standard

    .NET Standard是.NET生态系统的规范化API集合,旨在解决不同运行时之间代码共享的困难。它定义了一个平台无关的API集,各运行时实现对应于特定版本的.NET Standard。例如,.NET Framework 4.6.1实现了.NET Standard 2.0。

    工具

    1. .NET Framework工具

    .NET Framework的构建和调试依赖于MSBuild和Roslyn编译器,生成IL代码,通过CLR进行即时编译。

    2. .NET Core工具

    .NET Core工具采用dotnet CLI,支持命令行构建和发布。CoreCLR支持多平台JIT,提供高性能运行时。

    3. Xamarin工具

    Xamarin工具支持本地化编译和高性能运行,通过Mono运行时实现跨平台支持。

    Visual Studio IDE

    Visual Studio是.NET开发的首选IDE,支持跨平台开发,包括Windows、Linux和macOS。它提供强大的调试和代码协作功能,适用于所有.NET运行时的开发。

    库与语言

    .NET生态系统拥有丰富的库和工具,NuGet包管理器提供超过90,000个可用的库。开发者可以选择C#、F#或Visual Basic等语言进行编码。

    使用建议

    • .NET Framework:适合传统Windows应用开发,如桌面应用程序。
    • .NET Core:适合需要跨平台支持的高性能应用。
    • Xamarin:专为移动应用开发,支持本地化和高性能运行。

    未来展望

    .NET 5将统一.NET Core和.NET Framework,提供一个一致的跨平台开发体验。未来还将推出.NET MAUI,简化跨平台UI开发,支持多平台应用开发。

    通过合理选择和优化.NET运行时,可以充分发挥其优势,构建高性能、跨平台的应用程序。

    转载地址:http://oiouz.baihongyu.com/

    你可能感兴趣的文章
    MySQL集群解决方案(4):负载均衡
    查看>>
    MySQL高级-视图
    查看>>
    nacos集群搭建
    查看>>
    Nessus漏洞扫描教程之配置Nessus
    查看>>
    Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
    查看>>
    Netpas:不一样的SD-WAN+ 保障网络通讯品质
    查看>>
    Netty WebSocket客户端
    查看>>
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0050---Netty核心模块1
    查看>>
    Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
    查看>>
    Netty常见组件二
    查看>>
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>
    Netty源码—4.客户端接入流程一
    查看>>
    Netty源码—4.客户端接入流程二
    查看>>
    Netty源码—5.Pipeline和Handler一
    查看>>
    Netty源码—6.ByteBuf原理二
    查看>>