概述
NativePHP for Mobile 由多个部分组成:
- Laravel 应用程序 (PHP)
nativephp/mobileComposer 包- 带有自定义 NativePHP 扩展的 PHP 自定义构建
- 原生应用程序 (Swift & Kotlin)
你的 Laravel 应用
在大多数情况下,你可以像往常一样构建 Laravel 应用程序,在需要的地方使用 NativePHP 的内置 API 添加原生功能。
nativephp/mobile
这个包是一个相当普通的 Composer 包。它包含与 NativePHP 扩展交互所需的 PHP 代码、安装和运行应用程序的工具,以及每个原生应用程序(iOS 和 Android)的所有代码。
PHP 构建
当你运行 native:install Artisan 命令时,该包将获取适当版本的自定义构建 PHP 二进制文件。
NativePHP for Mobile 目前捆绑 PHP 8.4。你应该确保你的应用程序能够与此版本的 PHP 一起工作。
这些自定义 PHP 构建是专门针对移动平台编译的,不能在其他上下文中使用。
它们被编译为可嵌入的 C 库并嵌入_到_原生应用程序中。这样,PHP 不会作为典型 Web 服务器环境下的单独进程/服务运行;本质上,原生应用程序本身被扩展了执行 PHP 代码的能力。
然后,你的 Laravel 应用程序由原生应用直接执行,使用嵌入的 PHP 引擎来运行代码。这使 PHP 运行得尽可能接近原生。在现代硬件上,它非常快速和高效。
原生应用
NativePHP 为 iOS 和 Android 各提供一个应用。当你运行 native:run Artisan 命令时,你的 Laravel 应用被打包并复制到其中一个应用中。
要为两个平台构建,你必须运行两次 native:run 命令,分别针对每个平台。
每个原生应用"外壳"在你的应用程序每次启动时都会运行一系列步骤来准备环境,包括:
- 检查捆绑版本的 Laravel 应用是否比已安装版本更新
- 如有必要,安装更新版本
- 运行迁移
- 清除缓存
- 创建存储符号链接