Hace unos meses cubrimos el lanzamiento de NativePHP Mobile v1, el framework revolucionario que permite ejecutar aplicaciones Laravel de forma nativa en dispositivos móviles. Ahora, con el lanzamiento de la versión 2, el equipo de NativePHP ha dado un paso gigante con mejoras de rendimiento, nuevas APIs nativas y, lo más importante para muchos, un plan completamente gratuito.
La gran noticia: Plan gratuito disponible
Una de las novedades más destacadas de NativePHP Mobile v2 es la introducción del plan Mini, completamente gratuito. Hay dos formas de obtenerlo:
La primera opción es a través de Bifrost, el servicio de CI/CD oficial de NativePHP. Al registrarte en Bifrost, obtienes automáticamente una licencia Mini incluida.
La segunda opción es realizar una donación de cualquier cantidad a través de OpenCollective. Una vez realizada la donación, puedes reclamar tu licencia desde la web oficial.
El plan Mini permite crear aplicaciones ilimitadas en desarrollo y publicar una aplicación en producción, con un año de actualizaciones del paquete y soporte de la comunidad a través de Discord. Para proyectos personales, prototipos o para probar la tecnología, es más que suficiente.
Los planes de pago (Pro a 200 dólares anuales y Max a 350 dólares anuales) desbloquean aplicaciones ilimitadas en producción, más seats de desarrollador y acceso a canales privados de Discord con soporte prioritario.
Sin breaking changes: Actualización sencilla
El equipo de NativePHP ha trabajado especialmente para que la migración de v1 a v2 sea completamente transparente. No hay breaking changes, solo deprecaciones que serán eliminadas en futuras versiones.
La actualización es tan simple como ejecutar:
composer update nativephp/mobileEsto es especialmente importante para un proyecto de este tipo, donde la estabilidad es fundamental para competir con alternativas establecidas como React Native o Flutter.
Requisitos del sistema
Antes de comenzar con NativePHP Mobile v2, es importante conocer los requisitos:
PHP 8.3 o superior
Laravel 11 o superior
Una licencia de NativePHP Mobile (incluyendo el plan Mini gratuito)
Para instalar PHP de forma rápida en Mac y Windows, el equipo recomienda Laravel Herd, que es gratuito y está optimizado para el desarrollo con Laravel.
Requisitos para iOS
El desarrollo para iOS requiere obligatoriamente un Mac con Apple Silicon (M1 o superior). Esta es una limitación impuesta por Apple, no por NativePHP. Además necesitarás:
macOS 12 o superior
Xcode 16 o posterior
Xcode Command Line Tools
Homebrew y CocoaPods
Opcionalmente, un dispositivo iOS para pruebas
No necesitas estar inscrito en el Apple Developer Program (99 dólares anuales) para desarrollar y probar en el simulador. Solo lo necesitarás cuando quieras probar en dispositivos reales, distribuir en la App Store o usar funcionalidades como Push Notifications.
Requisitos para Android
Android Studio 2024.2.1 o posterior
Android SDK con API 33 o superior
JDK 17 (puede requerir instalación separada)
En Windows: 7zip instalado obligatoriamente
Importante: WSL2 no es compatible
Si trabajas en Windows, debes ejecutar NativePHP directamente en Windows, no a través de WSL2. Esta limitación aplica tanto para v1 como para v2. La recomendación oficial es usar Laravel Herd en Windows nativo.
Bifrost: Compila para iOS desde Windows o Linux
Una de las soluciones más interesantes para desarrolladores que no tienen Mac es Bifrost, el servicio de CI/CD oficial de NativePHP.
Bifrost permite compilar aplicaciones para iOS y Android desde la nube, eliminando la necesidad de tener un Mac para generar builds de iOS. Conectas tu repositorio de GitHub, configuras tus credenciales de firma una sola vez, y Bifrost se encarga del resto.
Las características principales de Bifrost incluyen:
Compilación para iOS y Android desde cualquier sistema operativo
Integración con GitHub para builds automáticos
Gestión segura de credenciales y certificados
Monitorización de builds en tiempo real
Subida directa a App Store y Google Play
Licencia NativePHP Mini incluida en todos los planes
Los planes de Bifrost van desde 19 dólares mensuales (plan Loki con 50 builds) hasta 99 dólares mensuales (plan Thor con 300 builds y funcionalidades de equipo). Todos incluyen la licencia Mini de NativePHP.
EDGE: Componentes de UI verdaderamente nativos
La novedad más significativa de v2 es EDGE (Element Definition and Generation Engine), un sistema que transforma sintaxis Blade en elementos de UI verdaderamente nativos.
A diferencia de renderizar todo en una WebView, los componentes EDGE se compilan en elementos nativos que viven fuera del ciclo de vida de la WebView. Esto significa rendimiento nativo real y una apariencia que se adapta automáticamente a cada plataforma.
<native:bottom-nav>
<native:bottom-nav-item
id="home"
icon="home"
label="Inicio"
url="/home"
/>
<native:bottom-nav-item
id="profile"
icon="person"
label="Perfil"
url="/profile"
/>
</native:bottom-nav>Los componentes EDGE disponibles actualmente son:
Bottom Navigation: barra de navegación inferior
Top Bar: barra superior con acciones
Side Navigation: menú lateral deslizable
En v2.2, EDGE añadió validación de props requeridas que muestra mensajes de error claros indicando exactamente qué atributos faltan. Además, el sistema de iconos pasó de una librería de 30MB a un archivo de fuentes de solo 348KB.
Para iconos específicos de plataforma, puedes usar SF Symbols en iOS y Material Icons en Android:
<?php
use Native\Mobile\Facades\System;<native:bottom-nav-item
icon="{{ System::isIos() ? 'flashlight.on.fill' : 'flashlight_on' }}"
/>Librería JavaScript/TypeScript
NativePHP v2 introduce una librería JavaScript completamente nueva con declaraciones TypeScript completas. Esto permite llamar a funcionalidades nativas directamente desde el frontend, ya sea Vue, React, Inertia o JavaScript vanilla.
import { dialog, on, Events } from '#nativephp';
const openAlert = async () => {
await dialog.alert()
.title('Confirmar')
.message('¿Estás seguro?')
.buttons(['Cancelar', 'Aceptar']);
};
on(Events.Alert.ButtonPressed, (payload) => {
console.log('Botón presionado:', payload.label);
});Nuevas APIs nativas
La versión 2 añade varias APIs nativas que amplían significativamente las posibilidades:
Grabación de vídeo
Además de capturar fotos, ahora puedes grabar vídeo directamente desde la aplicación.
Escáner de códigos QR y barras
Una API dedicada para escanear códigos QR y de barras sin necesidad de librerías externas.
Micrófono y grabación de audio
Acceso al micrófono del dispositivo con soporte para grabación en segundo plano. Solo necesitas habilitarlo en la configuración:
<?php
// config/nativephp.php
'permissions' => [
'microphone' => true,
'microphone_background' => true,
],Detección de red
Nueva API para detectar el estado de la conexión de red del dispositivo.
Push Notifications mejoradas
API fluida para el registro de notificaciones push:
<?php
use Native\Mobile\Facades\PushNotifications;
use Native\Mobile\Events\PushNotification\TokenGenerated;
use Native\Mobile\Attributes\OnNative;
PushNotifications::enroll();
#[OnNative(TokenGenerated::class)]
public function handleToken($token)
{
// Guardar el token para enviar notificaciones
}Hot Module Replacement renovado
El sistema de HMR ha sido completamente reescrito con un plugin personalizado de Vite. Los cambios se reflejan en tiempo real tanto en simuladores como en dispositivos reales conectados a la misma red.
La configuración es sencilla:
import { nativephpMobile, nativephpHotFile } from './vendor/nativephp/mobile/resources/js/vite-plugin.js';
export default defineConfig({
plugins: [
laravel({
input: ['resources/css/app.css', 'resources/js/app.js'],
hotFile: nativephpHotFile(),
}),
nativephpMobile(),
]
});Directivas Blade para renderizado condicional
Nuevas directivas Blade facilitan el renderizado condicional según la plataforma:
@mobile
<!-- Solo se renderiza en apps móviles -->
@endmobile
@web
<!-- Solo se renderiza en navegadores web -->
@endweb
@ios
<!-- Solo se renderiza en iOS -->
@endios
@android
<!-- Solo se renderiza en Android -->
@endandroidAtributo OnNative para Livewire
Para los que usan Livewire, el nuevo atributo simplifica la escucha de eventos nativos:
<?php
use Native\Mobile\Attributes\OnNative;
use Native\Mobile\Events\Alert\ButtonPressed;
// Antes (v1)
#[On('native:'.ButtonPressed::class)]
public function handle() {}
// Ahora (v2)
#[OnNative(ButtonPressed::class)]
public function handle() {}Mejoras de rendimiento
Las mejoras de rendimiento en v2 son significativas:
En iOS, los tiempos de carga se han reducido entre un 60% y un 80%. En Android, la mejora ronda el 40%, con tiempos de carga de página también reducidos en aproximadamente un 40%.
Además, Android v2 incluye compatibilidad completa con el tamaño de página de 16KB de Android 16+, migración a Jetpack Compose para la UI nativa, y extracción de zip en paralelo para instalaciones más rápidas.
En iOS, destaca el soporte para Liquid Glass de iOS 26 y un selector de dispositivo mejorado que recuerda el último dispositivo utilizado.
Esquemas URL comunes
NativePHP ahora maneja automáticamente esquemas URL comunes, abriéndolos en la aplicación nativa correspondiente:
tel:para llamadas telefónicasmailto:para correo electrónicosms:para mensajes de textogeo:para mapas y ubicaciónfacetime:yfacetime-audio:para llamadas FaceTime
Deep Links en Android
Soporte completo para deep links y app links en Android, permitiendo que otras aplicaciones y sitios web enlacen directamente a tu aplicación.
API Fluida para métodos asíncronos
Todos los métodos asíncronos ahora implementan una API fluida que mejora el soporte del IDE y la facilidad de uso:
<?php
use Native\Mobile\Facades\Dialog;
Dialog::alert('Confirmar', '¿Eliminar esto?', ['Cancelar', 'Eliminar'])
->remember()
->show();Conclusión
NativePHP Mobile v2 representa un salto cualitativo importante. La combinación del plan gratuito, la ausencia de breaking changes, las mejoras de rendimiento y las nuevas APIs hacen que sea el mejor momento para probar esta tecnología.
Para los desarrolladores Laravel que quieren expandirse al desarrollo móvil sin aprender Swift, Kotlin o nuevos frameworks, NativePHP ofrece una propuesta muy atractiva. Y con Bifrost, incluso la limitación de necesitar un Mac para iOS queda resuelta.
Si ya tienes una aplicación en v1, la actualización es inmediata. Si estás empezando, el plan Mini gratuito elimina cualquier barrera de entrada.
Enlaces útiles
Curso Laravel 12
Completo 2026
El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.
star Incluido en cualquier suscripción