屈指算来,在我不长也不能算短的职业生涯中,接触了数代 的UI技术:

  • MFC (Microsoft Foundation Class)- Win32上最强大的Class Library,没有之一。VS唯一的对手Borland出品的C++ Builder同样支持MFC。在Win32时代,MFC配合强大的C++,将MVC Pattern普及到前所未有的地步。虽然我的C++生涯中,使用MFC做界面的时间并不长,但作为当年混迹在CodeProject, CodeGuru的老读者,下载过也尝试过当年那些Rate很高的Control,记得,当年很炫的功能基本都是MFC做出来的,印象比较深的有Docking等等。前不久,偶然发现,现在的Visual Studio Wizard可以轻松生成Docking的框架,真是很有沧桑感。
  • WTL (Windows Template Library) - 这是让当前的CodeProject上口碑极佳的一套类库,依旧是Microsoft的风格——Microsoft用宽容的态度,在MFC所向披靡的情况下,同意了这套类库的产生(据称是ATL团队开发),然后亲手将其扼杀在摇篮。现在想来,这套类库能脱颖而出,可能需要归功于其template的技术基础。如果说COM让功力深厚的Microsoft大拿们都需要花费6个月时间才能顿悟的话,那这套全template的类库无疑给拓展和维护带来了噩梦的感觉。不记得是去年还是前年,我依旧遇到过一个不知template/Generic Programming为何物的C++/Java/C#的程序员却敢在简历上写“精通C++/Java/C#”。
  • WinForm - .Net的开山之作,也是.Net在界面开发层面交出的第一份答卷。很难说这个界面算是成功还是失败,只是我常用的软件中几乎见不到这个类库的成品。我想其根本的原因是其本身无亮点——性能可拓展性都拼不过MFC,而且,随后.Net 3.0版本中,WPF横空出世。
  • WPF - (Windows Presentation Framework),这是Microsoft对UI技术的一次大的变革,不仅在底层从之前的GDI/GD+转换到了DirectX,而且它还统一了Windows平台上界面设计的近乎方方面面。个人觉得,WPF对整个软件行业UI技术最大的革命在于Binding,注意,这个Binding并非常见的Data层面的绑定,而是包含了Command的绑定,换言之,通过Binding理论上可以分开界面设计人员(可以完全不懂代码技术,关注与XAML文件)和代码开发人员(可以彻底不关心界面展现,关注与代码文件),我想,正是基于这个技术平台,Microsoft推出了Blend来配套Visual Studio。基于WPF上的Silverlight成了Microsoft对抗Adobe Flash的不二之选,而随着WPF的发展,PM, MVVM等开发模式又掀起了新一轮谈论,这当然也是软件进化的必然。
  • ASP.Net - 只是粗略看过一下ASP.Net的入门书籍,但ASP.Net在今天还是Microsoft在网络开发上的拳头武器,想必,也有些过人之处吧。
  • HTML5 - 趁着被抓去开发HTML5程序的两个星期,仔细的从HTML5,CSS到JavaScript认真的学了一遍,当然,短短两个星期只能窥豹一斑,但对整个HTML5有了粗略的认知——这是一个尚待成长的平台:其呈现效果、支持程度和调试都完全依赖于Browser,即便支持程度最好的Chrome也一样有各种Gap。同时,JavaScript作为松耦合的解释型语言,除了带来便捷之外还带了无数的负面衍生品,譬如安全,譬如代码低可读性、低可维护性等等。
原本只是本来打算继续写我的Caliburn.Micro学习系列,没想到扯了一路的UI技术,算是纪念吧。
 

