말 그대로 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로 로컬 애플리케이션을 제작하는 것도 불가능합니다.
사용자는 Native WebView를 통해 모든 콘텐츠를 확인하는데, 이는 앱에 내장된 경량 브라우저 엔진으로 PHP 및 HTML 페이지를 로드합니다. 완전한 Chrome 브라우저가 아닌, 최종 앱에 패키징된 브라우저 컴포넌트입니다.
이제 NativePHP에 대한 기본적인 이해를 갖추셨을 것입니다. 먼저 모바일 앱 제작 방법을 배우고, 이후 데스크톱 개발 내용을 다루겠습니다.