PowerBuilder現代編程方法X01:PowerPlume的X模式

来源:https://www.cnblogs.com/windfic/archive/2023/03/28/16200720.html
-Advertisement-
Play Games

PowerPlume是PowerBuilder深度創新的擴展開發框架(免費商用)。 它的三個主要特色是一、原創功能;二、零改動相容(非侵入性);三、極簡介面設計。 ...


 

臨淵羡魚,不如退而結網。

 

PB現代編程方法X01:PowerPlume的X模式

 

前言

PowerPlume是PowerBuilder深度創新的擴展開發框架(免費商用)。


它不是一個大而全的類庫(取決於你自己)或框架。
它是改進現有代碼的全面解決方案,是能讓程式在並行、安全、界面、網頁等方面得到全面提升的可靠方法。
它的三個主要特色是一、原創功能;二、零改動相容(非侵入性);三、極簡介面設計。

 

商業支持模式:DLL源碼出售(帶兩年更新與支持服務)
中文技術博客:https://www.cnblogs.com/windfic/tag/pb/
開發交流QQ群:286502392

 

PowerPlume組成

主要由四個模塊組成:

1.PbDui(owner-draw Direct UI):自繪界面框架,無限提升界面能力
2.PbPdd(Parallel Data access Daemon):並行數據訪問守護,嵌入式WEB伺服器
3.PbStl(Security Template Library):安全模板庫,顛覆式的代碼生成器和安全保障庫
4.PbWui(stand-in Web UI):替身無介面瀏覽器,開發獨屬於自己的DataWindow

在X模式下,升級為:

5.PbXmp(X-mode Multi-Platform):跨平臺界面框架
6.PbXpe(X-mode Parallel Environment):並行環境
7.PbXds(X-mode Development Solution):PB代碼轉換器
8.PbXdw(X-mode Data Weaver):數據編織者報表

  

「 外面 」的界面相關功能統一放在PbDui;

 裡面 」的服務運算功能統一放在PbPdd;

PbStl解決了「 後面 」開發者關於安全、效率上的煩惱;

PbWui替代DataWindow解決了「 前面 」發展出路的問題;

X模式一下子越過了Web鴻溝到了「 對面 」,跨平臺成功上岸;

PowerPlume堪稱「 全面 」無死角,以開發者為中心的解決方案。

 

瞭解X模式

X名字由來,X一開始就是neXt-generation下一代的意思,但隨著內容越來越豐富,包含了越來越多的涵義,比較交換、變換、交叉等意義。

所以就取了一個泛化的名字:X模式。

 

X模式包含三個階段:

  • 一、擴展階段:擴展介面,去掉那些依賴外部控制項或DLL實現的功能,可以繼續由自己編寫擴展功能。
  • 二、增強階段:增強能力,去掉那些用“土辦法”解決的不優雅不關鍵的代碼,替換掉自己“獨有”的但實現複雜的功能。
  • 三、脫離階段:轉換代碼,脫離PB環境,開發現在還不支持的平臺應用,比如Web應用或者移動APP。

 

四個模塊都有這三個階段:

PbDui

  • 第一階段:使用SVG擴展PB界面繪圖能力,減少外部DLL依賴,發展特色功能
  • 第二階段:使用Dui界面增強PB界面效果,減少內部非關鍵代碼,減少維護成本
  • 第三階段:使用PbXmp脫離PB,開發跨平臺應用

PbPdd

  • 第一階段:使用並行庫擴展PB並行開發能力,減少外部DLL依賴,發展特色功能
  • 第二階段:使用並行庫增強PB基礎庫,減少內部非關鍵代碼,減少維護成本
  • 第三階段:使用PbXpe脫離PB,開發並行程式

 PbStl

  • 第一階段:使用模板生成庫擴展PB開發能力,減少外部工具依賴
  • 第二階段:使用svm增強PB安全性,減少內部非關鍵代碼,減少維護成本
  • 第三階段:使用PbXds脫離PB,將PB程式轉換成Golang跨平臺程式

PbWui

  • 第一階段:使用Wui庫擴展Web界面開發能力,減少外部DLL依賴
  • 第二階段:使用Wui增強PB數據視窗,減少內部非關鍵代碼,減少維護成本
  • 第三階段:使用PbXdw脫離PB,開發類數據視窗功能的DataWeaver程式

 

