/dotnet-guide

.NET 是由微软开发的跨平台框架,可用于构建各种类型的应用程序,包括桌面应用、Web 应用、移动应用、游戏和云服务

.NET 介绍

.NET是一个免费、开源 & 跨平台的开发框架。

  • 编程语言
    • C#
    • F# 以及另外一些编程语言
  • 工具
    • Visual Studio
    • Visual Studio Code
    • JetBrains Rider

.NET和.NET Framework的区别

.NET .NET Framework
运行在Linux、macOS & Windows 仅仅运行在Windows
开源 & 接受社区贡献 代码可用但不接受新的贡献
持续不断创建!支持更多应用程序类型和高性能交付 安全 & 可靠 仅仅修复bug
不随操作系统一起提供 包含在Windows & 随着Windows而更新
推荐使用开发新的应用程序

为什么要选择.NET

  1. 高效性

    .NET 提供了像泛型、LINQ 和异步编程等先进的语言特性,以及丰富的类库和多语言支持,为开发者提供了强大的工具。Visual Studio 家族为开发者提供了强大的工具支持,实现了无缝的开发体验,而我们的免费开发者计划则提供了构建和部署应用程序所需的所有资源。

  2. 通用性

    .NET可以开发运行在任何平台上的任何的应用程序。开发人员可以重用自己的技能,而不用针对不同平台再单独学一门编程语言。这意味着开发人员可以更快地构建应用程序,并且成本更低。从iOS、Android移动客户端应用程序再到Windows PC客户端应用程序, 再到Windows Server 和 Linux 上的服务器应用程序,或者在各大厂家提供的云(AWS,Azure, GCP, 阿里云,华为云,腾讯云等)上运行的高性能,可扩展的微服务应用程序,所有的这些.NET 都为您提供了解决方案。

  3. 高性能

    .NET性能方面用一词来形容就是快!这意味着应用程序提供更快的响应时间,并且需要更少的计算资源。TechEmpower Benchmarks测试比较了 Web 应用程序框架在 JSON 序列化、数据库访问和服务器端模板渲染等任务中的性能 - .NET 的性能比任何其他流行框架都要快。

  4. 信赖和安全

    .NET平台由微软官方支持,受到成千上万家公司和数百万开发者的信赖。微软在安全问题非常重视,一旦发现威胁,就会迅速发布更新。

  5. 深受开发者喜欢

    .NET 是一个现代化、创新性、开源的开发平台,深受开发者喜爱。在连续三年(2019年、2020年和2021年)的 Stack Overflow 开发者调查中,.NET 被评为排名第一的最受喜爱的框架。C# 荣获TIOBE 2023年度编程语言。

.NET 可以构建哪些类型应用程序

思维导图

image

服务器端应用程序

  1. ASP.NET Core
    • MVC
    • Blazor
    • Web API
    • Minimal API
  2. 通信
    • REST
    • WebSockets
    • GraphQL
    • GRPC

云原生应用程序

  1. 容器
  2. 容器编排

Windows客户端应用程序

  1. WinForm
  2. WPF
  3. WinUI

跨平台应用程序

  1. .NET MAUI
    • Windows
    • MacOS
    • iOS
    • Android
  2. UNO Platform
    • Windows
    • MacOS
    • iOS
    • Android
    • WebAssembly
    • Linux
    • Tizen
  3. Avalonia UI
    • Windows
    • MacOS
    • iOS
    • Android
    • WebAssembly
    • Linux

控制台应用程序

  1. System.Console

    Micrsoft内置的控制台应用程序的接口类

  2. spectre.console
  3. CommandLineParser
  4. Colorful.Console
  5. PowerArgs
  6. 下面是使用C#开发的控制台应用程序的一些例子

    PowerShell
    dnSpy
    NuGet FluentTerminal
    Chocolatey
    GitVersion shellprogressbar

IOT(Internet of Things)应用程序

  1. System.Device.Gpio
  2. .NET nanoFramework
  3. Meadow
  4. IoTSharp
  5. MQTTnet
  6. Device.Net

数据库

  1. 关系型数据库
    • SQL Server
    • Postgresql
    • MySQL
    • SQLite
    • CosmosDB
  2. 非关系型数据库
    • RevenDB
    • MongoDB
  3. ORM 框架

AI/机器学习

  1. ML.NET
  2. TensorFlow.NET
  3. CNTK (Microsoft Cognitive Toolkit)
  4. BotSharp
  5. NumSharp

