PebView 是一个轻量级原生网络视图包装器,允许在它自己的原生 GUI 窗口中显示 HTML 内容。它使你在桌面应用程序中拥有网络技术的力量,同时隐藏了 GUI 的事实是基于浏览器的。
PebView 可用于 Windows、macOS、Linux GTK。它使用原生 GUI 来创建一个网络组件窗口:Windows 上使用 WinForms,macOS 上使用 Cocoa,在 Linux 上使用 GTK。如果你选择冻结你的应用程序,PebView 不会捆绑沉重的 GUI 工具包或网络渲染器,从而保持可执行文件大小小巧。
PebView 提供了窗口操作功能(如应用程序菜单和各种对话框)、Javascript ↔ PHP 的双向通信以及 DOM 支持。
- PHP 8.2 或更高版本
- PHP-FFI 扩展
- Composer
- Windows x86_64
- Linux x86_64 或 aarch64
- MacOS x86_64 或 arm64
composer require kingbes/pebviewuse Kingbes\PebView\Window;窗口类->进入详情use Kingbes\PebView\Dialog;对话框类->进入详情use Kingbes\PebView\Toast;通知类->进入详情
use Kingbes\PebView\WindowHint; 窗口提示
WindowHint::None自由变换WindowHint::Min最小化窗口WindowHint::Max最大化窗口WindowHint::Fixed固定窗口大小
use Kingbes\PebView\DialogBtn; 对话框按钮
DialogBtn::Ok确定按钮DialogBtn::OkCancel确定按钮/取消按钮DialogBtn::YesNo是按钮/否按钮
use Kingbes\PebView\DialogLevel; 对话框级别
DialogLevel::Info信息对话框DialogLevel::Warning警告对话框DialogLevel::Error错误对话框
use Kingbes\PebView\FileAction; 文件操作
FileAction::Open打开文件FileAction::OpenDir打开目录FileAction::Save保存文件
每个平台只产出一个动态库:lib/<系统>/<架构>/PebView.{dll,so,dylib}(窗口、对话框、系统通知都在其中)。
| 平台 | 命令 | 依赖 |
|---|---|---|
| Windows | source\build.cmd |
Visual Studio 2022(C++ 工具集)+ Windows SDK |
| Linux | ./source/linux.sh |
gcc / g++ / pkg-config / gtk+-3.0 / webkit2gtk-4.1 / libnotify |
| macOS | ./source/macos.sh |
Xcode Command Line Tools(默认同时产出 x86_64 与 arm64) |