PHPEye开源社区 » PHP周边技术讨论区 » 界面布局的新思路
《Programming PHP》第二版上市
2007-5-23 20:30 Haohappy
界面布局的新思路

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

比如说(以下代码是模仿Swing写的):
[code]$layoutThree = new LayoutTreeColumn();  //三列的布局
$layoutTwo = new LayoutTowColumn(); //两列的布局

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

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

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

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

2007-5-24 02:36 cid73
这种做法是一种巨大的进步. html 本身严重阻碍了 web 应用的发展, 我们除了要用有限的 html 标签表达出丰富多彩的页面, 还要和各种浏览器的不兼容做斗争. 我曾经为自己能够克服各种浏览器的的不兼容而沾沾自喜, 但是回首所作的工作却发现没有多少价值, web 应用的精髓不在界面, 而我却在界面制作上耗费了大量的时间.

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

2007-5-25 02:56 diogin
我之前的设计就是一个页面分成多个block,每个block对应一个文件,同时绑定一个css文件。
这些block都嵌在layout模板里面,而且是动态嵌入的,也就是运行时嵌入。代码看起来跟Haohappy的有点不一样,但是思想是一样的,都是按逻辑“分块”,然后尽量保证这些块的可重用性。

2007-5-27 07:49 binzywu
XUL?:lol

2007-5-31 21:18 Haohappy
[quote]原帖由 [i]binzywu[/i] 于 2007-5-27 07:49 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=124&ptid=29][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
XUL?:lol [/quote]

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

2007-6-1 01:08 cid73
Bindows 可以试一下. [url]http://www.bindows.net/bindows/samples/applauncher/[/url] 这里是一些范例, 左边的树是应用 XML 文件, 点击一下右边就是文件内容, 双击文件名启动应用. Bindows 和 PHP 结合有优势, 因为可以用 PHP 来生成 XML 文件, 不过也是劣势, 因为不能把 XML 编译成 JavaScript 而是实时解释. 还可以试试 Qooxdoo, 写一些 JavaScript 就可以, 编译型的, 但是编译器写的不怎么样(用 Python 写的), 很多使用闭包的高级技巧发挥不出来.

2007-6-1 09:16 Haohappy
Bindows感觉太慢了。Delphi for PHP就是用的Qooxdoo做的DataGrid,也很慢,在本地都感觉得出来。
[url]http://blog.csdn.net/Haohappy2004/archive/2007/04/27/1586799.aspx[/url]

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

2007-6-1 22:16 cid73
Backbase 怎样? 也是 XML, 速度也还可以, 没有免费版本.

2007-6-1 23:27 Haohappy
没用过。没有免费版本还是算了。。

2008-4-12 21:07 aeoluszzf
个人以为前端模板组装是比较有前景的方案。
服务器端输出所有的代码是不是浪费带宽了一点

页: [1]
查看完整版本: 界面布局的新思路


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.