退出

  • 文章收藏

  • 消息

  • 修改资料

  • 最近用wxPython库编写了一个自动采集数据、分析数据、测试完成自动发送结果邮件的GUI。wxPython总体来说还是非常好用的,能够比较方便的构建出一个Native App,丰富的组件基本涵盖了日常我们所用的到的交互,不怕没有,就怕你找不到。但是实际使用中,也发现了很多令人不满意的地方。

    1.布局效率很低,灵活性差。

    wxPython提供了BoxSizer, GridBagSizer等多种组件来对布局进行支持,但相比CSS来说,效率其实很低。毕竟CSS是专门用于格式化的。对于布局的调试也没有CSS友好和方便,只能一次次修改代码后在运行时观察,不透明。CSS有着更丰富,灵活的布局方式,并能对组件外观进行自定义,这点wxPython更是无法做到。还可以再浏览器中对CSS代码进行实时的调试。借助javascript,还能实现各种交互特效。

    2.可移植性差。

    这个历来被视为wxPython的强项,但是实际上,我在最新系统的Mac OS X上运行时,带有图片的button都会报内存过大的错误,搞不懂。这说明随着系统更新迭代速度加快,wxPython兼容新系统是力不从心的。

    现在的构想是采用服务端和客户端分离的架构,利用Python作为后端实现具体功能,用HTML5(WebApp)作为前端。这样做至少有以下这些好处:

    1.丢掉了布局这个包袱,节省大量时间。

    2.高度可定制化的外观和交互。

    3.真正实现完全的远端控制,不用你呆在实验室,只要你能连上公司的网,你周末在家也可以控制。由于WebApp天生的兼容性,适配手机也不是什么难事。

    4.多用户协同作业。可以支持多个用户多终端同时访问,通过账号机制和权限控制来规避冲突。例如,只有和服务器本机登录用户相同的用户才可以控制,其他人只能查看状态和数据。

    然,现在并没有现成的架构,现在想到的最简单(学习成本最低)的方法是利用Python网络化变成以及JavaScript AJAX异步机制来实现。如果用React之类的前端库,那个内容量想想都很巨大。现在只是一个想法,最后会不会弄也不一定…但是不能否认,这确实是一个一劳永逸的事情…

    支付宝 微信 BTC
    支付宝扫一扫,向我打赏
    来源:原创

    声明:本站原创文章采用 BY-NC-SA 创作共用协议,转载时请以链接形式标明本文地址;非原创(转载)文章版权归原作者所有。 ©查看版权声明

  • 白銀の魔法師
  • 所有的信徒都别无二致,所有的信仰都一文不值
  • 发表评论

    你目前的身份是游客,请输入昵称和邮箱! 输入资料 关闭