What it really is, not what it is

本文深入分析了UI控件的分类方式演变,从传统按外观分类到现代按功能抽象,提出了构建UI组件的新思路,如通过Switchable抽象实现复杂UI控件的实现方式。并展望了UI3.0时代的可能,即以功能基类为基础的UI设计。结合实例和思考,文章为UI设计者提供了一种新的视角。

 

原文链接:http://lifesinger.org/blog/2010/07/what-it-really-is-not-what-it-is/

看了 infinte 的这篇文章:再见,Button;你好,Command, 和我这半年的一些想法很相近,本质是对 UI Controls 的再次抽象分类。

传统的 UI 控件分类,体现的是 what is looks like, 比如 Menu, Button, Tabs, Toolbar, Dialog, Grid, Tree 等等。

近期新近的一些 UI 类库比如 jQuery EasyUI, 开始逐步抽象出 Draggable, Droppable, Resizable 等 Base 功能点,这些形容词已经逐步开始从 what to do, not what it is 层面开始抽象。虽然 EasyUI 最后体现出来的依旧是 Menu, Dialog, Tree 等传统 UI 控件,但抽象层次和代码组织等已经逐步演化。

 

前不久在 InfoQ 发过一篇文章:构建 UI 组件的新思路, 介绍了 KISSY 类库中,通过 Switchable 抽象,实现 Tabs, Slide, Album 等 UI 控件的思路,抽象的出发点是 what it really is, not what it is.

结合 infinte 的想法,画了一个还比较混乱的图:


 

 

 

 

或许 UI 3.0 的时代真的来临了!

比如 Autocomplete(自动补全组件)或 Suggest(搜索提示组件),可以这样实现:

 

    Suggest = Widget.combine(DataProvider, Overlay, Selectable);

 

在现实生活中,我们需要实现一个复杂实体时,经常用到的办法是将简单的实体组合起来。比如法拉利,是一堆汽车零件的组合。不同的法拉利,是选用的零件或组合方法有差异。类、继承等 OOP 概念,真的不是必须的。去掉后,世界照样清晰。

抽象、思考,思考、再抽象,多想想 what it really is, and what to do, not what it is. 我相信,未来是 UI 3.0 的世界!

infinte 的文章让我很激动,上面的想法还很不成熟,UI 3.0 是我杜撰的(当然,希望以后会说是我首创的,哈哈)。大家随意看看,极其欢迎讨论,提出你的想法与建议。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值