顧名思義,NativePHP 就是原生 PHP,意指可在本機執行的 PHP 應用程式。長久以來,PHP 大多用於網頁開發,所有程式碼都在遠端伺服器上執行。NativePHP 徹底改變了這種運作模式,開發人員現在可以使用它來開發原生桌面軟體,以及適用於 Android 與 iOS 的行動應用程式。
你可以在此瀏覽官方網站:Baking Delicious Native Apps – NativePHP
NativePHP 的運作方式為何?
其原理並不繁雜,核心概念和多數應用程式大同小異。傳統 PHP 仰賴遠端伺服器上的直譯器執行,而 NativePHP 會將 PHP 執行環境直接封裝在最終的 EXE 檔案或應用安裝檔內。該專案團隊也針對內建執行環境進行最佳化,提升整體執行效能。
以下為官方架構圖:

NativePHP 會把完整的 PHP 執行環境與你的應用程式整合在一起。行動應用會透過 Swift 或 Kotlin 進行封裝,桌面軟體則使用 Electron 建置。此平台透過專屬橋接介面存取硬體功能,並藉由內建的原生 WebView 顯示應用介面。你仍可使用標準 PHP 進行開發,只需新增數個擴充功能,就能連接裝置原生功能。概念相當簡單:你所有的 PHP 程式碼都會直接在使用者的裝置本機執行。
從左側架構圖可見,每一個 NativePHP 應用都由 Swift 或 Kotlin 外層程式碼包裹,內部包含完整的 PHP 執行環境與自訂 PHP 擴充功能。
圖中標示的自訂 PHP 擴充功能,是讓 PHP 能夠呼叫系統原生功能的核心元件,也是專為 NativePHP 打造的專用 PHP 外掛程式。它接收 PHP 送出的請求,轉交給底層的 Swift 或 Kotlin 橋接程式碼來執行實際的系統指令,而系統回傳的資料也會透過同一個擴充功能傳回 PHP。
這項自訂擴充功能不可或缺。缺少它,NativePHP 就無法運作,我們也不可能使用 PHP 開發本機應用程式。
使用者透過原生 WebView 檢視所有內容,這是內嵌在應用程式中的輕量級瀏覽器引擎,用來載入 PHP 與 HTML 頁面。它並非完整版 Chrome,只是封裝在成品應用當中的瀏覽器元件。
至此,相信你已經對 NativePHP 有基礎認識。我們會先從行動應用開發開始教學,後續再介紹桌面開發的相關內容。