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 無法測試第三方插件。
Mimi:AI 輔助編碼
Mimi(取自北歐智慧之神 Mimir)是 NativePHP 提供的 AI 輔助編碼功能,可以讓 AI 模型幫助編寫 NativePHP 應用:
- 直接在瀏覽器中創建新的 NativePHP 項目(移動端也可以)
- 用自然語言描述想要構建的內容,支持語音輸入
- 直接在 Jump 中測試應用
- 連接 GitHub 倉庫,立即獲取所有應用代碼
這是從想法到可運行移動應用的最快路徑,完全基於 Laravel。
升級指南
如果已經安裝了 nativephp/mobile,升級到 v3 的步驟如下:
- 從
composer.json中移除 NativePHP 倉庫(https://nativephp.composer.sh) - 運行
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上安裝,打開這個安裝鏈接即可。
很完美,至少從安裝上到測試效果都很快了。效果圖如下:

原文 PHP 現在可以零成本構建原生 iOS 和 Android 應用 NativePHP for Mobile v3 發佈