NativePHP for Mobile v3发布,如何零成本构建原生iOS和Android应用?

摘要:PHP 现在可以零成本构建原生 iOS 和 Android 应用 NativePHP for Mobile v3 发布 NativePHP for Mobile 从 v3 版本开始,核心框架采用 MIT 协议免费开源。LaravelPHP
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 应用就会直接加载到设备上,连接到本地开发服务器。 php artisan native:jump # 或者 ./native jump NativePHP 构建速度很快,本地开发环境的改动几乎可以实时反映到设备上。未来还计划支持完整的 HMR(热模块替换)。 Jump 应用完全免费,nativephp/mobile v3 已包含运行 Jump 所需的一切。 Jump 包含所有官方 NativePHP 插件(包括付费插件),开发者可以免费试用和学习所有功能。唯一的限制是 Jump 无法测试第三方插件。
阅读全文