PowerPlume(孔雀翎)開發交流群:286502392
<第五部分 Otherside 意外的寶藏>
秋鳳梧道:“孔雀翎並不是種武器,而是一種力量。”
“你雖然不必用它,但它卻可以帶給你信心。”
(引自古龍《七種武器》)
前言
本來這個系列一直在鴿,直到遇到了一位大佬:
看到大佬這么有誠意的樣子,於是我可恥地同意了,之后大佬要我建群方便溝通,建了之后,為了方便群里的大佬們,我又連夜肝了這期博客。
PowerPlume的由來
從我寫下《PB編程新思維》這個名字開始,已經過去了十年時間。在這期間,由於我的工作完全與PB無關,所以只能在業余時間心血來潮式的搞一搞。從一開始,文章完全只是一個目錄,到慢慢積攢到一些心得,最后開始編寫代碼,寫到現在內容已經跟當初預想的面目全非了。
我的想法很簡單,就是針對PowerBuilder的缺點來改進,針對優點進行強化。
替代突出弱點:
突出弱點:
- 非常匱乏且難擴展的基礎庫
- 非常原始且封閉的交互界面
- 非常脆弱的源代碼保護機制
替代方案:
- 使用腳本引擎替代擴展功能(PbniLua)
- 使用自繪界面替代傳統界面(PbniDui)
- 使用原生編譯替代偽碼編譯(PbniStl)
這三種替代方案給PB注入了新活力,至少從一個有明顯弱點、古老的工具,變成了一個比較可靠、現代的開發工具。
升級核心價值:
替代了弱點當然還不夠,升級一下核心價值,提高PB的競爭力。
核心價值:
- 成熟的所見即所得界面設計
- 方便的多種數據庫檢索更新
- 獨特的DataWindow數據展示
升級方案:
- 自動生成代碼以及更換DW主題(CSS)
- 升級REST與BS兩種三層架構(Lua/Web)
- 使用網頁窗口豐富數據窗口(Wui)
引入CSS,算是把PB從原始社會進化成了現代社會。引入REST接口進一步加強了與主流工具的聯系,最后使用Web窗口重寫DataWindow,徹底把PB與Web聯系在了一起。
廢棄低效方案:
在PowerPlume的演進過程中,對於一些有趣但價值不高的內容,進行了更改和舍棄。
廢棄方案:
- PowerHttpd 網頁應用服務器
- PowerNative 手機應用開發
- PowerDriver 測試驅動(Selenium)
廢棄原因:
- PB本身的多線程功能很弱,而應用服務器對性能要求很高,與其開發低質量的應用服務器,還不如放棄,而Rest接口的引入也徹底廢棄了PB應用服務器。
- 同樣的道理,也放棄了對手機應用開發的支持。
- 最后,測試工具對PB的支持有限,最大的限制是不支持DW,這就限制了PB工具90%的功能了。所以一直想做一個Selenium Driver來支持PB。仔細研究之后,發現這是一個力氣活,工作不復雜但很多。明明是廠商自己的責任,沒理由替它累死累活。再加上AirTest這個基於圖像識別的測試工具的出現,徹底打消了我的念頭。
更改方案:
- PowerProvider 三層服務器ADO支持
- PowerEngine 3D游戲引擎支持
- PowerReact 2JS編譯器
更改原因:
- 定制ADO驅動,來支持三層服務器這個方案已經有成熟產品,我就不討論了。但PowerPlume用REST接口來替代了這個方案。
- 在PB的支持游戲引擎是我很早就已經研究並實現了,卻一直不能落地的功能。因為開發一個界面所用的精力太大,很少人有預算來做這樣的投入。所以使用Web替代了這個功能,不是Web開發的精力少了,而是可能性更多了。
- 而一個與PB兼容的開源2JS編譯器,也只是一個想法而已,畢竟那是別人的飯碗。把PB代碼轉換成其它語言,需要開發的東西太多了,沒有足夠的吸引力。所以改為WebDW方式。
PowerPlume的博客大綱
第一部分 Inside 無形的枷鎖
PB實在太古老了,長久的積淀變成了沉重的包袱,像是一個無形的枷鎖制約着工具的發展。
PowerBuilder編程新思維1—擴展(Lua)
PowerBuilder編程新思維2—嵌入(多線程)
PowerBuilder編程新思維3—適配(GraphQL)
第二部分 Outside 哭泣的小丑
這是一個看臉的時代,PB無論怎么努力打扮,在別人眼中就是一個小丑。這位哭泣的小丑,怎樣努力才是未來?
PowerBuilder編程新思維4—鈎掛(在DW中顯示,打印)
PowerBuilder編程新思維5—包裝(用DirectUI美化界面)
PowerBuilder編程新思維6—裝飾(用最簡單的方式做框架)
第三部分 Backside 純黑的噩夢
安全像一個純黑的噩夢,只給了PB開發者絕望。
PowerBuilder編程新思維7—剝離(用CSS美化DW)
PowerBuilder編程新思維8—克隆(ORCA有價值的用法,批量生成代碼)
PowerBuilder編程新思維9—切分(從邏輯上實現源碼安全)
第四部分 Frontside 失落的國度
在前面,我已經竭力地展示了如何讓技術升級,使用一個有接近20年歷史(2003年推出的PowerBuilder 9.0)的編程工具開發具有現代感的應用程序。但是,事情到這里並沒有結束,PB像一個曾經輝煌但已失落的國度,要想煥發新生,就必須回到主流的世界。
PowerBuilder編程新思維10—增強(以DW的方式擴展WEB,PDF瀏覽)
PowerBuilder編程新思維11—集成(Push實時消息推送)
PowerBuilder編程新思維12—分享(使用Excel做報表)
第五部分 Otherside 意外的寶藏
記錄開發過程和不起眼的,但是效果很好的創意
PowerBuilder編程新思維6.5--外傳1(PowerPlume的設計與規划)
PowerBuilder編程新思維10.5--外傳2()
PowerBuilder編程新思維11.5--外傳3()
PowerBuilder編程新思維12.5--外傳4()
PowerBuilder編程新思維12.6--外傳5()
PowerPlume的后續規划
組成部分:
- PbLua,內嵌腳本語言,輕量級多線程。
- PbDui,使用Duilib替代原生界面,美化界面控件。
- PbStl,使用CSS修改數據窗口,同時可防止反編譯。
- PbWui,使用Web控件替代部分原生界面,同時支持三層模式。
PowerPlume會作為免費框架,開放給大家使用,有條件的公司可以購買源碼,會提供2年的源碼更新服務。
至於進度,我盡量吧:)
<本節完>