NativePHP for Mobile is now completely free and open source!
Blog

Your First NativePHP Mobile App in 5 Minutes ⚡

You're a Laravel developer. You know Blade, Livewire, maybe some Vue or React. You've never touched Swift or Kotlin.

Good news: you don't have to.

NativePHP for Mobile lets you build real, native iOS and Android apps using the skills you already have. And I'm going to prove it — you'll have an app running on your phone in the next 5 minutes.

In this post:

#The Fastest Path: Jump

Forget downloading Xcode (40GB). Forget configuring Android Studio. Forget all of it.

Jump is a free app that lets you test NativePHP apps on your real device instantly — no compilation required.

#Step 1: Install Jump on Your Phone

Download Jump from bifrost.nativephp.com/jump

#Step 2: Create a Laravel App

Copied!
laravel new my-mobile-app
cd my-mobile-app

#Step 3: Add NativePHP

Copied!
composer require nativephp/mobile

#Step 4: Start the Jump Server

Copied!
php artisan native:jump

A QR code appears in your terminal.

#Step 5: Scan and Go

Open Jump on your phone, scan the QR code, and... that's it.

You just built a mobile app. With PHP. In 5 minutes.

#What Just Happened?

  1. Embeds PHP — A pre-compiled PHP runtime runs natively
  2. Runs Laravel — Your app runs on the device, not a server
  3. Bridges to Native — PHP connects to native iOS/Android APIs
  4. No Web Server — Works completely offline

This isn't a web view wrapper running a server-based app. This is real PHP running natively on device.

#The Full Install

For App Store / Play Store builds:

Copied!
composer require nativephp/mobile
php artisan native:install
php artisan native:run

#Your First Native Feature

Let's prove this is actually native with haptic feedback — something web apps can't do.

#PHP (Livewire)

Copied!
<button wire:click="vibrate">Feel This</button>
Copied!
use Native\Mobile\Facades\Device;
 
public function vibrate()
{
Device::vibrate();
}

#JavaScript (Vue/React/Inertia)

Copied!
<template>
<button @click="vibrate">Feel This</button>
</template>
 
<script setup>
import { Device } from '@nativephp/mobile';
 
const vibrate = async () => {
await Device.vibrate();
};
</script>

Tap the button. Feel that? That's native hardware feedback. Web apps can't do this. But you just did.

#Next Steps


You're a mobile developer now. Welcome to the club. 🎉