What really it 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 really it is, not what it is.
结合 infinte 的想法,画了一个还比较混乱的图:

或许 UI 3.0 的时代真的来临了!
比如 Autocomplete(自动补全组件)或 Suggest(搜索提示组件),可以这样实现:
Suggest = Widget.combine(DataProvider, Overlay, Selectable);
在现实生活中,我们需要实现一个复杂实体时,经常用到的办法是将简单的实体组合起来。比如法拉利,是一堆汽车零件的组合。不同的法拉利,是选用的零件或组合方法有差异。类、继承等 OOP 概念,真的不是必须的。去掉后,世界照样清晰。
抽象、思考,思考、再抽象,多想想 what really it is, and what to do, not what it is. 我相信,未来是 UI 3.0 的世界!
infinte 的文章让我很激动,上面的想法还很不成熟,UI 3.0 是我杜撰的(当然,希望以后会说是我首创的,哈哈)。大家随意看看,极其欢迎讨论,提出你的想法与建议。
建议继续学习:
- 构建前端 DSL (阅读:3625)
- 用 CSS3 Transitions 实现动画 (阅读:3231)
- 行进中的前端类库:KISSY (阅读:2940)
- KISSY 近期更新 & 设计思路讨论 (阅读:2857)
- 将你的 KISSY 程序移植到服务器端 (阅读:2870)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:lifesinger 来源: 岁月如歌
- 标签: dess KISSY really ui3
- 发布时间:2010-07-14 09:42:04
-
[783] WordPress插件开发 -- 在插件使用 -
[62] Java将Object对象转换为String -
[61] cookie窃取和session劫持 -
[59] 学习:一个并发的Cache -
[55] 你必须了解的Session的本质 -
[53] 再谈“我是怎么招聘程序员的” -
[52] Linux如何统计进程的CPU利用率 -
[50] 最萌域名.cat背后的故事:加泰与西班牙政府 -
[48] 我对技术方向的一些反思 -
[48] 解读iPhone平台的一些优秀设计思路
