PowerBuilder现代编程方法X01:PowerPlume的X模式
临渊羡鱼,不如退而结网。
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框架的特色功能:
四大王炸级别的特色功能,完全创新,暂时没有发现其它框架有类似功能。
详细说明请关注《PowerBuilder现代编程方法X》2-5章
如果你想用PowerPlume提升生产力
PowerPlume框架需要投入的工作:
与其它框架不同,你除了等待作者发布新版本之外,还可以自行扩展框架。
详细说明请关注《PowerBuilder现代编程方法X》7-10章
如果你想用PowerPlume脱离PB环境
PowerPlume框架支持你开发现在PB并不支持的应用:
这可能是用户对PB最大的失望和期待,不用再等万年不变的PB作出改变了,我们可以用更好的方式来优雅的转型。
2、再者,Web界面框架的升级,可将程序映射为网页界面。
所以,最终能摆脱PB的限制,生成Web应用;Windows、Linux、macOS桌面应用;iOS、Android移动应用;
详细说明请关注《PowerBuilder现代编程方法X》12-15章
PowerBuilder现代编程方法X01:PowerPlume的X模式的更多相关文章
- Atitit 编程语言编程方法的进化演进 sp COP ,AOP ,SOP
Atitit 编程语言编程方法的进化演进 sp COP ,AOP ,SOP 1.1. Sp oop>>COP ,AOP ,SOP1 1.2. Sp oop 结构化方法SP(Stru ...
- 学习linux/unix编程方法的建议(转)
假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux ...
- paip.函数式编程方法概述以及总结
paip.函数式编程方法概述以及总结 1 函数式编程:函数式风格..很多命令式语言里支持函数式编程风格 1.1 起源 (图灵机,Lisp机器, 神经网络计算机) 1.2 函 ...
- 你所必须掌握的三种异步编程方法callbacks,listeners,promise
目录: 前言 Callbacks Listeners Promise 前言 coder都知道,javascript语言运行环境是单线程的,这意味着任何两行代码都不能同时运行.多任务同时进行时,实质上形 ...
- 功能间(两个form)数据交互的编程方法
功能间数据交互的编程方法 现在框架具有在两个打开的功能之间进行通讯的机制.通讯是指,一个功能调用另外一个功能的方法,或者传递一些数据,并得到返回结果.比如处置单打开结算单,结算单保存后,将结算单号反填 ...
- Studio 5000编程:一种累计时间的编程方法
前言:在很多项目中,需要累计设备的运行.停机.故障时间,当然实现该功能的编程方法也是多种多样,各有千秋,不过有的方法累计误差会越来越大,比如:在连续任务里用定时器来累计时间,就存在一定的误差.本文分享 ...
- iOS利用block实现链式编程方法(Objective-C链式编程)
objc利用block实现链式编程方法 因为不好读.block和其他语言的匿名函数一样,很多程序员刚开始很难主动去用他. 本文描述block作为属性的实际使用,看懂block,并讲解如何利用block ...
- Matlab并行编程方法1
相信很多朋友在利用matlab进行计算时,会遇到循环次数过大,或者是单次计算量过大的问题,比如需要计算的数值阵列数据量过大,利用传统的编程方式,跑一次程序几个小时,都要等的急死了是不是呢?如果遇到这种 ...
- SQL进阶系列之12SQL编程方法
写在前面 KISS -- keep it sweet and simple 表的设计 注意命名的意义 英文字母 + 阿拉伯数字 + 下划线"_" 属性和列 编程的方针 写注释 注意 ...
- 学习linux/unix编程方法的建议,学习Linux的四个步骤(转)
解答:学习Linux的四个步骤假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过我想大概可以分为4个阶段,水平从低到高从安装使用=>linux ...
随机推荐
- 4G EPS 中建立 UE 和 MME 之间的 NAS(非接入服务)信令连接
目录 文章目录 目录 前文列表 建立 NAS(非接入服务)信令连接 前文列表 <4G EPS 中的小区搜索> <4G EPS 中的 PLMN 选择> <4G EPS 中的 ...
- .NET 中 Channel 类简单使用
Channel 是干什么的 The System.Threading.Channels namespace provides a set of synchronization data structu ...
- 大数据之Hadoop中HDFS的故障排除
NameNode故障处理 1)需求 NameNode进程挂了并且存储的数据也丢失了 2)故障模拟 (1)kill -9 NameNode进程 kill -9 19886 (2)删除NameNode储存 ...
- FMEA学习之PFMEA
一.基础介绍 FMEA 是 Faliure Mode Effect Analysis 简称,翻译过来叫做失效模式分析,按我的理解,用白话说出来就是:对导致不符合生产质量不符合客户要求的问题会产生多么严 ...
- RocketMQ消息过滤机制源码详解
#RocketMQ提供了2种消息过滤的方式: TAG 过滤 SQL92 过滤 SQL过滤默认是没有打开的,如果想要支持,必须在broker的配置文件中设置:enablePropertyFilter = ...
- CSS操作——背景属性
1.background-color(背景颜色) 页面的背景颜色有四种属性值表示,分别是transparent(透明),RGB十进制颜色表示,十六进制颜色表示和颜色单词表示. 属性使用: /* bac ...
- Sublime快速在当前目录下新建文件(advanceNewfile插件)
1.ctrl+shift+p,输入pci,选择第一个,回车 2.输入 advanceNewfile 安装 3.ctrl+alt+n 新建文件自动保存在当前目录下
- Prism 基础知识学习(五)发布订阅
Prism 基础知识学习(五)发布订阅 在 ViewBViewModel.cs中 1 public class ViewBViewModel : IDialogAware 2 { 3 /// < ...
- 鸿蒙HarmonyOS实战-Web组件(前端函数和应用侧函数相互调用)
前言 前端函数和应用侧函数相互调用是指前端页面中的JavaScript函数和应用程序侧的函数之间进行相互调用. 在前端开发中,常常会使用JavaScript函数来处理用户的交互事件和操作.这些函数可以 ...
- react减少组件渲染
当this.setState()修改了state中的数据后,当前组件将重新渲染,同时也会重新渲染子组件,但只会渲染当前组件子树(当前组件以其所有子组件) shouldComponentUpdate 当 ...