从付费软件到自主开发:我用AI和FFmpeg实现了一个录屏工具

插件化架构

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 应用就会直接加载到设备上,连接到本地开发服务器。

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 的步骤如下:

从 composer.json 中移除 NativePHP 仓库

运行 composer remove nativephp/mobile 卸载旧版本

运行 composer require nativephp/mobile 从 Packagist 安装 v3

安装应用中使用的功能对应的插件

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

php artisan native:plugin:register vendor/plugin

或者

./native plugin:register vendor/plugin

快速开始

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

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 上安装,打开这个安装链接即可。

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

Laravel 现在可以零成本构建原生 iOS 和 Android 应用 NativePHP for Mobile v3 发布泄心势娇

相关推荐
YCjE72G104 小时前
再次革新 .NET 的构建和发布方式(一)
分享
dpf75SIM34 小时前
我们如何同步 .NET 的虚拟单体仓库(一)
分享
jyN4ewP6J4 小时前
FastAPI项目半夜报警吵醒你?聊聊告警这事儿怎么搞!
分享
超级的烤鸡5 小时前
Oracle RMAN物理备份Web系统
分享
tIP5N8hzb5 小时前
JAVA找出哪个类import了不存在的类
分享
aZffn7knU5 小时前
拆穿名词诈骗!用大白话理解晦涩难懂的AI概念
分享
KEDWH5mu15 小时前
OpenClaw(大龙虾)最新版本地部署与配置指南(可复现版)
分享
ZZ7MVCgeU5 小时前
通过 C# 复制 Word 文档、指定段落、指定节
分享