1. ¿Qué es NativePHP Mobile + Bifrost (en dos líneas)?
NativePHP Mobile: corre una app Laravel nativamente en iOS/Android, empaquetando PHP dentro de una app Swift/Kotlin con un webview nativo.nativephp.com+1
Bifrost: servicio SaaS para compilar, firmar y distribuir tus apps NativePHP (Android, iOS, escritorio) sin pelearte con Xcode/Android Studio, incluso desde Windows o Linux.Bifrost+1
2. Requisitos básicos
Antes de tocar código:
PHP 8.1+ y Composer instalados.nativephp.com
Un proyecto Laravel ya creado (Laravel 10/11/12 sin problema).
Android:
Android Studio + SDKs instalados o usar Bifrost para compilar en la nube.Master da Web+1
Licencia de NativePHP Mobile (se valida cuando instalas el paquete).nativephp.com+1
3. Instalar NativePHP Mobile en tu proyecto Laravel
3.1. Agregar el repositorio privado al composer.json
composer.jsonEn el
composer.json de tu app Laravel, agrega:"repositories": [ { "type": "composer", "url": "https://nativephp.composer.sh" } ]
Esto le dice a Composer de dónde bajar el paquete privado
nativephp/mobile.nativephp.com+13.2. Configurar variables en .env
.envAntes de instalar, define al menos:
NATIVEPHP_APP_ID=com.tuempresa.tuapp NATIVEPHP_APP_VERSION="DEBUG" NATIVEPHP_APP_VERSION_CODE="1"
: tu identificador único (como el packageName de Android).NATIVEPHP_APP_IDEn desarrollo se recomienda
para que siempre refresque la app.nativephp.com+1NATIVEPHP_APP_VERSION=DEBUG
3.3. Instalar el paquete y correr el instalador
Desde la raíz del proyecto:
composer require nativephp/mobile php artisan native:install
Composer te pedirá usuario (tu email) y password (license key) la primera vez.nativephp.com+1
El instalador:
Publica
.config/nativephp.phpDescarga los binarios PHP personalizados.
Prepara la estructura interna para iOS/Android.nativephp.com+1
4. Ejecutar la app en modo nativo (emulador/dispositivo)
Una vez que tu app Laravel funciona en el navegador, ya puedes “movilizarla”.
4.1. Correr en móvil con un solo comando
php artisan native:run
Este comando:
Compila el shell nativo + runtime PHP.
Arranca tu app en un emulador o dispositivo (te va guiando con prompts).nativephp.com+1
Durante desarrollo puedes usar:
php artisan native:run --build=debug
y combinarlo con tu típico flujo:
npm run dev # Vite / Tailwind / React / Inertia, etc.
Incluso tiene hot reload con:
php artisan native:watch android
para recargar la vista cuando cambias Blade/Livewire/JS/CSS.nativephp.com+1
5. Generar un APK localmente (sin Bifrost)
Cuando ya tengas algo estable y quieras un APK instalable:
5.1. Ajustar versión para release
En
.env, cambia a algo real:NATIVEPHP_APP_VERSION="1.0.0" NATIVEPHP_APP_VERSION_CODE="1"
Cada vez que subas una nueva versión a Play Store, incrementa
NATIVEPHP_APP_VERSION_CODE.nativephp.com+15.2. Compilar build de release
Hay dos enfoques que hoy se ven en la documentación y artículos recientes:
Build genérico (
) – más cercano a la filosofía desktop/mobile unificada.nativephp.com+1native:buildComandos específicos mobile, presentes en guías actualizadas de NativePHP:Master da Web+1
La forma más clara hoy para Android es:
php artisan native:mobile:build android
Ese comando genera el proyecto Android (si no existe), lo compila y produce un
.apk/.aab listo para subir a Google Play o instalar manualmente en un dispositivo.Master da Web+1En muchos ejemplos verás también:
php artisan native:build androidpero la nomenclatura
es la que están usando en tutoriales recientes y deja más claro que es el flujo móvil.LinkedIn+1native:mobile:*
El APK generado quedará dentro de la carpeta de build de Android (generalmente algo como
mobile/android/app/build/outputs/... dependiendo de la plantilla).Master da Web+16. Hacer el APK con Bifrost (builds en la nube)
Si no quieres tener Android Studio/Xcode local, o quieres automatizar todo:
Crear cuenta en Bifrost y entrar al dashboard.Bifrost+1
Crear un Team (puede ser solo tú) y luego un Project para tu app; un proyecto puede apuntar a Android y iOS a la vez.Bifrost
Vincular tu repo de GitHub con Bifrost; así cada push/tag puede disparar un build.Bifrost+1
En Credentials → For Android Builds, configurar:
Keystore, alias, passwords, etc.
Opcionalmente Firebase si usarás FCM.Bifrost+1
En la sección Builds, crear una configuración para Android (rama, tipo de build, canal, etc.) y lanzar un build.
Al terminar, Bifrost te da el artefacto (
/.apk
) listo para:.aabDescargar e instalar en dispositivos.
Subirlo a Google Play directamente desde su flujo (si lo configuras).Bifrost+1
La ventaja: puedes compilar Android/iOS desde cualquier OS (incluso Windows) sin tener que montar todo el entorno nativo.
7. Resumen corto para que lo tengas claro
Instalar:
Agrega el repo privado a
.composer.jsonConfigura
, versión y versión_code enNATIVEPHP_APP_ID
..envcomposer require nativephp/mobilephp artisan native:install
Ejecutar en dispositivo/emulador:
(ophp artisan native:run
).native:run --build=debug
Generar APK:
Ajusta versión en
..envLocal:
→ obtienesphp artisan native:mobile:build android
..apk/.aabCon Bifrost: conectas GitHub, configuras credenciales Android y descargas el APK desde el dashboard.
Si quieres, en el siguiente mensaje puedo ayudarte a convertir algún proyecto Laravel que ya tengas en un experimento NativePHP (por ejemplo tu sistema de clientes o tu PMS) y definir exactamente qué comandos y
.env usaríamos en tu caso.