用python实现客户端的设想(curses、Tkinter)

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

python实现的“打砖块”游戏 Brick & Ball in Python

根据摩托罗拉C289手机的同名游戏写成,使用了Python的curses,因此最好在linux下面运行。最近又用tkinter改写了界面,从而不在受限于curses的支持,还重写的游戏的算法,比以前的...
  • jerryfleming
  • jerryfleming
  • 2006年04月19日 17:34
  • 5334

聊天室-界面-curses

1. curses 的历史与版本:     cureses 最早是由柏克莱大学的 Bill Joy 及 Ken Arnold 所发展出来的. 当时发展此一函式库主要原因是为了提高程式对不同终端机...
  • ryan_jianjian
  • ryan_jianjian
  • 2016年11月26日 23:25
  • 388

python命令行终端下操作界面库(curses,urwid,npyscreen)

npyscreen http://code.google.com/p/npyscreen/ urwid http://excess.org/urwid/ ...
  • roy9494
  • roy9494
  • 2013年12月30日 19:34
  • 2959

用python实现客户端的设想(curses、Tkinter)

有一种说法:程序员是最懒的。只有懒人才会在多种的实现方式中寻找最省力的。 在长期的编程实践中,对客户端程序的零乱、开发不易、费时费力、不变于修改已经感到深恶痛绝。所以将其特点总结如下(特别是三层构架中...
  • wonder365x
  • wonder365x
  • 2004年06月30日 13:56
  • 1571

Python Curses

本月我们讨论在Python中使用Curses。我的意思不是谈论用Python来说脏话,但是当你感觉需要的时候也是可以的。我们的重点是使用Curses库来输出一些非常炫的屏幕效果。 如果你的年纪足...
  • songyux6
  • songyux6
  • 2013年04月19日 10:21
  • 1260

轻松用客户端软件写博客

最近觉得在不同网站的博客管理发布很麻烦,于是想找一种快速写博客的办法在好几个博客同时发布文章:    1先说说关于用live writer 写51CTO博客 可以参考博文http://canry....
  • canry13
  • canry13
  • 2010年10月16日 23:06
  • 905

Python 定时自动关机附带Tkinter图形界面GUI

代码实现windows系统下的定时关机 shutdown指令 注释基于tkinter类库,实现图形界面的windows环境定时关机Python程序,编码环境Python 3.5.2,在安装完py...
  • cch1024
  • cch1024
  • 2017年01月18日 18:43
  • 889

利用curses库编程开始

curses库常用函数: 注意编译时要用这样的格式:gcc xxx.c -l curses -o xxx 第一个小例子: include #include int main...
  • buaa_shang
  • buaa_shang
  • 2013年06月24日 00:06
  • 2033

curses 库例子

#include    #define StartX 1#define StartY 1#define  TRUE  1#define  FALSE 0void init(){  initscr();...
  • lijuwen
  • lijuwen
  • 2007年10月30日 14:48
  • 708

Python(17)python使用tkinter实现一个简单的CSGO幸运转盘抽奖游戏

class Luckgame: #导入tkinter import tkinter as tk #导入线程模块 import threading import ...
  • wizblack
  • wizblack
  • 2017年12月29日 17:46
  • 126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用python实现客户端的设想(curses、Tkinter)
举报原因:
原因补充:

(最多只允许输入30个字)