Build Native Apps With PHP
Welcome to my CreatorSeries! I’m Simon, and in this series we’re going to learn about NativePHP and use it to build true native applications for desktop and mobile. We're not talking about web apps accessed through the browser. Your users will be able to install directly on their devices.
This is a big leap forward for the PHP ecosystem, and while it’s a real paradigm shift from the way we normally build with PHP and Laravel, we’ve worked hard to keep it familiar and approachable. So grab a warm drink, get comfortable, and let's start building!

Progress
Series Info
- Episodes
- 17
- Run Time
- 2h 30m
- Difficulty
- Intermediate
- Last Updated
- Jan 31, 2026
- Version
- Latest
Series Episodes
- Mindset, Architecture, and Setup (6)
Introduction To NativePHP
Let's get our minds ready to usePHPto build native desktop and mobile apps for Mac, Windows, Linux, iOS, and Android. We'll walk through the key fundamentals that make this a different paradigm from typicalPHPandLaravelwork before we start building.NativePHP Workflow
We’ll start by exploring thenativephp.comdocs and learning quick shortcuts likeCommand-Kto search. Then we’ll cover how this workflow differs from typicalLaravelwork, where we run watchers and processes to get changes to show up and sometimes run the app in its native environment to access device features.Working With Databases
Now that we're building native PHP apps, it's time to talk databases and whySQLiteis usually the right choice when we're shipping software to users. We'll walk through howLaravelandEloquentwork withSQLitein migrations and models, and why you should avoid embedding remoteMySQLorPostgrescredentials. Instead, put anAPIlayer in front of your database.Why You Need Separate Applications
We'll see why you shouldn't force your existingLaravelweb app to also serve nativePHPmobile and desktop apps. Instead, we'll keep contexts separate and reach forlaravel newfor each target so we avoid shipping server-side logic to user devices.Desktop Versus Mobile Applications
We could try installingnative PHP for desktopandnative PHP for mobileinto the same application, but we shouldn’t—those packages overlap and can cause unexpected errors. Before we get going, we’ll treat desktop and mobile as separate apps and walk through your system setup so everything is configured safely.System Setup And Prerequisites
Before we jump into building your first mobile app, we need to get your development environment squared away so you can compile for the platforms your machine supports, such asWindows,Mac, orLinux. Make sure you’re comfortable in theterminal, haveLaravelready, and install platform tools such asXcodeorAndroid Studio. Follow the native PHP docs, and then we’ll get started.
- Developing Mobile Apps (6)
Getting Started With NativePHP Mobile
We’re going to installnative PHPfor mobile and build our first application using thePHPandLaravelskills we already have. Along the way, we’ll see how it ties into front-end tools likeInertia,React,Livewire, andBladeso we can ship mobile apps without learningSwiftorKotlin.Installing NativePHP For Mobile
Let's create a new Laravel app and add Native PHP for mobile by editing ourcomposer.jsonand runningcomposer require. Next, we’ll scaffold the native projects withphp artisan native:installand boot the app on a simulator withphp artisan native:runso we can see Laravel running on a phone.Exploring Native Device Features
Now that we're ready to try some native features, we’re going to build a tinyLivewirecomponent that fires a nativedialogue alertso we can see how PHP calls into the device. We’ll run the app in a simulator withphp artisan native:run iosto test the alert and then note which APIs require a real device to work properly.Building For Android
Now that our interface lives in aweb viewwith Laravel on the backend, let’s fire it up on Android usingphp artisan native:run androidand watch the native alerts and UI components behave just like on iOS. Keep in mind Android support is more fragmented across devices and OS versions, so some features might not work everywhere—but we’ll cover tips to make development smoother next.Development Tips And Hot Reloading
We’ve been happily building the UI in the browser, but now let’s switch to a simulator so we can exercise native features and iterate without reinstalling every time. Instead ofnpm run dev, we’ll runphp artisan native:run --watchto hot reload onto the simulator, and then attach Safari’s dev tools to the web view so we can inspect and tweak things in real time.Securing Your Application
Now that we have some basic flows in place, we’re going to tackle storing sensitive credentials securely on the device using the device key store and theSecureStoragefacade. We’ll move away from relying onsessionstate and instead show how to persist tokens withSecureStorage::setand read them back safely across app restarts usingnative PHP.
- How the Sauce is Made (1)
- Ship It and What's Next (4)
Publishing To The App Store
Now that our app is ready, we’re going to walk through submitting it to the App Store and Google Play, focusing on the happy path to get a build into review. Along the way, we’ll run commands likephp artisan native:releaseandphp artisan native:build, open Xcode to create an archive, and use Android Studio to generate a signed app bundle.NativePHP For Desktop
We’re doing a quick whistle-stop tour of building a native desktop app with Laravel andnative-php/desktop: installing the package, booting it withphp artisan native:run, and usingcomposer native:devfor live development. Along the way, we’ll tweak the welcome Blade view and call theDocfacade likeDoc::bounce()so you can see how Laravel talks to the Electron APIs in real time.New Features And Updates
We’re going to dive into the new native PHP workflow and tools that make building real mobile and desktop apps feel fast and friction-free. Along the way, we’ll inspect the slimmed-down core and plugin model, try native UI components, enable hot reloading viav.config, usenative jumpand the Jump app to run our app on device, and check out the Bioprost build service and Mimi AI for rapidly generating projects.Wrapping Up
We've walked through how to runnative PHPapps on Android and iOS, tap into native features, and use dev tools likeXcode,Android Studio, and hot reloading while preparing apps for the App Store and Google Play Console. Now it’s on us to pick our favorite UI tools and start building something real and delightful—and when you launch, please come tell us in Discord so we can cheer you on.