程序员程序猿阵线联盟-汇总各类技术干货我爱编程

ToolCover-自动为你的命令行程序加上UI

2018-03-25  本文已影响193人  williamfzc

github项目点这里
欢迎fork/star/issue/PR。

灵感

对于python来说UI是个远古难题,官方的tkinter非常老气。前段时间尝试了各种第三方工具之后第一感觉都是,太麻烦了。通常情况下,这些UI框架的学习成本都不低,在编写工具之余还需要费心研究UI的制作很容易让开发者烦躁,在工作中深有体会。

个人认为,未来的应用肯定是趋向web化的,web应用能够很好地适配到不同平台,一次开发多处使用,那么,为什么我们不直接用web作为交互手段呢?

其实在这方面已经有flexx作为先驱,做的也很好,但开发过程远称不上简单,仍然需要对源码进行较大改动。

那么,有没有一种完全无缝对接的UI解决方案呢?有的。

效果

先看一下效果。如果我们的源码是这样:

你的源码

经过ToolCover的渲染,他将变成一个可以交互的web页面:

效果

你只需要在编程的时候正常使用标准输入输出,就可以渲染出合适的web页面,并且用它进行交互。

当然,你也可以不按上面的实例来写,你只需要考虑在终端中输出与输入应该是什么样,ToolCover会自动完成这个过程,没有学习成本。

使用

把大象放进冰箱一共需要几步?

  1. 打开门
  2. 把大象塞进去
  3. 关上门

所有事情都应该如此简单。你只需要:

  1. 把程序拷到app/packages
  2. 在config.py配置入口
  3. 运行python manage.py

然后就可以愉快的访问本地5000端口进行交互了!

源码自带教程,git clone之后可以直接运行查阅。推荐直接参照它学习使用。
位置app/packages/test_app

使用场景

优势

Bug与建议

目前项目还在继续优化中,有任何建议欢迎通过issue指出。

上一篇 下一篇

猜你喜欢

热点阅读