PHPSciter 1.0 版本发布,轻松写桌面应用

栏目: 软件资讯 · 发布时间: 5年前

内容简介:关于Sciter Sciter是一个非常优秀的的跨平台GUI框架,它使用HTML5 + CSS来绘制界面,使用TIScritpt来做交互。Sciter由Andrew发起。这是一位非常资深的UI专家,以邀请专家的身份参与HTML5标准的制定,Evernote最早...

关于Sciter

Sciter是一个非常优秀的的跨平台GUI框架,它使用HTML5 + CSS来绘制界面,使用TIScritpt来做交互。Sciter由Andrew发起。这是一位非常资深的UI专家,以邀请专家的身份参与HTML5标准的制定,Evernote最早的三个开发者之一。Sciter主要的特点:

  • 跨平台:Sciter支持Windows、 Linux 和MacOS
  • 轻量级:Sciter整体的实现非常轻,只有几兆大小
  • 使用Html5实现:Sciter使用HTML,CSS来渲染窗口,使用TIScript做交互。表现力强,上手简单。 

Sciter作者正在开发 Sciter-JS项目,这个项目集成了quickjs。这个项目发布以后很快得到了很多人的关注,相信会吸引更多的人使用Sciter项目。

关于PHPSciter

PHPSciter是一个 PHP 的扩展,将Sciter集成到PHP中,这样就可以使用PHP来开发桌面应用。对于广大的PHPer来说,之前B/S架构下面的开发经验基本上可以移植到Sciter下面来。这样可以充分的享受PHP已有的各种类库,快速的开发桌面应用工具。

安装PHPSciter

我们已经帮大家打好了各个平台下面的包:

Windows: https://github.com/longyan/phpsciter/raw/master/package/windows/phpsciter.zip
Ubuntu: https://github.com/longyan/phpsciter/raw/master/package/deb/phpsciter_php7.4.3-4ubuntu2.4_am64.deb
CentOS: https://github.com/longyan/phpsciter/raw/master/package/rpm/php7.4-phpsciter-7.4.3-5.x86_64.rpm

运行demo

以windows为例,解压缩之后,有一个example目录。

D:\Sciter>php examples\phpsciter-callback\index.phpt
<?php
$oSciter = new PHPSciter();
$oSciter->setResourcePath('file://' . __DIR__ . '/res/');
$oSciter->setWindowFrame(100, 100, 100 + 500 + 1, 100 + 500 + 1);
$oSciter->setWindowTitle('hello');
$oSciter->loadFile('index.php');
$oSciter->setOption(PHPSciter::SCITER_SET_SCRIPT_RUNTIME_FEATURES,PHPSciter::ALLOW_FILE_IO | PHPSciter::ALLOW_SOCKET_IO | PHPSciter::ALLOW_EVAL |PHPSciter::ALLOW_SYSINFO);
$oSciter->run(PHPSciter::SW_TITLEBAR | PHPSciter::SW_RESIZEABLE | PHPSciter::SW_MAIN | PHPSciter::SW_ENABLE_DEBUG|PHPSciter::SW_CONTROLS);
?>

这个运行之后,会加载res目录下面的index.php,里面的代码如下:

<?php
 include_once "callback.php";
 ?>
<html>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<div>
    Request & Get Int:
    <button id="plus_btn">Click Plus</button>
    <button id="sum_btn">Click Sum</button>
    <br/>
</div>
<script type="text/tiscript">
$(#plus_btn).on("click", function() {
    var plus = view.plus(100);
    $(#data_json).html = JSON.stringify(plus);
    $(#data_area).html = "";
});
$(#sum_btn).on("click", function() {
    var sum = view.sum(1,2,3);
    $(#data_json).html = JSON.stringify(sum);
    $(#data_area).html = "";
});
callback.phpl里面的代码如下:
<?php
class classTest
{
    static public function plus($a)
    {
        return $a + 30;
    }
    static public function sum($a, $b, $c)
    {
        return $a + $b + $c;
    }
}
PHPSciter::defineFunction('plus', 'classTest::plus');
PHPSciter::defineFunction('sum', 'classTest::sum');

运行之后的界面:

PHPSciter 1.0 版本发布,轻松写桌面应用

运行机制

1. 启动Sciter窗口,加载index.php
2. index.php里面通过html的方式定义了若干的元素,并绑定了其click事件的响应函数。
3. 当事件触发后,sciter引擎会将click事件的调用传给php的解释引擎。
4. 在callback里面通过PHPSciter::defineFunction()方法定义了响应函数。
5. PHP引擎调用该函数,并将结果返回。
6. 前段的JS更新页面元素。

关于我们

青岛龙之言软件有限责任公司由国内著名的 Swoole团队和 禅道团队合资成立。Swoole团队是业内知名的PHP底层开发团队,为PHP贡献了协程、加密、监控等多种方案,有力地弥补了PHP在高并发高性能场景的短板。禅道团队是PHP语言的重度用户,先后使用PHP语言开发了四款开源软件。两个团队在PHP社区上都有深厚的感情,都想为PHP社区做些自己的贡献。于是就诞生了龙之言这个公司。

龙之言公司主要的使命就是弥补PHP的短板,完善PHP的生态,为中国的PHP用户提供有力的技术支持。我们主要的工作方向有如下几个:

  • 提高PHP在高性能高并发场景的适用性
  • 适配国产化操作系统
  • 完善各种类库
  • 加强PHP对人工智能场景的支持
  • 加强PHP在物联网场景的支持
  • 加强PHP在打包安装方面的支持
我们的项目将主要以开源的方式来进行发布,如果您有什么好的想法,或者痛点,或者想参与到我们的开发中来,欢迎和我们联系。我们的联系方式: guoxinhua@swoole.com

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Security, Privacy and Commerce, 2nd Edition

Web Security, Privacy and Commerce, 2nd Edition

Simson Garfinkel / O'Reilly Media / 2002-01-15 / USD 44.95

Since the first edition of this classic reference was published, World Wide Web use has exploded and e-commerce has become a daily part of business and personal life. As Web use has grown, so have ......一起来看看 《Web Security, Privacy and Commerce, 2nd Edition》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具