首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >NativePHP Mobile v3.1 性能提升超过 10 倍

NativePHP Mobile v3.1 性能提升超过 10 倍

作者头像
Tinywan
发布2026-07-01 15:36:29
发布2026-07-01 15:36:29
230
举报
文章被收录于专栏:开源技术小栈开源技术小栈

⚡迄今为止最大的性能飞跃

NativePHP v3.1 刚刚发布。这可不是一次小更新。这是我们有史以来发布过的单次最大性能升级。

说的是响应时间提升 10 倍。支持后台作业处理。支持 Android 8 及以上版本。在 iOS 上完整支持 ICU。自动匹配 PHP 8.3–8.5 版本。二进制文件缓存。还有更多改进。

持久运行时

以前在 NativePHP 中,每个请求都要完整走一遍 Laravel 的启动周期:注册服务提供者、构建容器、处理请求,然后全部销毁。每次请求都如此。 响应时间通常在 200–300ms 左右徘徊。

现在这一切都结束了。v3.1 只启动一次 Laravel,后续所有请求都重用同一个内核。响应时间直接降到 5–30ms。这不是打字错误——真的是 10 倍 的提升。

你的应用瞬间变得极快。点击立刻响应。页面眨眼加载。它终于真正感觉像原生应用了。

代码语言:javascript
复制
// config/nativephp.php
'runtime' => [
    'mode' => 'persistent', // 或 'classic'
    'reset_instances' => true,
    'gc_between_dispatches' => false,
],

设置为 persistent(默认值)即可重用内核;设为 classic 则保持每次请求都启动/销毁。如果持久模式启动失败,会自动回退到经典模式。

Livewire 状态、路由状态、门面实例——全部自动处理好。

后台队列工作者

从第一天起就最被期待的功能之一。v3.1 内置了 ZTS(线程安全)PHP 和专用的后台队列工作者。它运行在独立线程上,与主请求周期完全隔离。

配置超级简单:

代码语言:javascript
复制
QUEUE_CONNECTION=database

就这么一行。然后像往常一样分发任务:

代码语言:javascript
复制
use App\Jobs\SyncData;

SyncData::dispatch($payload);

工作者会在应用启动时自动运行。长时间运行的 API 调用、文件处理、数据同步……再也不会阻塞 UI 了。

任务会被持久化到数据库中,即使应用重启也能继续。Laravel 原生的重试机制、失败处理全部直接可用。

iOS 和 Android 全部完美支持。

Android 8+ 支持

之前 NativePHP 要求最低 Android 13(API 33),这把 Android 生态中很大一部分设备排除在外。

v3.1 把最低要求降到了 Android 8(API 26)。

这在 Android 端需要做静态链接来提升性能和可靠性。现在 SDK 版本完全可配置:

代码语言:javascript
复制
// config/nativephp.php
'android' => [
    'compile_sdk' => env('NATIVEPHP_ANDROID_COMPILE_SDK', 36),
    'min_sdk' => env('NATIVEPHP_ANDROID_MIN_SDK', 33),
    'target_sdk' => env('NATIVEPHP_ANDROID_TARGET_SDK', 36),
],

能覆盖更多设备、更多用户、更大市场。

iOS 上的 ICU/Intl

iOS 构建现在自带完整 ICU 支持,PHP 的 intl 扩展在两个平台上都能正常工作。

之前 intl 只在 Android 上可用,这对很多依赖它的包(比如 Filament)是个致命问题,因为 Filament 需要它来做数字格式化、日期格式化、复数处理等。

v3.1 之后,Filament 可以直接在 iOS 和 Android 上开箱即用。

好好感受一下:一个完整的 Filament 管理面板,作为原生移动应用同时发布到 iOS 和 Android。没有 hack,没有妥协。

ICU 支持在安装时可以通过 --with-icu / --without-icu 选择是否包含。如果你想保持包体更小可以关掉。但我们已经做了大量优化,确保默认带 ICU(目前仅支持 en 区域设置)的体验非常轻量:ICU 现在只增加约 10–15MB 的总体应用体积,两个平台都是。

PHP 版本自动匹配

NativePHP 现在会读取你的 composer.json,在下载 PHP 二进制文件时自动匹配对应的版本,再也不用手动固定版本了。

  • • 最低支持 PHP 8.3
  • • 支持到 PHP 8.5
  • • 使用版本清单取代硬编码 URL
  • • 二进制文件会缓存在本地 nativephp/binaries 目录,每次构建不再重复下载

开发者体验改进

一系列提升开发效率的细节优化:

  • 插件多注册native:plugin:register 一次扫描就能发现并注册多个插件
  • 未注册插件警告native:run 现在会在插件没注册时提醒你
  • 平台名称简写:任何需要写平台名的地方都可以用 ios/iandroid/a
  • native:package 构建时自动编译插件
  • • Android 重定向时保留 URL 编码
  • • 移除无用依赖:react/httpreact/socket 已删除
  • • 支持 Laravel 13

升级方式

v3.1 是零破坏性变更的平滑升级。

代码语言:javascript
复制
"require": {
    "nativephp/mobile": "~3.1.0"
}
代码语言:javascript
复制
composer update
php artisan native:install --force

--force 参数会强制更新原生项目文件、PHP 二进制文件和配置到 v3.1 最新版。

这不只是一个小版本更新。这是让 NativePHP 应用真正感觉像原生应用的版本。 快 10 倍、支持后台处理、更广的设备兼容性、完整的生态支持。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ⚡迄今为止最大的性能飞跃
  • 持久运行时
  • 后台队列工作者
  • Android 8+ 支持
  • iOS 上的 ICU/Intl
  • PHP 版本自动匹配
  • 开发者体验改进
  • 升级方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档