NativePHP Mobile v3: Build iOS Apps with PHP (Now Free)
PHP developers can now build and ship native iOS and Android apps without learning Swift or Kotlin. No license fees. No trial periods. Just install a package and start building.
PHP developers can now build and ship native iOS and Android apps without learning Swift or Kotlin. No license fees. No trial periods. Just install a package and start building.
NativePHP Mobile v3 just dropped, and it changes everything for the Laravel community.
What is NativePHP?
NativePHP wraps your Laravel application in a native mobile shell. Your PHP runs directly on-device—no web server required. Your UI renders in a webview. Native functionality (camera, biometrics, push notifications) is accessible through PHP facades.
Think: "Your Laravel app, but in the App Store."
You write Laravel code. You use your existing frontend (Blade, Livewire, Inertia, Vue, React). NativePHP handles the native platform layer.
It's not a hybrid app in the traditional sense. Your PHP code isn't running on a remote server—it's compiled into the app binary and executes on the user's device.
What's New in v3
It's completely free
The core framework is now MIT-licensed and available on Packagist. No limited trial. No freemium tier. Everything you need to build and ship a mobile app costs nothing.
Previously, NativePHP Mobile required a paid license (starting at $199/year). v3 removes that barrier entirely.
Modular plugin architecture
Almost every piece of native functionality has moved from a monolithic core to a modular plugin system. Each plugin is a standalone Composer package containing:
- PHP facades and classes
- Swift code (iOS)
- Kotlin code (Android)
- Permission manifests
- Native dependencies (CocoaPods, Swift Packages, Gradle)
You install only what you need. Plugins compile directly into your app during the build process, keeping binaries slim and app store reviews smooth.
Free core plugins
These essential plugins are MIT-licensed and free:
- Browser — In-app web views
- Camera — Photo and video capture
- Device — Device info, haptics, flashlight
- Dialog — Native alerts and prompts
- File — File system access
- Microphone — Audio recording
- Network — Connectivity detection
- Share — Native share sheet
- System — System info and events
Premium plugins (optional)
Some advanced features moved to paid plugins with one-time pricing (yours forever, unlimited projects):
- Biometrics — Face ID, Touch ID, fingerprint auth
- Geolocation — GPS and location services
- Push Notifications — APNs and Firebase integration
- Scanner — Barcode and QR code scanning
- Secure Storage — Keychain/Keystore integration
These aren't required. You can build a fully functional app with only free plugins.
The Plugin Architecture (This is Brilliant)
Plugins follow a simple pattern:
1. Install via Composer:
composer require nativephp/mobile-camera
2. Register in your NativeServiceProvider:
php artisan native:plugin:register nativephp/mobile-camera
3. Use in your code:
use Native\Mobile\Camera\Facades\Camera;
$photo = Camera::takePhoto([
'quality' => 0.8,
'allowEditing' => true,
]);
// $photo contains base64 data or file path
4. Listen for native events:
use Livewire\Attributes\OnNative;
use Native\Mobile\Camera\Events\PhotoCaptured;
#[OnNative(PhotoCaptured::class)]
public function handlePhoto($data)
{
$this->photoUrl = $data['path'];
}
The native code (Swift/Kotlin) runs on-device, communicates with PHP through a bridge, and dispatches events back to your Livewire components.
Creating your own plugins
The documentation makes it clear: building plugins is dead simple.
A plugin is just a Composer package with a nativephp.json manifest. You define:
- PHP classes and facades
- Swift and Kotlin implementations
- Required permissions (camera, location, etc.)
- Native dependencies (via CocoaPods, SPM, Gradle)
- Lifecycle hooks (for build-time tasks)
You can publish plugins to Packagist or keep them private in your app's codebase. NativePHP handles the heavy lifting during compilation.
Community feedback:
"I love plugins ❤️, I think y'all have nailed it" — Logan Craft
"Your Claude plugin is gold. I want to make one plugin every day, amazing stuff guys" — Eser Deniz
Plugin Marketplace (coming soon)
NativePHP is opening a marketplace where third-party developers can list and sell their own plugins. If you build a camera filter plugin, a payment gateway integration, or a social login package, you can earn revenue every time someone purchases it.
The marketplace launches for third-party developers in the coming weeks.
Jump: Instant Device Testing
Testing on real devices is usually painful. You need Xcode (Mac-only), Android Studio, emulators, developer mode, and patience.
Jump changes that.
Jump is a mobile app (iOS and Android) that lets you test your NativePHP app on a real device without compiling anything.
Here's how it works:
- Install the Jump app on your phone (free download)
- Run
php artisan native:jumpon your dev machine - Scan the QR code in the Jump app
- Your Laravel app loads instantly on your device, connected to your local dev server
Changes from your local environment appear on your device in near real-time. No build step. No developer mode. No waiting.
Jump includes all first-party plugins (even premium ones) so you can test every NativePHP feature without paying anything.
The only limitation: third-party plugins won't work in Jump. For those, you need a real build.
If you have a Bifrost subscription, you can test builds from any connected project and share test links with your team or clients. No complex deployment.
Mimi: AI Vibe Coding for Mobile Apps
Mimi is NativePHP's AI assistant, available through Bifrost subscriptions. It's essentially "Claude Code, but for mobile apps."
With Mimi, you can:
- Create a new NativePHP project — Right from your browser (works on mobile!)
- Describe what you want — Natural language prompts, even voice input
- Test in Jump — See your app running on your phone immediately
- Connect GitHub — Get all code pushed to a repo
- Ship to the stores — Convert to a Bifrost project and deploy
It's the fastest path from idea to working app. You describe, Mimi builds, Jump tests, and you ship.
This is vibe coding for mobile development. No Swift tutorials. No Android Studio setup. Just natural language and a phone.
When to Use NativePHP Mobile
NativePHP Mobile makes sense when:
✅ You're a Laravel developer — You already know the stack. Why learn Swift/Kotlin for a simple app?
✅ Your app is content-driven — CRUD apps, dashboards, forms, productivity tools. If your UI is mostly Laravel-generated HTML/CSS, NativePHP is perfect.
✅ Offline-first is important — PHP runs on-device with local SQLite. No internet required after install.
✅ You need native features — Camera, biometrics, push notifications, GPS. Plugins expose these through simple PHP facades.
✅ Speed to market matters — From laravel new to App Store in days, not months.
✅ You want to experiment — Free core + Jump means you can prototype mobile apps without any financial risk.
When to Skip It
🚫 Performance-critical apps — Games, video editors, AR/VR. Native Swift/Kotlin (or Unity/Unreal) will be faster.
🚫 Heavy platform-specific UI — If your app needs to look and feel deeply native (think iOS Settings or Android Material Design at pixel-perfect levels), a webview approach will feel off.
🚫 Complex animations — Smooth 60fps animations are easier with native UI frameworks. Webview performance is good but not native-level.
🚫 Existing Swift/Kotlin team — If your team is already fluent in native development, NativePHP doesn't add much value.
🚫 App Store optimization obsession — Native apps have a slight edge in binary size and startup time. For most apps, this doesn't matter. For hyper-optimized consumer apps with millions of users, it might.
The Business Model Shift
NativePHP was always intended to be free eventually. Paid licenses were a bootstrap mechanism.
License revenue allowed the team to:
- Build faster than would've been possible as a pure open-source project
- Invest in Bifrost (cloud build/deploy platform)
- Develop the plugin marketplace
- Support the project full-time
With v3, the team is betting that:
- Free core increases adoption
- Higher adoption drives Bifrost subscriptions
- Premium plugins generate sustainable revenue
- Plugin marketplace attracts third-party developers (revenue share model)
It's a smart play. Lower the barrier to entry (free), then monetize the advanced use cases (builds, premium plugins, marketplace).
For users, this is pure upside. You get a production-ready framework for free. You only pay if you want premium features or faster deployment workflows.
Getting Started
NativePHP Mobile v3 is available now. Here's the quick start:
# Create a new Laravel project
laravel new my-mobile-app
cd my-mobile-app
# Install NativePHP Mobile
composer require nativephp/mobile
# Install Jump on your phone (free)
# iOS: https://apps.apple.com/app/jump
# Android: https://play.google.com/store/apps/details?id=com.nativephp.jump
# Start a Jump session
php artisan native:jump
# Scan the QR code in the Jump app
# Your Laravel app is now running on your phone
Install plugins as needed:
composer require nativephp/mobile-camera
php artisan native:plugin:register nativephp/mobile-camera
When you're ready to ship, build for the stores:
php artisan native:build ios
php artisan native:build android
(Building requires Xcode for iOS and Android Studio for Android. Or use Bifrost for cloud builds.)
Learning Resources
The NativePHP team just launched a free Laracasts course covering the basics of mobile and desktop development with NativePHP.
The official docs are comprehensive and well-structured.
And the NativePHP Discord community is active and helpful.
My Take
NativePHP Mobile removes a massive barrier for Laravel developers who want to ship mobile apps.
You don't need to learn a new language. You don't need to maintain separate codebases. You don't need to negotiate with native developers or compromise on features.
Is it perfect? No. Webview performance will never match fully native UI. Binary sizes are larger than pure Swift/Kotlin apps. App Store optimization nerds will find things to complain about.
But for the 90% of mobile apps that are essentially CRUD interfaces with some native sprinkles (camera, notifications, offline data), NativePHP is a game-changer.
The plugin architecture is clever. The free core + premium plugins business model is sustainable. Jump makes testing painless. Mimi brings AI vibe coding to mobile.
And most importantly: it's free. There's no reason not to try it.
If you're a Laravel developer and you've been putting off that mobile app idea, now's the time.
What About You?
Are you building something with NativePHP? Have you tried v3 yet? What plugins would you want to see in the marketplace?
I build Laravel apps that occasionally need to be mobile. NativePHP v3 just made that a lot easier.
I offer hands-on consulting to help you resolve technical challenges and improve your CMS implementations.
Get in touch if you'd like support diagnosing or upgrading your setup with confidence.
