微软开发技术发展
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微软开发技术发展相关的知识,希望对你有一定的参考价值。
加个链接:微软软件开发技术二十年回顾(转):从win32到.net
要了解微软开发技术的发展,以及当前技术的整体结构,先区别以下名词
-
API 接口的变化
- 刚开始我就是分不清这个的,WPF / MFC / COM / .net傻傻分不清楚
- 这个主要是在Windows平台开发
- 编程语言
-
GUI 库 / 技术
- MFC/QT/WPF/UWP
-
.net/java VM机制,即时编译(JIT)跨平台
- 稍后再讲
API
- dos/win16
- win32:时代
- winFX
- COM组件技术
- DNA:对应基于COM的分布式架构,在.Net中被相应技术取缔
- .Net:COM演化发展而来
发展路线
-
从面向过程到面向对象
- 不受设备约束
- 事件驱动,将控制权转移
GUI
- 手动码GUI类库。。。
-
MFC:C++GUI开发。
- 对Win32函数的包装,大而复杂
- 对应C++/CX,使用C++开发windows应用程序。
- 相应QT类库 GUI开发,可在Linux上使用
- 个人观点:windows下开发用C#挺好。而且如果有C++基础学C#基本上快的很,最多一两星期搞定。语言并不是问题,对应需求才是问题。(好吧最后一句是我臆测的= =)
- WPF:基于矢量绘图引擎的图形界面技术
-
UWP:Windows10 通用应用界面开发技术
- UWP/WPF都使用XAML,
- 除了一小部分差别之外基本上都差不多,即WPF转UWP很容易
- windows10越流行,UWP越是大势所趋
跨平台 VM 即时编译
-
java:符合统一标准,或实现相同环境,即可实现"一次编译,到处执行"
- 目标机必须装有 jvm!
- 由 JVM 屏蔽 CPU/OS 等接口,代码运行在 JVM 中
-
当然,如果调用VM没有的就不能实现跨平台了
- 比如说Windows接口,android独有接口
-
.net:.net平台屏蔽 CPU/OS 等接口差异,而后再即时编译为本机代码。
-
与 JVM 不同的是,Java 运行在 JVM 中,而 .net 只是一个中间平台,将代码生成中间语言(CLI)而后即时编译生成本机代码
- 即"一次编写,到处编译"
- 同样,要求目标机有 .net 平台
-
-
C++/C:符合统一标准,或实现相同环境,即可实现"一次编写,到处编译"。
- 目标机有编译器就好了,相对灰常轻量高效
- py/JS:解释语言,只要目标机有解释程序,就可以"一次编写,到处解释",感觉很高大上的样子,好像比编译/运行NB多了。。。
从win32到.net
以上是关于微软开发技术发展的主要内容,如果未能解决你的问题,请参考以下文章
微软 Build 2017 开发者大会:Azure 与 AI 的快速发展
微软 Build 2017 开发者大会:Azure 与 AI 的快速发展
2020年11月微软会发布.Net5,C#可以一统江湖了吗?