标题: 界面布局的新思路
Haohappy
超级版主
Rank: 8Rank: 8
PHPEye站长


UID 2
精华 11
积分 110
帖子 260
翻译 6
原创 1
阅读权限 150
注册 2007-5-2
状态 离线
发表于 2007-5-23 20:30  资料  短消息  加为好友  添加 haohappy 为MSN好友 通过MSN和 haohappy 交谈
界面布局的新思路

嗯,以前记得有人模仿Java Swing的方式来设计HTML的页面布局,就是除了常用的HTML控件之外,还有Layout这个控件,可以用于设计页面的布局。

比如说(以下代码是模仿Swing写的):

$layoutThree = new LayoutTreeColumn();  //三列的布局
$layoutTwo = new LayoutTowColumn(); //两列的布局

$page = new Page();
$page->setLayout($layoutThree);
$page->add($block1);  //为第一列增加内容,block为“块”内容
$page->add($block2);  //为第二列增加内容
$page->add($block3);  //为第三列增加内容

优点:代码可重用性高;
缺点:HTML从服务器端生成,复杂性增加

这种思路是否可取呢? 也许画虎不成反类犬呵呵,但讨论一下不妨。。既然JavaScript可以从服务器端生成,HTML也未必不能。

[ 本帖最后由 Haohappy 于 2007-5-23 20:34 编辑 ]

顶部
cid73
版主
Rank: 7Rank: 7Rank: 7



UID 40
精华 2
积分 25
帖子 32
翻译 0
原创 0
阅读权限 100
注册 2007-5-23
状态 离线
发表于 2007-5-24 02:36  资料  短消息  加为好友 
这种做法是一种巨大的进步. html 本身严重阻碍了 web 应用的发展, 我们除了要用有限的 html 标签表达出丰富多彩的页面, 还要和各种浏览器的不兼容做斗争. 我曾经为自己能够克服各种浏览器的的不兼容而沾沾自喜, 但是回首所作的工作却发现没有多少价值, web 应用的精髓不在界面, 而我却在界面制作上耗费了大量的时间.

看了 Bindows, Flex, 我才发现其实 UI 组件的抽象和服务器端组件的抽象一样重要, 它们都是应用软件不可或缺的组成部分.

顶部
diogin
版主
Rank: 7Rank: 7Rank: 7



UID 16
精华 1
积分 10
帖子 38
翻译 0
原创 0
阅读权限 100
注册 2007-5-4
来自 广东省广州市
状态 离线
发表于 2007-5-25 02:56  资料  短消息  加为好友 
我之前的设计就是一个页面分成多个block,每个block对应一个文件,同时绑定一个css文件。
这些block都嵌在layout模板里面,而且是动态嵌入的,也就是运行时嵌入。代码看起来跟Haohappy的有点不一样,但是思想是一样的,都是按逻辑“分块”,然后尽量保证这些块的可重用性。





The world is everything that is the case.
顶部
binzywu
版主
Rank: 7Rank: 7Rank: 7



UID 21
精华 3
积分 30
帖子 6
翻译 0
原创 0
阅读权限 100
注册 2007-5-8
状态 离线
发表于 2007-5-27 07:49  资料  短消息  加为好友  添加 binzywu 为MSN好友 通过MSN和 binzywu 交谈
XUL?

顶部
Haohappy
超级版主
Rank: 8Rank: 8
PHPEye站长


UID 2
精华 11
积分 110
帖子 260
翻译 6
原创 1
阅读权限 150
注册 2007-5-2
状态 离线
发表于 2007-5-31 21:18  资料  短消息  加为好友  添加 haohappy 为MSN好友 通过MSN和 haohappy 交谈


QUOTE:
原帖由 binzywu 于 2007-5-27 07:49 发表
XUL?

嗯,这种思想是很不错的,但用在HTML上实现起来太复杂。用上XUL上会更容易一点,但不是所有浏览器都不支持XUL,这又是个大问题。。

顶部
cid73
版主
Rank: 7Rank: 7Rank: 7



UID 40
精华 2
积分 25
帖子 32
翻译 0
原创 0
阅读权限 100
注册 2007-5-23
状态 离线
发表于 2007-6-1 01:08  资料  短消息  加为好友 
Bindows 可以试一下. http://www.bindows.net/bindows/samples/applauncher/ 这里是一些范例, 左边的树是应用 XML 文件, 点击一下右边就是文件内容, 双击文件名启动应用. Bindows 和 PHP 结合有优势, 因为可以用 PHP 来生成 XML 文件, 不过也是劣势, 因为不能把 XML 编译成 JavaScript 而是实时解释. 还可以试试 Qooxdoo, 写一些 JavaScript 就可以, 编译型的, 但是编译器写的不怎么样(用 Python 写的), 很多使用闭包的高级技巧发挥不出来.

顶部
Haohappy
超级版主
Rank: 8Rank: 8
PHPEye站长


UID 2
精华 11
积分 110
帖子 260
翻译 6
原创 1
阅读权限 150
注册 2007-5-2
状态 离线
发表于 2007-6-1 09:16  资料  短消息  加为好友  添加 haohappy 为MSN好友 通过MSN和 haohappy 交谈
Bindows感觉太慢了。Delphi for PHP就是用的Qooxdoo做的DataGrid,也很慢,在本地都感觉得出来。
http://blog.csdn.net/Haohappy2004/archive/2007/04/27/1586799.aspx

另外,关于XUL,ZK是个不错的东西,在SF上现在挺热的。它的作者以前有邀请我加入做PHP的版本,但我一直没空,就不了了之。
http://sourceforge.net/projects/zk1/

顶部
cid73
版主
Rank: 7Rank: 7Rank: 7



UID 40
精华 2
积分 25
帖子 32
翻译 0
原创 0
阅读权限 100
注册 2007-5-23
状态 离线
发表于 2007-6-1 22:16  资料  短消息  加为好友 
Backbase 怎样? 也是 XML, 速度也还可以, 没有免费版本.

顶部
Haohappy
超级版主
Rank: 8Rank: 8
PHPEye站长


UID 2
精华 11
积分 110
帖子 260
翻译 6
原创 1
阅读权限 150
注册 2007-5-2
状态 离线
发表于 2007-6-1 23:27  资料  短消息  加为好友  添加 haohappy 为MSN好友 通过MSN和 haohappy 交谈
没用过。没有免费版本还是算了。。

顶部
aeoluszzf
新手上路
Rank: 1



UID 997
精华 0
积分 0
帖子 1
翻译 0
原创 0
阅读权限 10
注册 2008-4-12
状态 离线
发表于 2008-4-12 21:07  资料  短消息  加为好友 
个人以为前端模板组装是比较有前景的方案。
服务器端输出所有的代码是不是浪费带宽了一点

顶部
 


PHPEye开源社区


当前时区 GMT+8, 现在时间是 2008-9-7 16:17

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.014368 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - PHPEye开源社区 - Archiver