PHP 现在可以零成本构建原生 iOS 和 Android 应用 NativePHP for Mobile v3 发布

PHP 现在可以零成本构建原生 iOS 和 Android 应用 NativePHP for Mobile v3 发布

NativePHP for Mobile 从 v3 版本开始,核心框架采用 MIT 协议免费开源。Laravel/PHP 开发者现在可以零成本构建原生 iOS 和 Android 应用。

如果使用 nativePHP 开发移动应用的话,可以看nativephp mobile v3 中文文档

插件化架构

v3 版本最大的变化是引入了模块化插件系统。此前版本中集成在核心包里的原生功能,现在被拆分成独立的插件。

每个插件都是一个独立的 Composer 包,包含 Swift 和 Kotlin 代码、权限清单以及原生依赖。开发者只需安装实际用到的插件,这些插件会在构建过程中直接编译进应用。

插件安装非常简单,通过 composer require 安装包后,在 NativeServiceProvider 中注册即可。只有注册的插件才会被编译进最终的二进制文件,这样可以保持应用体积精简,也有助于通过应用商店审核。

创建插件

插件本质上就是 Composer 包,只是多了一些额外配置。通过添加 nativephp.json 文件,开发者可以定义 PHP 类、视图文件、桥接函数、原生依赖(CocoaPods、Swift Packages、Gradle)、权限声明、JavaScript 文件等。

NativePHP 核心提供了构建钩子、生命周期钩子、服务提供者注册等机制,让插件开发体验更加顺畅。

插件可以发布到 Packagist,也可以作为项目内部代码使用,无需发布到公共仓库。这意味着应用的 Laravel 代码库可以包含构建原生应用所需的一切。

免费核心

新架构将核心包精简到最小化,应用只需包含实际使用的功能。这让应用默认就更小、更高效,也避免了应用商店审核时因包含未使用功能而被拒的问题。

NativePHP 团队将 v3 版本命名为 NativePHP Air,并将其转为 MIT 开源协议。v3 之前的版本仍然遵循原有的 Business Source License。

核心框架开源后,社区可以参与贡献,团队欢迎针对 iOS 和 Android 核心应用的 PR。

免费插件

以下插件完全免费开源(MIT 协议):

  • Browser - 浏览器功能
  • Camera - 相机调用
  • Device - 设备信息获取
  • Dialog - 原生对话框
  • File - 文件操作
  • Microphone - 麦克风调用
  • Network - 网络状态检测
  • Share - 系统分享功能
  • System - 系统信息

付费插件

以下功能需要单独购买插件(一次性付费,可用于无限项目):

  • Biometrics - 生物识别(Face ID、指纹)
  • Geolocation - 地理位置
  • Push Notifications - 推送通知(基于 Firebase)
  • Scanner - 扫描器
  • Secure Storage - 安全存储

插件市场

插件市场(Plugin Marketplace)将所有 NativePHP 插件集中展示,开发者可以发现免费和付费插件。

未来几周,市场将向第三方开发者开放,届时开发者可以在 nativephp.com 上架自己的插件,甚至可以销售自己开发的插件。例如相机滤镜插件、支付网关集成、社交登录包等。

Jump:即时设备测试

在真机上测试应用通常是一个缓慢且繁琐的过程,需要安装数 GB 的软件、模拟器和框架。而且,没有 Mac 就无法为 iPhone 构建和测试应用。

Jump 改变了这一切。

Jump 是一个安装在手机上的应用(支持 Android 和 iOS),可以在真机上测试 NativePHP 应用,无需编译任何东西,也不需要开启开发者模式。

只需运行 native:jump Artisan 命令,打开手机上的 Jump 应用扫描二维码,Laravel 应用就会直接加载到设备上,连接到本地开发服务器。

shell 复制代码
php artisan native:jump

# 或者

./native jump

NativePHP 构建速度很快,本地开发环境的改动几乎可以实时反映到设备上。未来还计划支持完整的 HMR(热模块替换)。

Jump 应用完全免费,nativephp/mobile v3 已包含运行 Jump 所需的一切。

Jump 包含所有官方 NativePHP 插件(包括付费插件),开发者可以免费试用和学习所有功能。唯一的限制是 Jump 无法测试第三方插件。

Mimi:AI 辅助编码

Mimi(取自北欧智慧之神 Mimir)是 NativePHP 提供的 AI 辅助编码功能,可以让 AI 模型帮助编写 NativePHP 应用:

  • 直接在浏览器中创建新的 NativePHP 项目(移动端也可以)
  • 用自然语言描述想要构建的内容,支持语音输入
  • 直接在 Jump 中测试应用
  • 连接 GitHub 仓库,立即获取所有应用代码

这是从想法到可运行移动应用的最快路径,完全基于 Laravel。

升级指南

如果已经安装了 nativephp/mobile,升级到 v3 的步骤如下:

  1. composer.json 中移除 NativePHP 仓库(https://nativephp.composer.sh
  2. 运行 composer remove nativephp/mobile 卸载旧版本
  3. 运行 composer require nativephp/mobile 从 Packagist 安装 v3
  4. 安装应用中使用的功能对应的插件

除了注册新插件外,应用代码基本不需要修改。安装插件后可以使用以下命令注册:

shell 复制代码
php artisan native:plugin:register vendor/plugin

# 或者

./native plugin:register vendor/plugin

快速开始

NativePHP for Mobile v3 现已发布。在手机上安装 Jump,然后在开发环境中运行以下命令:

shell 复制代码
laravel new my-mobile-app
cd my-mobile-app
composer require nativephp/mobile
php artisan native:jump

这里面有几个小坑

  • PHP 要求 >=8.3
  • 在 windows 上测试,需要先安装 7-zip
  • 我在 IOS 手机测试得,使用 php artisan native:jump 之后会弹出一个二维码,用手机上的 Jump 扫描即可。这个 Jump 目前只能在 TestFlight 上安装,打开这个安装链接即可。

很完美,至少从安装上到测试效果都很快了。效果图如下:

原文 PHP 现在可以零成本构建原生 iOS 和 Android 应用 NativePHP for Mobile v3 发布

相关推荐
码兄科技1 天前
实战:基于Spring Boot + UniApp的地理信息小程序开发
spring boot·后端·uni-app
腾讯云云开发1 天前
腾讯云 CloudBase 登上 WAIC:我们为 Agent 重新设计了云的生产线
后端
星栈1 天前
从装一堆工具到看懂 Node 工程化思维:我的项目复盘记录
后端·node.js
65岁退休Coder1 天前
LangChain v1.3.4 笔记 - 05 Agent 上下文记忆
后端
颜酱1 天前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
JaneConan1 天前
鸿蒙 韶非 UI 系列:能力调用 startAbilityForResult,跳能力拿回参,鸿蒙能力路由入门
后端·harmonyos
晴空了无痕1 天前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
用户8356290780511 天前
如何使用 Python 在 Excel 中添加、编辑和删除超链接
后端·python
花椒技术1 天前
原本要 2 天的服务端冒烟前置审查,为什么 3 分半就能出报告?|QA 质量交付实践(三)
后端·ai编程·测试
达达尼昂1 天前
AI 编程的工程化实践:Flutter AI Harness 的设计与落地
人工智能·后端·全栈