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

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. 4G EPS 中建立 UE 和 MME 之间的 NAS(非接入服务)信令连接

    目录 文章目录 目录 前文列表 建立 NAS(非接入服务)信令连接 前文列表 <4G EPS 中的小区搜索> <4G EPS 中的 PLMN 选择> <4G EPS 中的 ...

  2. .NET 中 Channel 类简单使用

    Channel 是干什么的 The System.Threading.Channels namespace provides a set of synchronization data structu ...

  3. 大数据之Hadoop中HDFS的故障排除

    NameNode故障处理 1)需求 NameNode进程挂了并且存储的数据也丢失了 2)故障模拟 (1)kill -9 NameNode进程 kill -9 19886 (2)删除NameNode储存 ...

  4. FMEA学习之PFMEA

    一.基础介绍 FMEA 是 Faliure Mode Effect Analysis 简称,翻译过来叫做失效模式分析,按我的理解,用白话说出来就是:对导致不符合生产质量不符合客户要求的问题会产生多么严 ...

  5. RocketMQ消息过滤机制源码详解

    #RocketMQ提供了2种消息过滤的方式: TAG 过滤 SQL92 过滤 SQL过滤默认是没有打开的,如果想要支持,必须在broker的配置文件中设置:enablePropertyFilter = ...

  6. CSS操作——背景属性

    1.background-color(背景颜色) 页面的背景颜色有四种属性值表示,分别是transparent(透明),RGB十进制颜色表示,十六进制颜色表示和颜色单词表示. 属性使用: /* bac ...

  7. Sublime快速在当前目录下新建文件(advanceNewfile插件)

    1.ctrl+shift+p,输入pci,选择第一个,回车 2.输入 advanceNewfile 安装 3.ctrl+alt+n 新建文件自动保存在当前目录下

  8. Prism 基础知识学习(五)发布订阅

    Prism 基础知识学习(五)发布订阅 在 ViewBViewModel.cs中 1 public class ViewBViewModel : IDialogAware 2 { 3 /// < ...

  9. 鸿蒙HarmonyOS实战-Web组件(前端函数和应用侧函数相互调用)

    前言 前端函数和应用侧函数相互调用是指前端页面中的JavaScript函数和应用程序侧的函数之间进行相互调用. 在前端开发中,常常会使用JavaScript函数来处理用户的交互事件和操作.这些函数可以 ...

  10. react减少组件渲染

    当this.setState()修改了state中的数据后,当前组件将重新渲染,同时也会重新渲染子组件,但只会渲染当前组件子树(当前组件以其所有子组件) shouldComponentUpdate 当 ...