NativePHP: ¿Qué es y cómo usarlo?

En un mundo dominado por JavaScript, Swift, Kotlin y frameworks pesados, NativePHP surge como una bocanada de innovación para desarrolladores PHP. Esta herramienta permite crear aplicaciones nativas para escritorio y móvil con el mismo lenguaje y herramientas que ya dominas, sin salir de tu ecosistema PHP/Laravel. Si tu sueño es transformar tus proyectos web en apps nativas de verdad, ¡este tutorial es para ti!
¿Qué es NativePHP?
NativePHP es un framework moderno que combina:
- Clases simples e intuitivas, para acceder a recursos del sistema operativo de forma nativa (como ventanas, menús, notificaciones, archivos y más).
- Herramientas de construcción y empaquetado, como Electron, bastante difundido y con soporte amplio, o Tauri, que se destaca por generar aplicaciones de escritorio más ligeras y con menor consumo de memoria, integradas de forma transparente.
- Un runtime PHP estático, que integra el intérprete PHP dentro de la app, permitiendo distribuirlo sin exigir PHP instalado en el usuario.
Tú sigues escribiendo código en PHP (Laravel o puro), Blade, Inertia, Livewire, etc., y recibes una aplicación nativa multiplataforma lista para usar.
Requisitos de Utilización (escritorio)
Antes de empezar, asegúrate de tener instalado en tu entorno:
- PHP 8.1+
- Composer
- Node.js y npm (para construcción de assets)
- Laravel (v10+ recomendado)
- Git
- Dependencia a Electron/Tauri
Tutorial de Uso (escritorio)
1. Crear (o usar) un proyecto Laravel
Abre tu terminal y crea un nuevo proyecto Laravel (o usa uno ya existente):
composer create-project laravel/laravel meu-app-native
cd meu-app-native
Verifica si el servidor está funcionando:
php artisan serve
Si accedes a http://localhost:8000, verás Laravel funcionando normalmente.
2. Instalar NativePHP (escritorio vía Electron)
Añade el paquete de NativePHP:
composer require nativephp/electron
Después, ejecuta el comando de instalación:
php artisan native:install
Este comando va a:
- Preparar el boilerplate de Electron.
- Crear la carpeta
.nativephp/con configuraciones de la app. - Añadir dependencias necesarias.
3. Ejecutar y probar la aplicación
Ahora, basta con ejecutar:
php artisan native:serve
Laravel se iniciará en segundo plano y abrirá una ventana nativa usando Electron, mostrando tu aplicación. Ya no estás en el navegador: es una aplicación de escritorio real.
4. Crear una ventana personalizada
NativePHP permite controlar la forma en que se abre tu ventana.
Edita el archivo app/Providers/NativeAppServiceProvider.php:
use Native\Laravel\Facades\Window;
public function boot()
{
Window::open()
->title('Meu Primeiro App Nativo')
->width(1024)
->height(768)
->resizable()
->centerOnScreen();
}
5. Añadir un menú nativo
Puedes crear menús similares a los de cualquier app de escritorio:
use Native\Laravel\Facades\Menu;
use Native\Laravel\Menu\MenuItem;
public function boot()
{
$menu = Menu::new()
->appMenu()
->submenu('Arquivo', [
MenuItem::label('Abrir')->event('arquivo.abrir'),
MenuItem::label('Salvar')->event('arquivo.salvar'),
MenuItem::label('Sair')->quit(),
]);
$menu->register();
}
Ahora tu app tendrá un menú “Archivo” con opciones que pueden disparar eventos en Laravel.
6. Enviando notificaciones nativas
Las notificaciones del sistema pueden mostrarse con una única línea:
use Native\Laravel\Facades\Notification;
Notification::new()
->title('Sucesso!')
->message('Seu app nativo em PHP está rodando.')
->show();Notification::new()
->title('Sucesso!')
->message('Seu app nativo em PHP está rodando.')
->show();
Esto dispara una notificación en el sistema operativo, igual que cualquier otra aplicación.
7. Distribuyendo tu aplicación
Después de desarrollar, puedes empaquetar tu aplicación:
php artisan native:build
Este comando genera un ejecutable para el sistema operativo (Windows, macOS o Linux), con PHP integrado.
Puedes distribuir este archivo a usuarios finales sin exigir la instalación de PHP o Composer.
NativePHP en Mobile (iOS y Android)
Además del soporte para aplicaciones de escritorio, NativePHP también permite crear aplicaciones móviles nativas, aprovechando el mismo código PHP de tu backend Laravel.
Esto es posible porque NativePHP proporciona un runtime PHP integrado dentro de una app Swift (iOS) o Kotlin (Android). Así, PHP se ejecuta directamente en el dispositivo, sin necesidad de internet o servidor remoto, ideal para apps offline-first, con total acceso a las APIs del sistema.
Requisitos para mobile
- macOS + Xcode (para iOS)
- Android Studio + SDK (para Android)
- PHP 8.1+
- Composer
- Node.js / npm
- Cuenta de desarrollador en Apple Developer (para distribuir en iOS)
- Cuenta de desarrollador en Google Play Console (para distribuir en Android)
Paso a paso para crear una app mobile con NativePHP
1. Instalar el CLI de NativePHP Mobile
En tu proyecto Laravel, ejecuta:
composer require nativephp/mobile
Después, inicializa el entorno mobile:
php artisan native:mobile:install
Esto creará la estructura necesaria para generar apps iOS/Android.
2. Crear un nuevo proyecto mobile
Ejecuta el comando:
php artisan native:mobile:init
Este comando genera un proyecto wrapper:
- Para iOS, un proyecto Swift con PHP integrado.
- Para Android, un proyecto Kotlin con PHP integrado.
Estos proyectos se encuentran dentro de la carpeta mobile/ y ya vienen configurados para ejecutar tu app Laravel.
3. Ejecutar la app en el emulador o dispositivo
Para iOS:
php artisan native:mobile:serve ios
Esto abrirá el Simulator de Xcode con tu app.
Para Android:
php artisan native:mobile:serve android
Esto abrirá el Emulador de Android Studio o se ejecutará en el dispositivo conectado vía USB.
4. Usando APIs móviles
Así como en el escritorio, puedes acceder a funcionalidades nativas del celular:
use Native\Laravel\Facades\Camera;
$photo = Camera::capture();
$photo->save(storage_path('app/public/foto.jpg'));
Ejemplo – Notificaciones push locales:
use Native\Laravel\Facades\Notification;
Notification::new()
->title('Bem-vindo!')
->message('Você abriu o app NativePHP no celular 🚀')
->show();
Ejemplo – Biometría (Face ID / Impresión Digital):
use Native\Laravel\Facades\Biometrics;
if (Biometrics::check()) {
echo "Usuário autenticado com biometria!";
}
5. Empaquetando y distribuyendo
Cuando termines el desarrollo, puedes generar los builds para distribución:
Para iOS:
php artisan native:mobile:build ios
Para Android:
php artisan native:mobile:build android
Estos comandos generan un .ipa (iOS) o .apk/.aab (Android), listos para ser enviados a las tiendas oficiales.
Conclusión
NativePHP abre una nueva frontera para quien ya domina PHP y Laravel: crear aplicaciones nativas, con acceso a recursos del sistema y distribución como ejecutables reales.
- Si antes era necesario aprender Swift, Java o recurrir a frameworks pesados, ahora basta con continuar en el mundo PHP.
- El flujo de desarrollo es simple: instalar, crear ventanas, interactuar con APIs nativas y empaquetar.
- La curva de aprendizaje es baja y los beneficios, enormes, principalmente para quien desea reutilizar código de aplicaciones web ya existentes.
Si siempre quisiste transformar tu proyecto web en una aplicación multiplataforma, NativePHP es una herramienta que merece estar en tu radar.