闲聊桌面应用开发[Win16->Win32->ATL/WTL/MFC->WinForm->WPF/Silverlight/WinRT]-阿里云开发者社区

开发者社区> 狗尾巴呢> 正文

闲聊桌面应用开发[Win16->Win32->ATL/WTL/MFC->WinForm->WPF/Silverlight/WinRT]

简介: 闲来无聊,正好小组人员讨论到桌面的开发,那把笔者接触的WIndows平台下的几个主要的发展过程聊一聊。 主要从概述,参考资料,图书等几个方面说起。 所有的界面开发都会涉及如下的几个方面的内容: v 控件 [Contrrols Widget]及验证 v 绑定:数据绑定到控件和控件的内容反馈回数据 v 布局系统: v 模式和支撑:和服务的通讯,MVC MVP MVVM等模式 史前期->WIN16 这个主要是Windows3.x的时代,这个时代笔者接触的不是很多,当年也主要是使用体验了。
+关注继续查看

闲来无聊,正好小组人员讨论到桌面的开发,那把笔者接触的WIndows平台下的几个主要的发展过程聊一聊。

主要从概述,参考资料,图书等几个方面说起。

所有的界面开发都会涉及如下的几个方面的内容:

v 控件 [Contrrols Widget]及验证

v 绑定:数据绑定到控件和控件的内容反馈回数据

v 布局系统:

v 模式和支撑:和服务的通讯,MVC MVP MVVM等模式

史前期->WIN16

这个主要是Windows3.x的时代,这个时代笔者接触的不是很多,当年也主要是使用体验了。当年买了很多的3寸5寸的软盘把系统安装拷贝进去,找机房尝试使用了。

相比于DOS,打开了一个全新的窗口。

石器时代->Wind32

随着Windows 95 9x系列的发布,系统软硬件发生了翻天覆地的变化,此时的代码开发还是相当的原始,WinMain函数和消息循环每每都是手工的构建。当前笔者在最早的Windows CE系统构建工具软件就是完全使用WIN32编写的[当时对软件的大小要求很高],不过通过这个对整个的窗口程序的运行机理还是很清晰的。

开发工具上当时还流行的VC1.52 Borland C++[李维在borland的书有详细介绍]。

参考图书

Win32 API参考手册

Windows 程序设计(Charles petzold)

这些可以说是很经典的资料,至于网络资料,这时还很少。

铜器时代->Atl/Wtl/MFC

这个时期的经典工具VC6,到目前也有很多地方在用。VS开发工具也树立了霸主的地位。

v 控件

n 此时Spy可以看到一个软件的窗口句柄,后来由于这样的方式对资源消耗较大,DirectUI出现改进了控件的处理模式

v 绑定

n DDX UpdateData的使用也算是提供了一定的解决方案

v 布局系统:

n 很多是手动处理,还可以使用一些第三方的封装库

v 模式和支撑:

n 较少

参考图书

深入浅出MFC (侯捷)

深入解析ATL

网站

Codeguru.com

Codeproject.com

Vckbase.com

这些是比较常用的网站

铁器时代->WinForm

v 控件

n 沿袭MFC的形式进行了扩充

v 绑定

n 有改善

v 布局系统:

n 有较大改进

v 模式和支撑:

n MVP等Pattern and Practices开始在MSDN出现

WinForm算是比较短命的一个解决方案,后续被WPF/Sliverlight这类取代

参考图书

CLR Via C#

现代->WPF/Sliverlight/WinRT

这个作为微软.net战略的重点,和WCF WF WPF这三架马车,起到了一个重要的一环。

WPF这个界面框架针对以前的界面核心有显著的变化。

这个过程中出现的JavaFX没有造成冲击,随着sun的被收购归于沉寂。

v 控件:

n 很完善,而且可以方便定制

v 绑定:

n 双向绑定的优秀支持

v 布局系统:

n 相比以前很全面,有大幅度的提升

v 模式和支撑:

n MVP MVVM等大量实现

参考图书

WPF揭秘

WPF核心技术

WPF专业编程指南

Silverlight揭秘

网站

Codeplex.com 微软现在官方的开源站点,很多的开源代码都在这发布,如Pattern and Practices, Ado.net Entity等

由上可见整个桌面应用的开发历史发展随着软件硬件的发展而显著的发生着变化,很多人会说,每个都跟踪岂不是很累,其实,这些内容主要精通1个,再学习新的内容时都很快。毕竟再怎样发展,其核心的思想部分仍然是一致的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
用Android模拟器也可以开发和测试NFC应用
       从Android2.3开始支持NFC。不过NFC应用只能在Android手机(或平板电脑)上测试和开发,而且Android手机还必须有NFC芯片。
940 0
github for windows 桌面版使用方法
  首先得去下载github for windows,搜索下GitHub Desktop就可以找到,然后安装   打开软件进入主界面,选择右上角的设置按钮,会弹出下拉菜单,选择options   没一个帐号绑定,点击...
600 0
Win7 配置Android开发环境
  一、安装 JDK   下载JDK最新版本,下载地址如下:   http://www.oracle.com/technetwork/java/javase/downloads/index.html   这里我下载的是: Java SE Development Kit 6u24 for Windows x64, Multi-language,即这个文件:jdk-6u24-windows-x64.exe   下载后安装。
1183 0
微软证实新版Silverlight将具备离线应用功能
据国外媒体报道,微软开发者部门总经理约翰·凯思(John Case)周一证实,微软网页浏览器插件Silverlight不久后将具备离线(offline)应用功能。简而言之,微软Silverlight是用 于播放媒体文件和显示交互式网络应用程序的网页浏览器插件,其主要竞争产品为Adobe的Flash播放器。
592 0
win10电脑桌面便签怎么固定在桌面?
win10电脑桌面便签怎么固定在桌面? win10系统自带的sticky notes和win7系统便笺一样,只能在桌面上显示便签内容,无法把便签固定在电脑桌面。
3838 0
+关注
狗尾巴呢
从事研发20年 涉及桌面软件、嵌入式设备、C/S分层系统、B/S业务系统、互联网系统等等各类系统 语言涉及C/C++ .net系统 java系列 前端系列等等不同的类别 主控和主导了国家863项目,企业业务应用系统,自然语言翻译系统,数据库审计等系列的软件研发
435
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载