码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2021-04-05 12:21:41      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:游戏引擎   exce   第二部分   界面   扩展   http   css   必须   pow   

PowerPlume(孔雀翎)开发交流群:286502392

 

前言

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

技术图片

 

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

 

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 失落的国度

 在前面,我已经竭力地展示了如何让技术升级,使用一个有接近20年历史(2003年推出的PowerBuilder 9.0)的编程工具开发具有现代感的应用程序。但是,事情到这里并没有结束,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的后续规划

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

至于进度,我尽量吧:)

 

<本节完>

 

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

标签:游戏引擎   exce   第二部分   界面   扩展   http   css   必须   pow   

原文地址:https://www.cnblogs.com/windfic/p/14613071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!