有一种说法:程序员是最懒的。只有懒人才会在多种的实现方式中寻找最省力的。
在长期的编程实践中,对客户端程序的零乱、开发不易、费时费力、不变于修改已经感到深恶痛绝。所以将其特点总结如下(特别是三层构架中的界面展现部分):
响应时间要求不严格,通常零点几秒是可以忍受的 功能不多,一般情况下是输入一些内容,通过功能键或者按钮提交到后台服务,将返回结果显示给用户 要求用户界面尽量简单,有助于客户学习 可能需要保存一些客户信息,如登录的用户名、登录日期等 基于上述考虑,考虑用python来实现客户端的开发是可行的:
python是“胶水”语言,可以方便调用C(c++)库 python是解释性的,语法足够简单,利用编程实现;相应的发布也简单,发布源文件(.py)或者编译中间产物(.pyc)都是可以的,占用空间小,发布快 python有丰富的类库,开发方便 相对于C来说,python是面向对象的,支持异常处理的,自动垃圾回收的(GC),能极大的提高效率 缺点:
速度慢。客户端编程不必太追求效率。另外,可以采用内存加载的方式,加快速度(后续blog中会提到) 对中文的支持不是天生的。这一点可以由开发平台来补充。 当前考虑用python实现类似autobranch(南天基于curses)的开发平台,如果可能用Tkinter实现类似图形界面开发平台。最终实现类似uniface的产品使得开发前端界面就像画草图一样简单,最好是图形界面下的。
可行性:当前已经开发出小的类似newt概念的基于ncurses的类库,提供初步的统一数据命名(bus)的支持,可以添加不通的报文生成方式(如: fml/carry/xml/分隔符),支持不同级别(窗口、控件)的事件(按键)。相对应的图形界面开发应当也是可行的。
初步想法:
抽取窗口,按钮,事件,数据总线概念,考虑平台思想。