What it really is, not what it is
2010-07-20 08:21
399 查看
原文链接: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 是我杜撰的(当然,希望以后会说是我首创的,哈哈)。大家随意看看,极其欢迎讨论,提出你的想法与建议。
看了 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 是我杜撰的(当然,希望以后会说是我首创的,哈哈)。大家随意看看,极其欢迎讨论,提出你的想法与建议。
相关文章推荐
- Google Caffeine: What it really is
- OpenStack, What it really is?
- What Day Is It?(模拟)
- poj 1676 What time is it?
- HDU2133 What day is it
- A ship is always safe at the shore - but that is not what it is built for.
- 【转】The decoupling capacitor…is it really necessary?
- Android Eclipse Plugin “reset adb” gives “Adb connection Error:EOF” error, not blocking, but what is it?
- Lesson 1: What is design? Why is it important?
- Android 4.2 Feature Highlight: So, What Is This Miracast Thing And How Does It Work, Anyway?
- [翻译Joel On Software] “现在几点了”网站功能规范/WhatTimeIsIt.com Functional Specification
- ZOJ1256 UVA602 UVALive5474 What Day Is It?【日期】
- What Is UTF-8 And Why Is It Important?
- Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
- [JavaScript] How similar it is with Swing, so it seems coding swing is very helpful for me
- Composite Application Guidance - What is it?
- poj 1676 What time is it?(经典模拟)
- MySpace Unraveled: What it is and how to use it safely
- (直接存取类线性表4.1.2)UVA 602 - What Day Is It?(数组的应用---日期系统的转换)