C#上位机开发概述(学习笔记1)
1.简史
2002 发布C# 1.0(.Net Framework 1.0) 和 VS2002。
2014 为了解决市场占有率不高以及不能跨平台等问题,.NET Core 发布并开源。
2020 .NET5.0发布,去掉Core字样,并宣布.Net Framework4.8是.Net Frmaework的最后一个版本。
2021 .NET6.0发布,发布跨平台框架MAUI,才真正解决桌面程序跨平台问题。。
2022 .Net7.0发布,统一了各种开放平台。
之后几乎每年一个大版本。
2. .Net Framework 和 .Net Standard
核心是公共语言运行库(CLR),托管程序就是在CLR中运行。
CLR 包括基本类型系统(CTS),垃圾回收,各种控件等等。
.Net Standard是基本类型,是CLR的底层,实现了各平台统一个的基本操作,例如I/O,线程,数据类型等等。无论是.Net Framework,还是.Net Core都是基于.Net Standard.
作用:为了解决生态系统的一致性。例如windows平台和linux平台对线程的操作就可以统一起来。
从.Net 5.0开始用新的方法建立一致性,不再依赖.Net Standard。
3. .NetCore/.Net
.NetCore的出现是为了解决跨平台的问题。
.NetCore 与 .Net Framework是子集和超集的关系,可以简单认为是 .Net Framework 的 跨平台版本。.NetCore 的大部分代码都是从.Net Framework继承过来的。
从5.0开始去掉了Core。
6.0推出了跨平台UI程序框架MAUI.
4. Natice和Managed程序
Natice:原生程序,由操作系统直接运行,速度快。
Managed:托管程序,需要编译成CIL(通用中间语言)代码,在CLR中运行,以往速度慢,现在随着微软不断优化,两者相差不大。
5. VS执行模式
-
debug: 调试模式,用于开发,里面包含了大量的调试信息,而且不做任何优化。
-
release: 发布模式,用于最终用户,不含有调试信息,各种优化,达到代码最小和速度最优。
6. WinForm和WPF
- WinForm: Windows Form Program的简称,是.Net平台对传统win32 API的封装,提供很多常用的控件,是一种GUI的快速开发框架。
在图形显示上有一定的缺陷,特别是在高DPI下显示与设计是不一致,这一问题在.NET6.0中得到了一定的解决。 - WPF:windows presentation foundation的简称,新一代GUI开发框架,采用XAML规范,实现了界面设计与业务逻辑处理的分离,界面美观酷炫。
上手比WinForm难,学习成本较高.
建议:项目开发用WinForm,产品用WPF。
7. 程序执行机制
- PLC:循环进行的逐行扫描,从上电后开始执行程序第一句,一致到最后语句,然后再循环。
- Windows的程序执行机制:事件驱动。
程序注册需要监听的消息给操作系统,操作系统收到后将消息转给程序处理。
8. Runtime
对于没有安装.Net Framework或.Net程序的,如果想要运行.Net开发的程序,需要安装Runtime。
- windows操作系统内置了Runtime,例如win7是3.5.
- Runtime共有三个版本,常用的是.Net Desktop Runtime和ASP.Net Core Runtime,前者用于运行桌面应用,后面运行Web程序。
本文来自博客园,作者:huiy_小溪,转载请注明原文链接:https://www.cnblogs.com/huiy/p/19221223

浙公网安备 33010602011771号