NativePHP v4 añade un modo de renderizado llamado SuperNative que convierte los componentes Blade en vistas nativas reales, SwiftUI en iOS y Jetpack Compose en Android, sin ninguna WebView ni capa HTML de por medio. Simon Hamp y Shane Rosenthal lo presentaron en The Vibes, un evento de 100 personas que organizaron en Boston el 30 de julio, un día después de que terminara Laracon US. SuperNative es la ruta de renderizado predeterminada en v4, aunque sigue en fase beta a partir de la versión 4.1.

El sistema de componentes se llama EDGE, siglas de Element Definition and Generation Engine. En lugar de compilar Blade a HTML, NativePHP construyó su propio motor Blade que convierte los componentes en una representación binaria de longitud fija; un intérprete del lado nativo lee esos datos y construye directamente las vistas SwiftUI y Compose, compartiendo memoria con PHP en vez de cruzar un puente en cada interacción. Los componentes se comportan como los de Livewire, con propiedades públicas, un método mount(), métodos de acción y atributos como #[Poll], #[Computed], #[Lazy] y #[Locked]. Como las pantallas son vistas SwiftUI y Compose genuinas, funciones de accesibilidad como VoiceOver, TalkBack y el tamaño de texto dinámico funcionan automáticamente.

Una pantalla es ahora una clase PHP que extiende NativeComponent junto con una vista Blade, registrada en routes/mobile.php mediante una macro Route::native; los layouts extienden NativeLayout y pueden compartirse entre varias rutas con Route::nativeGroup. Las plantillas usan elementos nativos como <column>, <text> y <pressable> en lugar de etiquetas HTML, estilizados con clases Tailwind que se mapean al layout de cada plataforma, y admiten los manejadores @tap, @pressDown y @pressUp, estos dos últimos nuevos en v4 para interacciones de pulsación prolongada. Los desarrolladores pueden previsualizar una pantalla en un dispositivo real sin Xcode ni Android Studio usando php artisan native:jump, que muestra un código QR para la app gratuita complementaria Jump en iOS y Android.

Las aplicaciones v3 existentes no tienen que convertirse por completo: una WebView es ahora simplemente un componente <webview php url="/" fullscreen /> que puede colocarse dentro de una pantalla nativa, cada una con su propio runtime de PHP dedicado, y v4 ya no arranca una WebView hasta que realmente se renderiza una ruta web. Las pruebas se ejecutan con Pest mediante un FakeBridge que captura los árboles de elementos publicados y las llamadas nativas; Native::visit() y Native::test() montan componentes, y tap() simula pulsaciones.

Cuatro plugins antes independientes, Device, Dialog, File y System, ahora están integrados en el paquete núcleo nativephp/mobile, el único cambio incompatible de esta versión; Composer se niega a resolver dependencias hasta que se eliminen con php artisan native:plugin:uninstall --core-v4. La versión 4.1, publicada el 7 de agosto, añade el atributo #[Locked] para bloquear escrituras en propiedades vinculadas, TreeObservers junto con una utilidad de prueba TreeSpy para inspeccionar los árboles de elementos publicados, un NativeRouteFallback para navegadores que acceden a rutas exclusivas de lo nativo, y avisos de validación de clases Tailwind en lugar de ignorarlas silenciosamente. Las facades y los eventos permanecen sin cambios, el servidor de desarrollo Vite ahora es opcional mediante un indicador --vite, y NativePHP incluye una habilidad Boost pensada para ayudar a los agentes a automatizar la migración de v3 a v4.