摘要:
前一篇文章里,分析了包括NW.js和electron这种纯JS框架在内的几种Web桌面应用开发方式,实际上还有一种最古老的方式,那就是嵌入WebView的方式。 嵌入WebView的方式和整个程序都是WEB窗口不同,仅在窗口的部分子窗口使用WebView,和原生UI或DirectUI结合的方式。 这 阅读全文
摘要:
这几天在构思项目,研究了一下Electron,记录下来。 说起WEB桌面程序,当前最火的就是Electron了。 Electron的架构用一句话总结,就是一个main.js进程加上一个或数个chrome窗口,每个窗口都包含一个独立的Node.js。 这样的架构,使得这种桌面应用必须是一个(或数个)单 阅读全文
摘要:
前两个周末写了《手写PHP转Python编译器》的词法,语法分析部分,上个周末卡文了。 访问器部分写了两次都不满意,没办法,只好停下来,参考一下Python的实现。我实现的部分正好和Python是一个思路,就是生成CST(Concrete syntax tree)之后,再生成AST。由于我想创(to 阅读全文
摘要:
写完词法部分,又有很多杂事,周末终于有空来实现伟大的语法解析部分了。 撸完代码之后发现,程序太短了,不算上状态机,才186行(含注释),关键代码不到100行。运行调试过后,发现还行。居然可以解析OneThink里面的function.php。这个文件堪称Php程序的集大成者,里面什么妖魔鬼怪都有,调 阅读全文
摘要:
上周写了《ThinkPhp模板转Flask、Django模板》 一时技痒,自然而然地想搞个大家伙,把整个PHP程序转成Python。不比模板,可以用正则匹配偷懒,这次非写一个Php编译器不可。 上网搜了一下,发现大部分Python to xxx的transpile都是直接基于AST,省略了最重要的T 阅读全文
摘要:
前天写了个《ThinkPhp模板转Flask模板》 居然被同事鄙视了,原因是他用Django,我用Flask,为了避免被他继续安利Django的强大。我决定写一个Django模板转换器。 为了复用代码,得用继承,我把原代码分成三段,一下子获得了三个转换器。 class ConverterTempla 阅读全文
摘要:
Template Converter 网上的PHP资源很多,项目要用Python,所以想起做一个模板转换器,从ThinkPhp转成Flask的Jinja模板。 直接指定两个目录,将目录下的模板文件转换。 依赖于chardety库,自动检测模板的编码。 1 if __name__ == '__main 阅读全文
摘要:
为什么会是Node.JS? 从技术上讲,Node.JS不是一个非常好的项目,Node.JS只是把一个烂想法实现到了可以接受的程度。 但是人们为什么愿意用Node.JS? 从历史看来,成功的项目从来都不是技术一流的,比如PC,以太网,TCP/IP,HTML。这些项目都是被科学家们鄙视到死的技术。唯一的 阅读全文