NativePHP: O Que É e Como Usar?


Em um mundo dominado por JavaScript, Swift, Kotlin e frameworks pesados, o NativePHP surge como uma lufada de inovação para desenvolvedores PHP. Esta ferramenta permite criar aplicações nativas para desktop e mobile com a mesma linguagem e ferramentas que você já domina — sem sair do seu ecossistema PHP/Laravel. Se o seu sonho é transformar seus projetos web em apps nativos de verdade, esse tutorial é para você!
O NativePHP é um framework moderno que combina:
Você continua escrevendo código em PHP (Laravel ou puro), Blade, Inertia, Livewire, etc., e recebe uma aplicação nativa cross-platform pronta para uso.
Antes de começar, assegure-se de ter instalado no seu ambiente:
Abra seu terminal e crie um novo projeto Laravel (ou use um já existente):
composer create-project laravel/laravel meu-app-native
cd meu-app-native
Verifique se o servidor está funcionando:
php artisan serve
Se acessar http://localhost:8000, verá o Laravel rodando normalmente.
Adicione o pacote do NativePHP:
composer require nativephp/electron
Depois rode o comando de instalação:
php artisan native:install
Esse comando vai:
.nativephp/ com configurações do app.Agora, basta rodar:
php artisan native:serve
O Laravel será iniciado em segundo plano e abrirá uma janela nativa usando Electron, exibindo sua aplicação. Você não está mais no navegador: é um aplicativo desktop real.
O NativePHP permite controlar a forma como sua janela abre.
Edite o arquivo 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();
}
Você pode criar menus semelhantes aos de qualquer app desktop:
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();
}
Agora seu app terá um menu “Arquivo” com opções que podem disparar eventos no Laravel.
Notificações do sistema podem ser exibidas com uma única linha:
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();
Isso dispara uma notificação no sistema operacional, igual a qualquer outro aplicativo.
Depois de desenvolver, você pode empacotar sua aplicação:
php artisan native:build
Esse comando gera um executável para o sistema operacional (Windows, macOS ou Linux), com PHP embutido.
Você pode distribuir esse arquivo para usuários finais sem exigir instalação de PHP ou Composer.
Além do suporte a aplicações desktop, o NativePHP também permite criar aplicativos móveis nativos, aproveitando o mesmo código PHP do seu backend Laravel.
Isso é possível porque o NativePHP fornece um runtime PHP embarcado dentro de um app Swift (iOS) ou Kotlin (Android). Assim, o PHP roda diretamente no dispositivo, sem necessidade de internet ou servidor remoto — ideal para apps offline-first, com total acesso às APIs do sistema.
No seu projeto Laravel, rode:
composer require nativephp/mobile
Depois inicialize o ambiente mobile:
php artisan native:mobile:install
Isso criará a estrutura necessária para gerar apps iOS/Android.
Execute o comando:
php artisan native:mobile:init
Esse comando gera um projeto wrapper:
Esses projetos ficam dentro da pasta mobile/ e já vêm configurados para rodar seu app Laravel.
Para iOS:
php artisan native:mobile:serve ios
Isso abrirá o Simulator do Xcode com seu app.
Para Android:
php artisan native:mobile:serve android
Isso abrirá o Emulador do Android Studio ou executará no dispositivo conectado via USB.
Assim como no desktop, você pode acessar funcionalidades nativas do celular:
use Native\Laravel\Facades\Camera;
$photo = Camera::capture();
$photo->save(storage_path('app/public/foto.jpg'));
Exemplo – Notificações push locais:
use Native\Laravel\Facades\Notification;
Notification::new()
->title('Bem-vindo!')
->message('Você abriu o app NativePHP no celular 🚀')
->show();
Exemplo – Biometria (Face ID / Impressão Digital):
use Native\Laravel\Facades\Biometrics;
if (Biometrics::check()) {
echo "Usuário autenticado com biometria!";
}
Quando terminar o desenvolvimento, você pode gerar os builds para distribuição:
Para iOS:
php artisan native:mobile:build ios
Para Android:
php artisan native:mobile:build android
Esses comandos geram um .ipa (iOS) ou .apk/.aab (Android), prontos para serem enviados às lojas oficiais.
O NativePHP abre uma nova fronteira para quem já domina PHP e Laravel: criar aplicações nativas, com acesso a recursos do sistema e distribuição como executáveis reais.
Se você sempre quis transformar seu projeto web em um aplicativo multiplataforma, o NativePHP é uma ferramenta que merece estar no seu radar.