news 2026/5/11 3:13:56

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/5/9 0:59:01

CAD2020许可证验证超时问题深度解决方案

CAD2020许可证验证超时问题深度解决方案 【免费下载链接】CAD2020许可检出超时的解决办法 本仓库提供了一个资源文件,专门用于解决CAD2020许可检出超时的问题。该资源文件包含了详细的步骤和解决方案,帮助用户快速解决在使用CAD2020时遇到的许可检出超时…

作者头像 李华
网站建设 2026/5/9 0:59:12

外卖系统实时交互终极指南:从订单焦虑到秒级同步的3大突破

外卖系统实时交互终极指南:从订单焦虑到秒级同步的3大突破 【免费下载链接】OpenAPI-Specification 项目地址: https://gitcode.com/gh_mirrors/open/OpenAPI-Specification 你是否曾经在深夜点餐后,盯着手机屏幕反复刷新,却始终看不…

作者头像 李华
网站建设 2026/5/9 3:07:42

tModLoader终极指南:解锁泰拉瑞亚无限可能

当你站在泰拉瑞亚的星空下,是否曾幻想过:如果这个世界还有更多未知等待探索该有多好?tModLoader正是实现这个梦想的钥匙。作为官方认证的模组加载器,它为你打开了通往无限创意世界的大门。 【免费下载链接】tModLoader A mod to m…

作者头像 李华
网站建设 2026/5/9 2:16:07

6倍提速+75%显存节省:Kimi Linear如何改写大模型效率规则

6倍提速75%显存节省:Kimi Linear如何改写大模型效率规则 【免费下载链接】Kimi-Linear-48B-A3B-Instruct 项目地址: https://ai.gitcode.com/MoonshotAI/Kimi-Linear-48B-A3B-Instruct 导语 2025年10月,月之暗面科技发布Kimi Linear混合线性注意…

作者头像 李华
网站建设 2026/5/8 17:33:03

2025年AI会议管理的三大智能革命:从时间追踪到学术决策支持

在人工智能研究领域,时间管理不再是简单的日历提醒,而是决定研究成果发表时机和学术影响力的关键因素。传统的学术时间规划往往面临信息碎片化、决策依据不足等挑战,而AI Deadlines的出现正在彻底改变这一现状。本文将深度解析如何通过智能学…

作者头像 李华