临渊羡鱼,不如退而结网。

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.PbXre(X-mode Runtime Environment):运行环境
7.PbXds(X-mode Development Solution):PB代码转换器
8.PbXdw(X-mode Data Weaver):数据编织者DW克隆

「 外面 」的界面相关功能统一放在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、首先,多线程功能库的升级,会逐步替代PBVM的功能。
2、然后,代码生成工具的升级,可转换程序为跨平台Go语言代码。

2、再者,Web界面框架的升级,可将程序映射为网页界面。

4、最后,SVG功能库的自绘功能,是升级为移动应用APP的基础。

所以,最终能摆脱PB的限制,生成Web应用;Windows、Linux、macOS桌面应用;iOS、Android移动应用;

 

详细说明请关注《PowerBuilder现代编程方法X》12-15章

 
(本章完 )
 

PowerBuilder现代编程方法X01:PowerPlume的X模式的更多相关文章

  1. Atitit 编程语言编程方法的进化演进 sp  COP ,AOP ,SOP

    Atitit 编程语言编程方法的进化演进 sp  COP ,AOP ,SOP 1.1.  Sp  oop>>COP ,AOP ,SOP1 1.2. Sp  oop 结构化方法SP(Stru ...

  2. 学习linux/unix编程方法的建议(转)

    假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux ...

  3. paip.函数式编程方法概述以及总结

    paip.函数式编程方法概述以及总结 1     函数式编程:函数式风格..很多命令式语言里支持函数式编程风格 1.1      起源 (图灵机,Lisp机器, 神经网络计算机) 1.2      函 ...

  4. 你所必须掌握的三种异步编程方法callbacks,listeners,promise

    目录: 前言 Callbacks Listeners Promise 前言 coder都知道,javascript语言运行环境是单线程的,这意味着任何两行代码都不能同时运行.多任务同时进行时,实质上形 ...

  5. 功能间(两个form)数据交互的编程方法

    功能间数据交互的编程方法 现在框架具有在两个打开的功能之间进行通讯的机制.通讯是指,一个功能调用另外一个功能的方法,或者传递一些数据,并得到返回结果.比如处置单打开结算单,结算单保存后,将结算单号反填 ...

  6. Studio 5000编程:一种累计时间的编程方法

    前言:在很多项目中,需要累计设备的运行.停机.故障时间,当然实现该功能的编程方法也是多种多样,各有千秋,不过有的方法累计误差会越来越大,比如:在连续任务里用定时器来累计时间,就存在一定的误差.本文分享 ...

  7. iOS利用block实现链式编程方法(Objective-C链式编程)

    objc利用block实现链式编程方法 因为不好读.block和其他语言的匿名函数一样,很多程序员刚开始很难主动去用他. 本文描述block作为属性的实际使用,看懂block,并讲解如何利用block ...

  8. Matlab并行编程方法1

    相信很多朋友在利用matlab进行计算时,会遇到循环次数过大,或者是单次计算量过大的问题,比如需要计算的数值阵列数据量过大,利用传统的编程方式,跑一次程序几个小时,都要等的急死了是不是呢?如果遇到这种 ...

  9. SQL进阶系列之12SQL编程方法

    写在前面 KISS -- keep it sweet and simple 表的设计 注意命名的意义 英文字母 + 阿拉伯数字 + 下划线"_" 属性和列 编程的方针 写注释 注意 ...

  10. 学习linux/unix编程方法的建议,学习Linux的四个步骤(转)

    解答:学习Linux的四个步骤假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过我想大概可以分为4个阶段,水平从低到高从安装使用=>linux ...

随机推荐

  1. MATLAB txt文件抽稀并分为多个txt文件

    chouxi.m a = load("file.txt"); % len = length(a); interval = 9;%间隔+1 b = a(1:interval:end, ...

  2. xlwings模块详解

    中文文档:https://www.kancloud.cn/gnefnuy/xlwings-docs/1127454 import xlwings#查找包路径print(xlwings.__path__ ...

  3. go高并发之路——go语言如何解决并发问题

    一.选择GO的原因 作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了.无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分, ...

  4. Spring 对 Junit4,Junit5 的支持上的运用

    1. Spring 对 Junit4,Junit5 的支持上的运用 @ 目录 1. Spring 对 Junit4,Junit5 的支持上的运用 每博一文案 2. Spring对Junit4 的支持 ...

  5. 高效C#编程:通过智能线程池管理提升性能

    前言 C#编程中,线程池(Thread Pool)是一个重要的概念,它允许开发者更有效地管理和利用系统资源.通过线程池,我们可以避免频繁地创建和销毁线程,从而减少系统开销并提高程序的响应速度和吞吐量. ...

  6. 【c++】const 限定符

    #include <iostream> int main() { using namespace std; cout << "Hello World!\n" ...

  7. Linux中根据关键字获取某一行的行号

    [root@localhost ~]# cat test.txt 123213 ehualu.server ehualu.docker 10.0.0.10 ehualu.server ehualu.d ...

  8. wpf – 如何在UIElement.Margin上为绑定设置FallbackValue?

    <Border BorderBrush="#cccccc" BorderThickness="1" Margin="{Binding PushM ...

  9. Rainbond 5.5 发布,支持Istio和扩展第三方Service Mesh框架

    Rainbond 5.5 版本主要优化扩展性.服务治理模式可以扩展第三方 ServiceMesh 架构,兼容kubernetes 管理命令和第三方管理平台. 主要功能点解读: 1. 支持 Istio, ...

  10. 【jetson nano】yolov5环境配置tensorrt部署加速

    安装pytorch Nano上预装的Jetpack版本为4.6.1,Python为3.6.9,CUDA环境为10.2.在PyTorch for Jetson中可以下载不同版本的torch,torch& ...