news 2026/9/22 9:02:17

PHP 桌面端框架NativePHP for Desktop v2 发布!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PHP 桌面端框架NativePHP for Desktop v2 发布!

v2 的新特性

👋🏼 新仓库,新面貌

v2 已在统一的仓库 nativephp/desktop 下发布。这次更新将之前的两个独立仓库(nativephp/laravel 和 nativephp/electron)合并到了一个项目中。

这样的调整不仅与 nativephp/mobile 保持了一致性,也使得整个项目更易于维护,为未来的功能迭代提供了更好的基础。

值得注意的是,旧仓库仍然可用,官方团队会继续维护 v1 一段时间,但建议开发者尽快升级到 v2 以享受新特性。

🔒 默认增强安全性

v2 在安全性方面做了重要改进,开箱即用地提供了更好的安全默认设置。新版本默认禁用了 nodeIntegration 并启用了 contextIsolation,严格遵循 Electron 的安全最佳实践。这一变更能够有效保护应用程序免受潜在的安全漏洞威胁。

如果你的项目需要使用旧的行为模式,也不用担心!可以通过 Window::webPreferences() 方法轻松地为特定窗口重新启用 nodeIntegration。

🔧 调整 Electron 后端

如果需要对底层 Electron 应用程序进行深度定制,可以使用以下命令将其发布出来:

php artisan native:install --publish

这个命令会将 Electron 项目导出到 {project-root}/nativephp/electron 目录,让开发者能够完全掌控 NativePHP 的所有内部实现细节。

📦 在应用中捆绑额外文件

开发者们期待已久的功能终于实现了!v2 支持在应用程序中捆绑额外的文件,这些文件可以在运行时被访问。这个特性非常适合用来分发额外的资源文件,比如预编译的可执行文件。

这一功能为 NativePHP 应用程序的能力边界开辟了全新的可能性。

✨ 新的 ChildProcess::node() 方法

v2 新增了一个便捷的方法,可以直接使用捆绑的 Node.js 运行时来执行 JavaScript 文件:

ChildProcess::node(

cmd: 'resources/js/filesystem-watcher.js',

alias: 'filesystem-watcher'

);

无需预先编译 JavaScript 文件

在所有平台上利用相同的 Node.js 版本

在测试方面,ChildProcess fake 也提供了相应的方法,可以使用 ChildProcess::assertNode() 来验证 Node 调用。

🪟 菜单栏窗口的 WebPreferences

v2 将 webPreferences 方法的支持扩展到了菜单栏窗口!在之前的版本中,这个强大的配置选项仅适用于常规窗口。现在开发者对菜单栏应用程序也拥有了同样级别的控制能力。

🐚 新的 Shell fake

新版本为测试提供了 Shell facade 的 fake 功能,允许开发者拦截和断言 shell 交互(如打开文件、显示文件夹或将项目移至回收站)而无需真正执行这些操作。

Shell::assertOpenedExternal('https://some-url.test');

底层升级:Electron v38

v2 将底层框架升级到了最新的 Electron v38,这意味着开发者可以享受到现代 Electron 基础带来的所有性能改进、安全增强和新功能。

重大变更 ⚠️

与任何主要版本一样,有一些需要注意的重大变更:

macOS 支持变更

重要提示: v2 不再支持 macOS Catalina 和 Big Sur。这个变更是由于升级到 Electron v38 所致,目的是与 Apple 官方支持的操作系统版本保持一致。虽然大多数用户不会受到影响,但建议在升级前先检查一下项目的部署目标系统。

安全默认设置

如前文所述,nodeIntegration 在 v2 中默认被禁用了。虽然这提高了应用的安全性,但可能会影响到依赖此功能的现有应用程序。好在开发者可以在需要的地方通过 Window::webPreferences() 方法轻松重新启用它。

升级到 v2

新版本的包现在可以在 nativephp/desktop 仓库中获取。具体的迁移步骤可以参考官方提供的升级指南。

开始构建!

NativePHP for Desktop v2 现已正式可用。无论是升级现有应用还是开启新项目,这些新特性都值得尝试。

NativePHP for Desktop 始终保持免费和开源,项目团队欢迎社区的贡献和赞助,共同推动项目的持续发展。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/21 22:38:48

故障注入测试:构建高韧性系统的工程实践

在分布式系统复杂度呈指数级增长的今天,传统测试方法已难以覆盖所有故障场景。根据Gartner最新研究报告,到2026年采用混沌工程实践的企业将减少80%的系统宕机时间。故障注入测试作为混沌工程的核心技术,通过主动在系统中引入故障来验证容错机…

作者头像 李华
网站建设 2026/9/21 23:40:15

WinSetView终极指南:如何快速统一Windows文件夹视图设置

WinSetView终极指南:如何快速统一Windows文件夹视图设置 【免费下载链接】WinSetView Globally Set Explorer Folder Views 项目地址: https://gitcode.com/gh_mirrors/wi/WinSetView WinSetView是一款专为Windows系统设计的免费开源工具,能够帮助…

作者头像 李华
网站建设 2026/9/21 16:51:17

ImageGPT技术解析:像素序列预测如何重构视觉AI底层架构

在当今快速发展的视觉AI领域,一个看似简单的技术理念正在重新定义图像生成的基本逻辑。OpenAI推出的ImageGPT模型通过"像素序列预测"这一创新思路,为2025年多模态大模型的演进奠定了重要基础。本文将深入剖析这一技术突破的核心原理、应用价值…

作者头像 李华
网站建设 2026/9/21 19:18:50

Beyond Compare 5 密钥生成完整指南:从原理到实战应用

Beyond Compare 5 密钥生成完整指南:从原理到实战应用 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare 作为一款功能强大的文件对比工具,其授权机制一直是…

作者头像 李华
网站建设 2026/9/22 7:15:55

手艺人札记:在开源系统中重塑技术的温度

长久以来,技术被谈论为一种近乎冷酷的建造艺术:架构、性能、工具链。然而,在我的旅程中,一次深刻的转变发生了——技术成长对我而言,逐渐从建造摩天大楼,转向了修复与塑造一件拥有生命力的器物。这一切&…

作者头像 李华
网站建设 2026/9/21 23:36:58

5种方法彻底解决番茄小说离线下载难题

5种方法彻底解决番茄小说离线下载难题 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否经历过这样的尴尬场景:地铁信号断断续续,正看到精彩章节却无法加载&…

作者头像 李华