PowerBuilder编程新思维6.5:外传1(PowerPlume的设计与规划)

 <第五部分 Otherside 意外的宝藏>

每一颗种子都有发芽的梦想。PowerPlume(孔雀翎)开发交流群:286502392

  

PowerBuilder编程新思维6.5:外传1(PowerPlume的设计与规划)

 

前言

本来这个系列一直在鸽,直到遇到了一位大佬:

 

 看到大佬这么有诚意的样子,于是我可耻地同意了,之后大佬要我建群方便沟通,建了之后,为了方便群里的大佬们,我又连夜肝了这期博客。

 

PowerPlume的由来

从我写下《PB编程新思维》这个名字开始,已经过去了十年时间。在这期间,由于我的工作完全与PB无关,所以只能在业余时间心血来潮式的搞一搞。从一开始,文章完全只是一个目录,到慢慢积攒到一些心得,最后开始编写代码,写到现在内容已经跟当初预想的面目全非了。

我的想法很简单,就是针对PowerBuilder的缺点来改进,针对优点进行强化。

 

替代突出弱点:

突出弱点:

  1. 非常匮乏且难扩展的基础库
  2. 非常原始且封闭的交互界面
  3. 非常脆弱的源代码保护机制

 替代方案:

  1. 使用脚本引擎替代扩展功能(PbniLua)
  2. 使用自绘界面替代传统界面(PbniDui)
  3. 使用原生编译替代伪码编译(PbniStl)

 这三种替代方案给PB注入了新活力,至少从一个有明显弱点、古老的工具,变成了一个比较可靠、现代的开发工具。

 

升级核心价值:

替代了弱点当然还不够,升级一下核心价值,提高PB的竞争力。

核心价值:

  1. 成熟的所见即所得界面设计
  2. 方便的多种数据库检索更新
  3. 独特的DataWindow数据展示

 升级方案:

  1. 自动生成代码以及更换DW主题(CSS)
  2. 升级REST与BS两种三层架构(Lua/Web)
  3. 使用网页窗口丰富数据窗口(Wui)

 引入CSS,算是把PB从原始社会进化成了现代社会。引入REST接口进一步加强了与主流工具的联系,最后使用Web窗口重写DataWindow,彻底把PB与Web联系在了一起。

 

废弃低效方案:

在PowerPlume的演进过程中,对于一些有趣但价值不高的内容,进行了更改和舍弃。

废弃方案:

  1. PowerHttpd 网页应用服务器
  2. PowerNative 手机应用开发
  3. PowerDriver 测试驱动(Selenium)

废弃原因:

  1. PB本身的多线程功能很弱,而应用服务器对性能要求很高,与其开发低质量的应用服务器,还不如放弃,而Rest接口的引入也彻底废弃了PB应用服务器。
  2. 同样的道理,也放弃了对手机应用开发的支持。
  3. 最后,测试工具对PB的支持有限,最大的限制是不支持DW,这就限制了PB工具90%的功能了。所以一直想做一个Selenium Driver来支持PB。仔细研究之后,发现这是一个力气活,工作不复杂但很多。明明是厂商自己的责任,没理由替它累死累活。再加上AirTest这个基于图像识别的测试工具的出现,彻底打消了我的念头。

 更改方案:

  1. PowerProvider 三层服务器ADO支持
  2. PowerEngine 3D游戏引擎支持
  3. PowerReact 2JS编译器

  更改原因:

  1. 定制ADO驱动,来支持三层服务器这个方案已经有成熟产品,我就不讨论了。但PowerPlume用REST接口来替代了这个方案。
  2. 在PB的支持游戏引擎是我很早就已经研究并实现了,却一直不能落地的功能。因为开发一个界面所用的精力太大,很少人有预算来做这样的投入。所以使用Web替代了这个功能,不是Web开发的精力少了,而是可能性更多了。
  3. 而一个与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 失落的国度

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的后续规划

组成部分:

  1. PbLua,内嵌脚本语言,轻量级多线程。
  2. PbDui,使用Duilib替代原生界面,美化界面控件。
  3. PbStl,使用CSS修改数据窗口,同时可防止反编译。
  4. PbWui,使用Web控件替代部分原生界面,同时支持三层模式。

PowerPlume会作为免费框架,开放给大家使用,有条件的公司可以购买源码,会提供2年的源码更新服务。

至于进度,我尽量吧:)

 

<本节完>

 

posted @ 2021-04-03 08:37  windfic  阅读(1011)  评论(1编辑  收藏  举报