微软开发技术发展

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微软开发技术发展相关的知识,希望对你有一定的参考价值。

加个链接:微软软件开发技术二十年回顾(转):从win32到.net

 

要了解微软开发技术的发展,以及当前技术的整体结构,先区别以下名词

  1. API 接口的变化
    1. 刚开始我就是分不清这个的,WPF / MFC / COM / .net傻傻分不清楚
    2. 这个主要是在Windows平台开发
  2. 编程语言
  3. GUI / 技术
    1. MFC/QT/WPF/UWP
  4. .net/java VM机制,即时编译(JIT)跨平台
    1. 稍后再讲

   

API

   

  1. dos/win16
  2. win32:时代
  3. winFX
  4. COM组件技术
  5. DNA:对应基于COM的分布式架构,在.Net中被相应技术取缔
  6. .NetCOM演化发展而来

   

发展路线

   

  1. 从面向过程到面向对象
    1. 不受设备约束
    2. 事件驱动,将控制权转移

   

GUI

   

  1. 手动码GUI类库。。。
  2. MFCC++GUI开发。
    1. Win32函数的包装,大而复杂
    2. 对应C++/CX,使用C++开发windows应用程序。
    3. 相应QT类库 GUI开发,可在Linux上使用
    4. 个人观点:windows下开发用C#挺好。而且如果有C++基础学C#基本上快的很,最多一两星期搞定。语言并不是问题,对应需求才是问题。(好吧最后一句是我臆测的= =
  3. WPF:基于矢量绘图引擎的图形界面技术
  4. UWPWindows10 通用应用界面开发技术
    1. UWP/WPF都使用XAML
    2. 除了一小部分差别之外基本上都差不多,即WPFUWP很容易
    3. windows10越流行,UWP越是大势所趋

   

跨平台 VM 即时编译

   

  1. java:符合统一标准,或实现相同环境,即可实现"一次编译,到处执行"
    1. 目标机必须装有 jvm
    2. JVM 屏蔽 CPU/OS 等接口,代码运行在 JVM
    3. 当然,如果调用VM没有的就不能实现跨平台了
      1. 比如说Windows接口,android独有接口
  2. .net.net平台屏蔽 CPU/OS 等接口差异,而后再即时编译为本机代码。
    1. JVM 不同的是,Java 运行在 JVM 中,而 .net 只是一个中间平台,将代码生成中间语言(CLI)而后即时编译生成本机代码
      1. 即"一次编写,到处编译"
      2. 同样,要求目标机有 .net 平台
  3. C++/C:符合统一标准,或实现相同环境,即可实现"一次编写,到处编译"。
    1. 目标机有编译器就好了,相对灰常轻量高效
  4. py/JS:解释语言,只要目标机有解释程序,就可以"一次编写,到处解释",感觉很高大上的样子,好像比编译/运行NB多了。。。

从win32到.net

以上是关于微软开发技术发展的主要内容,如果未能解决你的问题,请参考以下文章

微软 Build 2017 开发者大会:Azure 与 AI 的快速发展

微软 Build 2017 开发者大会:Azure 与 AI 的快速发展

从微软最新战略看我国操作系统发展

2020年11月微软会发布.Net5,C#可以一统江湖了吗?

AJAX 概念 优势 发展前景 工作原理 底层技术 状态 缺点 框架

AJAX 概念 优势 发展前景 工作原理 底层技术 状态 缺点 框架