如何开发基于curses的用户界面?
我打算开发一个使用curses的图形用户界面(GUI)应用程序。我的想法是提供一个额外的界面,让网站上的所有操作都可以通过这个界面来完成。
基本上,这个应用应该是跨平台的:用户需要通过SSH连接到服务器,然后界面会自动接管。
首先,这个想法可行吗?据我了解,只要最终用户安装了合适的终端软件,这个应用就应该是跨平台的。如果我说错了,请纠正我。
我打算用Python来实现,因为这是我最熟悉的语言。Python自带ncurses库,还有一个叫Urwid的库,我听说这个库挺不错的。
我用Urwid做了个简单的测试,但遇到了一些问题。我有点担心,未来遇到的问题可能找不到解决办法,因为现在curses界面似乎不太流行。相关的文档和示例也比较少。
总之,我到底该继续这个项目,别再抱怨了,还是干脆放弃这个想法?有没有其他建议?
3 个回答
这件事是可以做到的,但会有点困难。我建议你可以先改善一下网页界面。比如,你可以用JavaScript来添加一些快捷键,这样可以让工作流程更快一些(就像Gmail的界面那样)。
哦,我的天,这简直是个梦想啊!
我看到过一些相关的东西,效果各有不同。
Morticious Thrind: http://thrind.xamai.ca/
未来死亡人数: http://f-dt.com/?wptheme=wp-cli
关于WordPress的那些事,这可能就像用960/blueprint CSS、prototype.js和一行代码那么简单:
//TODO: Implement useful functionality && unit tests && documentation
//TODO: read
try { eval($F(x)); } catch (e) { panic(); }
但是!这种事情其实挺激进的。我的意思是,现在在网页浏览器的画布上,几乎什么都能发生,但任何终端模拟器或lynx都能很好的完成这个任务。
另外,记得去看看这个链接: https://stackoverflow.com/questions/472644/javascript-collection-of-one-line-useful-functions
真正的问题是你打算用什么软件来进行操作(这里有个双关语)——它可能已经有一些非常实用的命令行界面了。
这当然是可能的,基于 curses 的应用程序仍然会定期被编写(比如 PuDB 这个项目才刚刚14个月大),不过可能没有那么频繁。
你有没有试着在 Urwid 的邮件列表或者 IRC 频道上问问题呢?