1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP桌面应用开发思考 - 小D

作者:用户 来源:互联网 时间:2017-12-01 10:05:22

开发垃圾回收动态

PHP桌面应用开发思考 - 小D - 摘要: 本文讲的是PHP桌面应用开发思考 - 小D, PHP在5.3后,已经支持完整GC(垃圾回收),在桌面应用开发上,应该可以达到实用级别。WIN32的桌面开发,无非是调用WIN32API来实现,可以通过C扩展开发PHP插件来完成,但是,有一个问题不得不考虑,PHP是动态脚本语言,调用C

PHP在5.3后,已经支持完整GC(垃圾回收),在桌面应用开发上,应该可以达到实用级别。WIN32的桌面开发,无非是调用WIN32API来实现,可以通过C扩展开发PHP插件来完成,但是,有一个问题不得不考虑,PHP是动态脚本语言,调用C API来创建控件会非常复杂,当前已经有可用的开源插件WB,试用后感觉不太乐观,简单界面无问题,复杂界面就太难了,好像用C开发桌面一样。PHP程序员最熟悉的是WEB方式开发,能否把这种优势保留呢。在XX搜索了好几天,发现了一个不错的界面引擎HTMLayout,文件不大,但实现了很多HTML+CSS的功能,基本上可以作为一个没有JS引擎的浏览器使用,具体功能可以查看官网。

HTMLayout(HTML+CSS)作界面,PHP写代码,使用PHP CLI方式运行桌面应用,两者强强结合,应该会是一个不错的解决方案,就像PHP代替了JS脚本一样。但我们还要解决一个问题,PHP不支持多线程,这个必须有,本人也找到了解决方案,有一个pthreads插件,能解决这个问题。也可以通过多进程的方式实现,这个没有找到现成插件,可以通过C开发一个插件支持。

PHP是动态脚本,代码看得见,要达到商业使用,必须保密,可以使用现成的加密方案,HTMLayout的界面代码也是能看得见,也必须保密,可以通过打包为资源文件的方式,动态加载。

理论上可行的方案,还必须实际检验一下,才能证实可行,下一步,我将一步步实现这个解决方案,以及一系列工具的开发,可能是一个相当长的过程,必须支持。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索开发 , 垃圾回收 动态 ,以便于您获取更多的相关知识。