游戏开发

  1. Unity
  2. Godot
  3. CryEngine
  4. Flax Engine
  5. Stride
  6. MonoGame
  7. evergine
  8. FlatRedBall
  9. rbfx

Windows 客户端生态

思维导图

image

UI控件库

  1. 微软Visual Studio开发工具自带原生控件(免费)。
  2. DevExpress WPF 控件 (付费,商业)DevExpress UI库提供超过130个UI控件和工具,可帮助您交付高性能的企业级应用程序,满足并超越您企业的需求。
  3. Telerik WPF 控件 (付费,商业)Telerik UI 为您提供了构建美观且高性能的WPF应用程序的能力,同时支持最新的.NET版本。
  4. Actipro WPF 控件 (商业,付费)提供丰富的UI控件,助力打造精美的WPF桌面应用程序。
  5. ComponentOne Studio WPF控件 (商业,付费)拥有超过100个WPF UI控件。
  6. Syncfusion WPF 控件 (商业,付费)提供超过100个现代化的WPF UI控件,助力打造漂亮、高性能的企业级WPF应用程序。
  7. Ultimate WPF 控件(付费,商业) (商业,付费)创建高性能、仿微软® Office的桌面和触摸设备应用程序。包含100多个WPF控件库,包括高速网格和图表,以及动态数据可视化。
  8. Adonis-UI (免费、开源)提供给WPF应用程序的轻量级UI工具包,提供了经典但增强的Windows视觉效果。
  9. Extended WPF Toolkit (非商用免费,开源)用于创建下一代Windows应用程序的WPF控件、组件和实用工具。
  10. ControlzEx (免费、开源)WPF一套组件。
  11. HandyControl (免费、开源)包含一些常用的简单WPF控件。
  12. Material Design In XAML Toolkit (免费、开源)Material Design UI库和样式以及额外控件
  13. Material Design Extensions (免费、开源)Material Design Extensions基于Material Design in XAML Toolkit扩展,为WPF应用程序提供额外的控件和功能。
  14. ModernWPF UI Library (免费、开源)一套WPF控件和样式库。
  15. Nevron UI for Win/Mac (免费)Nevron WPF用户界面组件 | NOV .NET用户界面。
  16. Ookii Dialogs WPF (免费、开源)包含了WPF应用程序常用的对话框的类。
  17. WPFSpark (免费、开源)一个丰富的UserControl库,用于增强WPF应用程序的外观和感觉。
  18. WPF UI (免费、开源)基于现代微软Fluent Design系统的WPF应用程序的现代样式和控件。这是使您的WPF应用程序跟上现代设计趋势的简单方法。界面设计、颜色选择和控件外观受到了微软为Windows 11制作的项目的启发。

单个控件

  1. AvalonEdit (免费,开源)AvalonEdit是一款WPF的文本编辑器组件。
  2. CefSharp (免费,开源)CefSharp可以将Chromium浏览器嵌入到WPF和Winform控件中。
  3. ffmediaelement (免费,开源)ffmediaelement是一款基于FFmpeg的媒体播放器。
  4. Fluent.Ribbon (免费,开源)Fluent.Ribbon是一款类似于Office一个控件。
  5. LiveCharts2 (开源、免费) LiveCharts2是.NET跨平台的一个图形控件。
  6. ScottPlot (开源、免费) ScottPlot是一个交互式的图形库。

WPF 开发框架

  1. Prism (开源、免费)Prism是一个框架,用于在WPF和Xamarin Forms中构建松散耦合、可维护和可测试的XAML应用程序。
  2. Caliburn.Micro (免费,开源)Caliburn.Micro是一个小巧却功能强大的框架,专为跨所有XAML平台构建应用程序而设计。它对MV*模式提供了强大支持,使您能够快速构建解决方案,而不必牺牲代码质量或可测试性。
  3. FluentWPF (免费,开源)WPF的流畅设计系统
  4. MvvmCross (免费,开源)MvvmCross是一个跨平台解决方案的.NET MVVM框架,包括Xamarin.iOS、Xamarin.Android、Windows和Mac。
  5. ReactiveUI(免费,开源)ReactiveUI是一个先进的、模块化、函数式响应式MVVM框架,适用于所有.NET平台!
  6. Mahapps.Metro (免费、开源)Mahapps.Metro是一个WPF框架,让开发者能够用更少的工作量为他们的WPF应用程序创建出更好的UI
  7. GongSolutions.WPF.DragDrop 提供了拖拽式开发解决方案

引用

  1. https://github.com/Carlos487/awesome-wpf
  2. https://github.com/tbolon/awesome-dotnet-winforms