天天看點

【PB.NET程式設計系列5】雜談Web forms開發

首先看3個圖檔(點選可放大),這是我做的一個小例子,算是我的PB Webforms程式的處女作吧。

【PB.NET程式設計系列5】雜談Web forms開發

圖1

【PB.NET程式設計系列5】雜談Web forms開發

圖2

【PB.NET程式設計系列5】雜談Web forms開發

圖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周就可以學完了,這種學習曲線應該是可以接受的。

轉載于:https://www.cnblogs.com/newskysoft/archive/2009/07/29/1534565.html