【PB.NET编程系列5】杂谈Web forms开发

首先看3个图片(点击可放大),这是我做的一个小例子,算是我的PB Webforms程序的处女作吧。

5-1

图1

5-2

图2

5-3

图3

与我第一次学习PB不同,这次做这个例子花的时间很短,我相信一个有经验的PB程序员都会发现在PB上开发BS程序几乎和CS没什么区别,因为PB将BS的处理过程完全封装起来了,你甚至不需要学习HTML语言即可完成开发。但这样的封装虽然可以使PB程序员平滑过渡到BS开发上,但也带来一些问题。

首先看图1,这是一个登录界面,细心的人肯定会发现这个登录窗口的输入框并不是在正中间的。这当然不是我的本意,这是因为窗口的resize事件在web下不再管用了,在resize里写的代码在窗口变化时并不好使。只有在open时写下调整控件大小的代码才能被PB采用,而且在application里打开的第一个窗口是无法获取客户端浏览器的大小尺寸的,这就是我的登录窗口不在正中间的原因。不过在open第2个窗口时这个问题就不存在了,浏览器的窗口尺寸大小被成功获取,所以我的第2个窗口的位置是处于正中间的。

再看图2,上面的查询条件其实是用dw做的,我发现虽然我选择了xp风格的主题,但文本输入框还是被固定在classic风格了。而在第一个窗口里的输入框因为不是用DW做的就没有这个问题,这个不知道是bug还是我没做对。下面的GRID风格的dw自动增加了一个分页条,这个确实很方便,但缺点是这个分页条的样式同样很死,如果我想改变分页条的背景色或把翻页链接改成图片就无法实现。综合来看pb的web程序风格和cs基本一致,它的主题样式太过于固定了,我们还难设计出类似asp那样BS风格的程序,大部分情况下程序看起来还是像一个跑在浏览器下的CS程序。

图3是在图2的基础上打开了一个response风格的窗口,我的本意是新打开的窗口可移动,结果把图3的窗口设计成main类型时pb自动以全尺寸打开并覆盖了前一个窗口,且在右上角生成了一个windows菜单用来切换两个窗口(有点类似mdi窗口)。当把窗口类型设置成response后终于可以使窗口能移动了,但是整个配色完全被打乱了,因为response窗口的标题和外框颜色是不可变的,这使图3整体看起来很不协调。不过我们欣喜的看到下拉dw可以很正常的使用,而且日期类型的列可以自动生成一个日历下拉框(虽然这个日历下拉同样很丑)。

综上所述,pb仍然可以快速开发基于Web Forms的BS程序,但是它的BS程序局限性很大。我个人觉的只能适用于小型应用(且这种应用限于MIS系统),或者做为cs程序的辅助更合适。可能sybase的目标也不是要拿pb与c#或java在BS开发上进行竞争,而是为现有的PB程序员服务,延长pb的生命周期。如果你已经用pb开发了一个完整的cs系统,这时客户要求开发一个基于WEB的查询系统(或者把部分应用搬到WEB上)那么pb的Web Forms程序还是很合适的。sybase的目标已经不是吸引新人加入到pb的队伍中来开发BS系统,而是为了现有的PB程序员多一个途径去做WEB开发。所以对于还在做PB开发的程序员来说,学习Web Forms的周期短,见效快,还能充分利用原有的pb资源,基本上1、2周就可以学完了,这种学习曲线应该是可以接受的。

posted @ 2009-07-29 23:31  阿乌  阅读(3823)  评论(5编辑  收藏  举报