那些年用过的UI开发平台的更多相关文章

  1. Bootstrap:UI开发平台 sdk

    Bootstrap:UI开发平台 Bootstrap是一个易用.优雅.灵活.可扩展的前端工具包,里面包含了丰富的Web组件,包括布局.栅格.表格.表单.导航.按钮.进度条.媒体对象等,基于这些组件,可 ...

  2. UI标签库的话题:JEECG智能开发平台 BaseTag(样式表和JS标签的引入)

    UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签) 1.BaseTag(样式表和JS引入标签) 1.1. 演示样例 <t:base type="jquer ...

  3. 漫谈GUI开发—各种平台UI开发概况

    前言: 在看这边文章前,可以建议看下:图形界面操作系统发展史——计算机界面发展历史回顾 从CS到BS,现在的前端开发,其实也是GUI开发范畴.现今 各平台的UI开发概况 HTML&CSS,Wi ...

  4. Java快速开发平台,JEECG 3.7.7闪电版本发布,增加多套主流UI代码生成器模板

    JEECG 3.7.7 闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升           ⊙提供5套新的主流UI代码生成器模板(Bootstrap表单+Boots ...

  5. UI标签库专题二:JEECG智能开发平台Column(列) 子标签

    UI标签库专题二:JEECG智能开发平台Column(列) 子标签  1.1. Column(列) 子标签 1.1.1. 演示样例 <t:dgCol title="年龄" ...

  6. winform快速开发平台->让有限的资源创造无限的价值!

    最近一直在维护一套自己的快速开发平台. 主要应对针对C/S架构下的项目.然而对winform这快,还真没有看到过相对好的快速开发平台, 何为快速,在博客园逛了了好久, 预览了很多通用权限管理系统. 确 ...

  7. 企业 SOA 设计(2)–组件化产品开发平台

    上一篇<企业 SOA 设计(1)–ESB 设计>中,写到我们的 SOA 设计分为两个层面来进行:一个是系统间的 SOA 设计,主要通过 ESB 来完成:另一方面则是单个应用系统内部的 SO ...

  8. 搭建基于 STM32 和 rt-thread 的开发平台

    我们需要平台 如果说,SharePoint 的价值之一在于提供了几乎开箱即用的 innovation 环境,那么,智能设备的开发平台也一样.不必每次都从头开始,所以需要固定的工作室和开发平台作为创新的 ...

  9. SuperMap iClient 7C——网络客户端GIS开发平台 产品新特性

    SuperMap iClient 7C是空间信息和服务的可视化交互开发平台,是SuperMap服务器系列产品的统一客户端.产品基于统一的架构体系,面向Web端和移动端提供了多种类型的SDK开发包,帮助 ...

随机推荐

  1. 微信小程序前端页面书写

    微信小程序前端页面书写 WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. 一.数据绑定 1. 普通写法 <view ...

  2. 安装VMware Tools显示灰色正确解决办法

    首先问题如下: 解决办法如下:1.关闭虚拟机: 2.在虚拟机设置分别设置CD/DVD.CD/DVD2和软盘为自动检测三个步骤: 3.再重启虚拟机,灰色字即点亮. 大功告成,如果解决了你的问题,点个赞鼓 ...

  3. CSS核心问题

    本文将讲述 CSS 中最核心的几个概念,包括:盒模型.position.float等.这些是 CSS 的基础,也是最常用的几个属性,它们之间看似独立却又相辅相成.为了掌握它们,有必要写出来探讨一下,如 ...

  4. ‎Cocos2d-x 学习笔记(13) ActionEase

    ActionEase是ActionInterval的子类,能够变速执行动作.把内部动作进行了包装,通过传进update的time,加上不同的计算公式,算出新的time,作为内部动作的time,实现了内 ...

  5. gperftools::TCMalloc

    VS2013编译gperftools-2.4 1)https://github.com/gperftools/gperftools  下载   gperftools-2.4.zip  版本.2)解压  ...

  6. python学习-列表、元组和字典(三)

    学习笔记中的源码:传送门 3.1 列表和元组 3.2 不同类型变量的初始化: 数值 digital_value = 0 字符串 str_value = "" 或 str_value ...

  7. redis之PubSub

    前面我们讲了 Redis 消息队列的使用方法,但是没有提到 Redis 消息队列的不足之处,那就是它不支持消息的多播机制. 消息多播 消息多播允许生产者生产一次消息,中间件负责将消息复制到多个消息队列 ...

  8. 一文读懂Java类加载机制

    Java 类加载机制 Java 类加载机制详解. @pdai Java 类加载机制 类的生命周期 类的加载:查找并加载类的二进制数据 连接 验证:确保被加载的类的正确性 准备:为类的静态变量分配内存, ...

  9. 通过反射来手写简单的ORM SQlserver

    不说废话,直接上干货,如发现问题,欢迎大家指出,谢谢! //------------------------------------MySQlServerORM [简单 CURD] using Sys ...

  10. SpringBoot与热部署整合(五)

    一 Idea pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifa ...