Cobra —— 迈进Ajax时代
来源:互联网 发布:逆波兰式c语言 编辑:程序博客网 时间:2024/05/02 02:44
公司目前正在积累Web2.0的相关技术,正好就拿Cobra来练练手。以后的Cobra将放弃基于wxPython的GUI方式,而是改用基于DHTML+Ajax的技术。在GUI上做出动态的视觉效果实在是一件很繁琐的工作,但是利用Javascript + DOM就能很容易地做到。目前仅仅将显示反编译结果的GUI空间进行了Web化,其中在视觉效果方面,生产力的提高还是很容易就能感受到的。
目前后端是基于Django实现的,实际上,在Cobra这个项目中,没有与database打交道,所以Django的使用还是相对简单的,这个web后端更多地是作为web前端与python server的一个中转站。
下图是初始的界面,选择需要反汇编的源代码文件,点击“提交”按钮:
“提交”之后,通过Ajax技术连接后端的web server,完成对源文件的反汇编,然后反馈结果,并显示反汇编的结果,如下图所示
在上一篇文章中,我们在GUI控件中看到了基于path选择某一行代码的能力,同样,Web化后的Cobra也支持这样的能力,在代码区域下方的编辑框中输入path,点击“goto”按钮,就会高亮显示path对应的那一行代码,如下图所示:
Cobra的web化对我来说,已经体现出了生产力上的解放,因为Cobra的目的是可视化Python虚拟机,既然是可视化,那主要的工作在于GUI部分。老实说,对于GUI编程,我是下过一番功夫的,学生时代发起一个基于WTL的WUI开源项目,其中包括了多个当时“时髦”的UI风格的控件,虽然最后无疾而终,但是在Windows GUI方面,还是有相当的经验的。即便如此,我最深的感受就是桌面的GUI编程太繁琐了,当然,如果使用GUI库,会节省一部分精力,但是工作量依然会非常巨大,尤其是当你需要相当炫的UI效果时。
举个例子,对于选中代码行的高亮,在GUI控件中,我仅仅简单地将那一行选中,以区别正常行,但是在Web化后的Cobra中,通过动态地改变element的class,我可以立即做出非常美观的高亮效果,这种效果要在GUI中实现,简直就是噩梦。
在UI方面,Web已经成熟到可以有所作为的时代了。尽管cross browser依然是一个比较艰难的话题,不过目前诞生的各个javascript框架在这方面已经能节省很多精力了。另一方面,wxPython是一个相对狭窄的技术,而web就不同了,这样似乎对于吸引更多的人参与到Cobra中来也大有裨益 :)
- Cobra —— 迈进Ajax时代
- [HTML5] 向新时代迈进(一)——Video
- [HTML5] 向新时代迈进(二)—— Audio
- Cobra —— super dis
- Cobra —— 可视化Python虚拟机
- Cobra——client与server通信
- 爬虫 ajax网页(Cobra)
- Cobra —— 对Python源文件进行完整反汇编
- Cobra —— "下一步"与运行时栈的可视化
- 迈进
- 插入排序——迈进希尔的演化
- 迅达云将提供IPv6服务,助力客户迈进物联网时代
- Cobra —— 用于显示当前执行字节码的GUI部件
- Cobra —— 字节码指令的动态定位与展示
- Cobra —— 编译结果数据与名字空间数据的展示
- 三种分布式对象主流技术——COM、Java和COBRA
- 三种分布式对象主流技术——COM、Java和COBRA
- golang进阶(二)——cobra更实用的命令行
- Write-host 帮助信息
- 一辈子都忘不了的七夕节
- SAS——编程——数学
- 本文纯属转载,与本人无关!
- 同学走了,我的心很承重,一位才子就这么远去了,他远离我们而去,为他的离去而悲...
- Cobra —— 迈进Ajax时代
- Visual Studio 2005 SP1集成(整理前辈版本)
- MPC暴风影音清空播放历史记录
- 窦性心律不齐
- 函数指针的应用(2007-06-27)
- 七夕情人节,祝天下有情人终成眷属
- java虚拟机类的加载顺序
- 变量
- JS等比例缩放图片