使用X模式

 

如果你想嘗試一下PowerPlume框架

PowerPlume框架的特色功能:

四大王炸級別的特色功能,完全創新,暫時沒有發現其它框架有類似功能。

 

1、可自行擴展的SVG功能庫 2、可自行擴展的多線程功能庫 3、可自行擴展的代碼生成工具 4、可自行擴展的增強型DataWindow  

詳細說明請關註《PowerBuilder現代編程方法X》2-5章

 

如果你想用PowerPlume提升生產力

PowerPlume框架需要投入的工作:

與其它框架不同,你除了等待作者發佈新版本之外,還可以自行擴展框架。

 

1、一句話實現個性化的自繪界面 2、一句話實現個性化的多線程功能庫 3、一句話實現個性化的反破解方案 4、一句話實現個性化的Web界面框架

 

詳細說明請關註《PowerBuilder現代編程方法X》7-10章

 

如果你想用PowerPlume脫離PB環境

PowerPlume框架支持你開發現在PB並不支持的應用:

這可能是用戶對PB最大的失望和期待,不用再等萬年不變的PB作出改變了,我們可以用更好的方式來優雅的轉型。

 

1、首先,是Web應用,這是老生常談的話題了 2、然後,是跨平臺應用,Linux或者支持龍芯 3、再者,是移動APP,安卓或者蘋果手機APP 4、最後,是綜合性的,將所有應用有機聯繫起來  

詳細說明請關註《PowerBuilder現代編程方法X》12-15章

  (本章完 )  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • L2-001 緊急救援 分數 25 作為一個城市的應急救援隊伍的負責人,你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連接城市的快速道路。每個城市的救援隊數量和每一條連接兩個城市的快速道路長度都標在地圖上。當其他城市有緊急求助電話給你的時候,你的任務是帶領你的救援隊儘快趕往事發地,同時, ...
  • 使用 VLD 記憶體泄漏檢測工具輔助開發時整理的學習筆記。本篇介紹 VLD 配置文件中配置項 ReportFile 的使用方法。 ...
  • 項目練習01 1.項目介紹 這是一個簡單的項目練習,用於掌握新學習的SpringBoot技術。 項目操作界面 ● 技術棧 Vue3+ElementPlus+Axios+MyBatisPlus+SpringBoot 前後端分離 前後端分離開發,前端主體框架 Vue3 + 後端基礎框架 SpringBo ...
  • 什麼是Base64 Base64編碼是將字元串以每3個8比特(bit)的位元組子序列拆分成4個6比特(bit)的位元組(6比特有效位元組,最左邊兩個永遠為0,其實也是8比特的位元組)子序列,再將得到的子序列查找Base64的編碼索引表,得到對應的字元拼接成新的字元串的一種編碼方式。 每個3位8比特數據拆分成 ...
  • 藍橋杯【答疑】 題目描述 分析 這是一個貪心演算法,要所得的時刻之和最小,而且下一個同學需要等上一個同學結束以後才能進行,因此需要對所耗總時間進行有小到大的排序,總時間相同的同學則對前兩步時間之和有小到大進行排序,最後算出時間之和即可。 代碼 import java.util.Arrays; impo ...
  • 附件用的fastdf上傳和下載的, 本地開發時就沒考慮過多文件上傳就會有併發的問題,比如多個只上傳成功了一個或者上傳了但是文檔內容缺失了,變成0位元組。 呵。。都是一次難忘的經歷。 經過本地模擬大批量的上傳下載, 發現fastdf是在啟動時就初始化了tracker和stroge, 每次調用過他的介面後 ...
  • 一、Jx9 虛擬機的生命周期 載入 Jx9 腳本 jx9_compile() 或 jx9_compile_file(),載入編譯成功後,Jx9 引擎將自動創建一個實例 (jx9_vm) 並且返回指向此虛擬機的指針用於後續調用。 如載入編譯 Jx9 腳本時出現問題,也就是編譯時出錯,可調用jx9_co ...
  • 生產環境,一個簡單的事務方法,提交失敗,報 Global lock wait timeout 偽代碼如下: @GlobalTransactional(rollbackFor = Exception.class,timeoutMills = 30000,lockRetryInternal=3000,l ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...