pythonelectron桌⾯开发案例_Web桌⾯应⽤框架1:Electron
与WEB桌。。。
这⼏天在构思项⽬,研究了⼀下Electron,记录下来。
说起WEB桌⾯程序,当前最⽕的就是Electron了。
Electron的架构⽤⼀句话总结,就是⼀个main.js进程加上⼀个或数个chrome窗⼝,每个窗⼝都包含⼀个独⽴的Node.js。
python怎么读取桌面上的文件这样的架构,使得这种桌⾯应⽤必须是⼀个(或数个)单页⾯应⽤(SPA),⽽这个SPA还拥有访问本地API的能⼒(Node.js)。
⼀⽅⾯,程序对前端框架的依赖必然加强,想再JQuery打天下就不那么容易了;另⼀⽅⾯也⼤⼤加强了前端框架的能⼒与版图。
这样它把前端与后端的战⽕,从服务器蔓延到了桌⾯。使得JS解决⼀切的宗旨,⼜得到了贯彻。
相⽐较这种新的架构,还有三种早已出现在WEB桌⾯程序。⼀般基于嵌⼊式Chromium框架(CEF)。
⼀种就是CEF+远程访问。这种程序体验极差,就是个单页⾯的⽹站。
值得注意的是Electron+远程访问,是极度危险的,只需劫持JS,则可利⽤Node.js为所欲为。
另⼀种就CEF+本地服务。本地服务常见的有和java,也有⽤PHP和Node.js的。
这种组合与前⼀种组合体验类似,⽽且体积臃肿,但胜在页⾯延时较⼩。
最后⼀种就是CEF+本地资源+远程API接⼝。这种是⼿机WebAPP的常⽤模式。体验尚可。
和这些架构⽐较起来,Electron的体验和能⼒上得到很⼤的增强,但是有着天⽣的弱点。
⼀、安全性,这是脚本语⾔的弱点
⼆、投⼊⼤,SPA不同于原有的WEB开发,必然导致新的投⼊和旧资源的浪费。
三、体验,虽然WEB应⽤的体验在不断增强,但天⽣就必然限制在chrome窗⼝中
理想当中的混合应⽤应该是Electron作为模块嵌⼊其它编译型语⾔中,不必追求JS解决⼀切,更不要追求⼀切皆是WEB。
强强联合,团队作战的效果远⼤于语⾔或平台⼤⼀统带来的好处。
⽐如这个go-astilectron项⽬,使⽤GO语⾔开发主进程代替main.js,弱化JS的依赖是个不错的想法,但还远不成熟。
(完)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论