博客
关于我
.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/

    你可能感兴趣的文章
    Postman List类型传参方法
    查看>>
    Qt开发——QWebEngineView浏览器开发
    查看>>
    Qt开发——QThread多线程初探
    查看>>
    Postman —— 实现接口自动化测试!
    查看>>
    Qt开发——QStackedWidget嵌入式窗体切换
    查看>>
    Qt开发——QSplashScreen程序启动图
    查看>>
    Postman 内置的动态变量
    查看>>
    Qt开发——QProgressBar/QProgressDialog进度条
    查看>>
    Qt开发——QMouseEvent鼠标事件
    查看>>
    Postman 发送 post 请求,服务器接受到的却是 get 请求
    查看>>
    Qt开发——QFileSystemModel访问本机文件系统
    查看>>
    Qt开发——QChart初探之疫情确诊新增趋势图
    查看>>
    Postman 汉化(Postman中文版)
    查看>>
    Qt开发——Music Player暗黑风格音乐播放器
    查看>>
    QT序列化操作
    查看>>
    Postman+Newman+Git+Jenkins实现接口自动化测试持续集成
    查看>>
    Qt布局管理详解(5种布局控件)
    查看>>
    Qt工程转化为Vs工程
    查看>>
    postman下载教程linux,postman linux版
    查看>>
    QT嵌入式之_QT介绍_安装_以及环境变量配置---QT嵌入式图形框架工作笔记001
    查看>>