Nightrain——像开发PHP网站一样开发桌面程序

让PHP能够开发桌面程序一直是某些PHPer的梦想, 如今, 这个梦想可以通过Nightrain实现, 虽然过程或多或少还是有那么一点(?)蛋疼和蹩脚, 但至少, 现在我们可以做到了.

Nightrain是通过Python语言及其模块wxPython实现的, 而wxPython背后则是wxWidgets这一成熟的C++ GUI类库, 感谢他们为PHP创造了这个机会.

不过, 通过Nightrain开发出的, 不是像那个曾经存在过但又几乎不留痕迹的PHP-GTK一样使用系统原生界面的桌面程序, 而是基于WebApp的桌面程序, 这一点与我们同样蛋疼的Node-Webkit有些相像. 也因为是WebApp, Nightrain开发出的桌面程序, 可以很容易的在Windows, Linux, Mac这三大主流桌面操作系统上运行.

目前, Nightrain把HTML, JavaScript, CSS, PHP, SQLite, Apache组合到了一起, 以达到近似原生桌面程序的效果, 这种模式诞生出的软件, 用户体验好不好, 主要还是要看前端的网页部分. 所以, 想通过Nightrain开发出好的桌面程序, 你必须同时精通后端和前端. 好吧, 其实我想说的是, 强行用一个与桌面程序几乎毫无干系的语言来开发桌面程序, 并没有多少实用价值, 不过, 既然这个东西已经诞生了, 我们还是得对作者予以尊重, 毕竟, 他尝试去做了大多数人不愿意做的事情, 并做出了成果, 从这一点上看, 他已经超越了业内的大多数人,

对于开发者而言, Nightrain在分发和生产中还是存在着不少的问题, 比如在Windows上, 用户必须安装VC++ 2012的运行库才能运行程序, 且程序路径中不能含有中文(由于使用了PyInstaller), 由于不包含浏览器组件, 前端开发可能遭遇兼容问题, 还有一件很挫的事情, 你会发现Nightrain确实是跑了一个Web服务器, 通过”http://localhost:[默认从8000开始的端口号]”就可以在浏览器中访问…如果这些大大小小的问题能在未来的版本中得到解决, 那么也许Nightrain能够成为PHP中的Node-webkit, 在广大PHPer的努力下, 虽然希望渺茫, 但也许桌面开发领域中新的革命会就此开始.

官网: http://www.naetech.com/php-nightrain

Github: https://github.com/naetech/nightrain