那些年用过的UI开发平台
屈指算来,在我不长也不能算短的职业生涯中,接触了数代 的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作为松耦合的解释型语言,除了带来便捷之外还带了无数的负面衍生品,譬如安全,譬如代码低可读性、低可维护性等等。
那些年用过的UI开发平台的更多相关文章
- Bootstrap:UI开发平台 sdk
Bootstrap:UI开发平台 Bootstrap是一个易用.优雅.灵活.可扩展的前端工具包,里面包含了丰富的Web组件,包括布局.栅格.表格.表单.导航.按钮.进度条.媒体对象等,基于这些组件,可 ...
- UI标签库的话题:JEECG智能开发平台 BaseTag(样式表和JS标签的引入)
UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签) 1.BaseTag(样式表和JS引入标签) 1.1. 演示样例 <t:base type="jquer ...
- 漫谈GUI开发—各种平台UI开发概况
前言: 在看这边文章前,可以建议看下:图形界面操作系统发展史——计算机界面发展历史回顾 从CS到BS,现在的前端开发,其实也是GUI开发范畴.现今 各平台的UI开发概况 HTML&CSS,Wi ...
- Java快速开发平台,JEECG 3.7.7闪电版本发布,增加多套主流UI代码生成器模板
JEECG 3.7.7 闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升 ⊙提供5套新的主流UI代码生成器模板(Bootstrap表单+Boots ...
- UI标签库专题二:JEECG智能开发平台Column(列) 子标签
UI标签库专题二:JEECG智能开发平台Column(列) 子标签 1.1. Column(列) 子标签 1.1.1. 演示样例 <t:dgCol title="年龄" ...
- winform快速开发平台->让有限的资源创造无限的价值!
最近一直在维护一套自己的快速开发平台. 主要应对针对C/S架构下的项目.然而对winform这快,还真没有看到过相对好的快速开发平台, 何为快速,在博客园逛了了好久, 预览了很多通用权限管理系统. 确 ...
- 企业 SOA 设计(2)–组件化产品开发平台
上一篇<企业 SOA 设计(1)–ESB 设计>中,写到我们的 SOA 设计分为两个层面来进行:一个是系统间的 SOA 设计,主要通过 ESB 来完成:另一方面则是单个应用系统内部的 SO ...
- 搭建基于 STM32 和 rt-thread 的开发平台
我们需要平台 如果说,SharePoint 的价值之一在于提供了几乎开箱即用的 innovation 环境,那么,智能设备的开发平台也一样.不必每次都从头开始,所以需要固定的工作室和开发平台作为创新的 ...
- SuperMap iClient 7C——网络客户端GIS开发平台 产品新特性
SuperMap iClient 7C是空间信息和服务的可视化交互开发平台,是SuperMap服务器系列产品的统一客户端.产品基于统一的架构体系,面向Web端和移动端提供了多种类型的SDK开发包,帮助 ...
随机推荐
- Cocos Creator 通用框架设计 —— 资源管理
如果你想使用Cocos Creator制作一些规模稍大的游戏,那么资源管理是必须解决的问题,随着游戏的进行,你可能会发现游戏的内存占用只升不降,哪怕你当前只用到了极少的资源,并且有使用cc.loade ...
- 不就是SELECT COUNT语句吗,竟然能被面试官虐的体无完肤
数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查. 在数据库的增删改查操作中,使用最频繁的就是查询操作.而在所有查询操作中,统计数量操作更 ...
- burp插件之xssValidator
0x01 安装环境 Phantomjs 下载:http://phantomjs.org/download.html 下载后配置环境变量,把bin目录下的这个exe加入环境变量 xssValidator ...
- dnn文本分类
简介 文本分类任务根据给定一条文本的内容,判断该文本所属的类别,是自然语言处理领域的一项重要的基础任务.具体的,本任务是对文本quey进行分类,任务流程如下: 收集用户query数据. 清洗,标记. ...
- ARM64架构下,OpenJDK的官方Docker镜像为何没有8版本
为什么需要ARM64架构的OpenJDK8的Docker镜像 对现有的Java应用,之前一直运行在x86处理器环境下,编译和运行都是JDK8,如今在树莓派的Docker环境运行(也可能是其他ARM环境 ...
- Servlet处理原生Ajax请求
萌新小白人生中的第一篇博客,难免会有差错,还望各位大佬多多包涵. 1. Ajax技术简介 Ajax(Asynchronous JavaScript and XML,异步JavaScript和 ...
- 模块基础 day15
目录 模块的四种形式 内置模块 pip安装的模块 自定义模块 包(模块) import和from···import 循环导入 模块的搜索路径 python文件的两种用途 模块的四种形式 模块就是一系列 ...
- python *args,**kwargs参数
实际上,关键的是*和** 我们以三个例子来解释: 普通的使用参数: def test1(arg): print(arg) test1("a") 输出: a *是将剩下的参数用元祖表 ...
- 我发现了Unity3D的2D Light Renderer, 随后就把它抄了过来
. 前几个月,偶然在群里看到有人讨论Unity3D光照,于是我又萌生了一个新的目标----把它抄过来! . 众所周知,3D渲染的整个流水线都跟光照密不可分,相关的技术更是数不甚数,而2D游戏的光照通常 ...
- 设计模式C++描述----15.策略(Strategy)模式
一. 举例说明 以前做了一个程序,程序的功能是评价几种加密算法时间,程序的使用操作不怎么变,变的是选用各种算法. 结构如下: Algorithm:抽象类,提供算法的公共接口. RSA_Algorith ...