
NativePHP v3.1 刚刚发布。这可不是一次小更新。这是我们有史以来发布过的单次最大性能升级。
说的是响应时间提升 10 倍。支持后台作业处理。支持 Android 8 及以上版本。在 iOS 上完整支持 ICU。自动匹配 PHP 8.3–8.5 版本。二进制文件缓存。还有更多改进。
以前在 NativePHP 中,每个请求都要完整走一遍 Laravel 的启动周期:注册服务提供者、构建容器、处理请求,然后全部销毁。每次请求都如此。 响应时间通常在 200–300ms 左右徘徊。
现在这一切都结束了。v3.1 只启动一次 Laravel,后续所有请求都重用同一个内核。响应时间直接降到 5–30ms。这不是打字错误——真的是 10 倍 的提升。
你的应用瞬间变得极快。点击立刻响应。页面眨眼加载。它终于真正感觉像原生应用了。
// config/nativephp.php
'runtime' => [
'mode' => 'persistent', // 或 'classic'
'reset_instances' => true,
'gc_between_dispatches' => false,
],设置为 persistent(默认值)即可重用内核;设为 classic 则保持每次请求都启动/销毁。如果持久模式启动失败,会自动回退到经典模式。
Livewire 状态、路由状态、门面实例——全部自动处理好。
从第一天起就最被期待的功能之一。v3.1 内置了 ZTS(线程安全)PHP 和专用的后台队列工作者。它运行在独立线程上,与主请求周期完全隔离。
配置超级简单:
QUEUE_CONNECTION=database就这么一行。然后像往常一样分发任务:
use App\Jobs\SyncData;
SyncData::dispatch($payload);工作者会在应用启动时自动运行。长时间运行的 API 调用、文件处理、数据同步……再也不会阻塞 UI 了。
任务会被持久化到数据库中,即使应用重启也能继续。Laravel 原生的重试机制、失败处理全部直接可用。
iOS 和 Android 全部完美支持。
之前 NativePHP 要求最低 Android 13(API 33),这把 Android 生态中很大一部分设备排除在外。
v3.1 把最低要求降到了 Android 8(API 26)。
这在 Android 端需要做静态链接来提升性能和可靠性。现在 SDK 版本完全可配置:
// 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 支持,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 的总体应用体积,两个平台都是。
NativePHP 现在会读取你的 composer.json,在下载 PHP 二进制文件时自动匹配对应的版本,再也不用手动固定版本了。
nativephp/binaries 目录,每次构建不再重复下载一系列提升开发效率的细节优化:
native:plugin:register 一次扫描就能发现并注册多个插件native:run 现在会在插件没注册时提醒你ios/i 或 android/anative:package 构建时自动编译插件react/http 和 react/socket 已删除v3.1 是零破坏性变更的平滑升级。
"require": {
"nativephp/mobile": "~3.1.0"
}composer update
php artisan native:install --force--force 参数会强制更新原生项目文件、PHP 二进制文件和配置到 v3.1 最新版。
这不只是一个小版本更新。这是让 NativePHP 应用真正感觉像原生应用的版本。 快 10 倍、支持后台处理、更广的设备兼容性、完整的生态支持。