Welcome to the world of NativePHP, a revolutionary framework that is taking the PHP community by storm. This innovative tool allows PHP developers to construct rich, native desktop applications with ease and efficiency. If you’re a seasoned PHP developer or a newcomer to the language, NativePHP is designed to make you feel at home and productive quickly.
Native PHP works only inside of a Laravel project, allowing developers to leverage the power and flexibility of both technologies in combination. Laravel, as a popular PHP web application framework, provides a robust and structured environment, while still permitting developers to incorporate standard PHP code directly into their projects. Whether it’s using PHP functions, classes, or libraries, Native PHP integration within Laravel empowers developers to create dynamic and customized applications efficiently.
What is NativePHP?
NativePHP is more than just a framework; it’s a combination of elements that work together to provide a seamless development experience. It consists of a collection of easy-to-use classes, or abstractions, that allow you to interact with a variety of host operating system features. It also includes a set of tools for building and bundling your native application using either the Electron or Tauri browser environment. Lastly, it comes with a static PHP runtime that allows your app to run on any user’s system without any effort on their part.
What NativePHP is Not
While NativePHP provides a robust platform for building native apps, it’s not an overly opinionated framework. It currently supports a Laravel driver, but work is underway to make it compatible with any framework or even no framework at all.
Moreover, NativePHP is not a GUI framework. It doesn’t dictate how you should build your app or what UI toolset you should use. Whether you’re building a React front-end, using Vue, Livewire, Inertia, or just plain old HTML and CSS, NativePHP has got you covered.
What’s in the Box?
NativePHP comes packed with a host of useful features, including window management, menu management, file management, database support (SQLite), and native notifications. These features are designed to make your development process as smooth and efficient as possible.
What Can You Build with NativePHP?
The possibilities with NativePHP are endless. From a menubar app that manages your cron jobs to a screen recorder that puts cowboy hats on every smiley-face emoji it sees, you can build anything you want. The only limit is your imagination.
Want to see a working NativePHP demo app?
Cronikl is a neat little app that lets you manage cron jobs with a simple UI, running commands on the schedule you define.
This app was created by the NativePHP team in order to show how simple NativePHP is for PHP developers.
Examples
1. Creating a Window
In NativePHP, you can create a new window using the Window
class. Here’s a simple example:
use NativePhp\Window;
$window = new Window([
'width' => 800,
'height' => 600,
'webPreferences' => [
'nodeIntegration' => true,
],
]);
$window->loadURL('https://localhost:8000');
In this example, we’re creating a new window with a width of 800 pixels and a height of 600 pixels. We’re also enabling Node.js integration in the web preferences. Finally, we’re loading a local URL into the window.
2. Creating a Menu
NativePHP allows you to create application menus using the Menu
class. Here’s an example:
use NativePhp\Menu;
use NativePhp\MenuItem;
$menu = new Menu();
$menu->append(new MenuItem([
'label' => 'File',
'submenu' => [
[
'label' => 'Open',
'click' => function () {
echo 'Open clicked';
},
],
[
'label' => 'Save',
'click' => function () {
echo 'Save clicked';
},
],
],
]));
Menu::setApplicationMenu($menu);
In this example, we’re creating a new menu and appending a ‘File’ menu item to it. The ‘File’ menu item has a submenu with ‘Open’ and ‘Save’ options. When these options are clicked, they will execute the provided PHP functions.
3. Sending a Notification
You can send native desktop notifications using the Notification
class in NativePHP. Here’s an example:
use NativePhp\Notification;
$notification = new Notification([
'title' => 'Hello',
'body' => 'World',
]);
$notification->show();
In this example, we’re creating a new notification with a title of ‘Hello’ and a body of ‘World’. We then show the notification.
Remember, these are just basic examples. NativePHP is a powerful framework that can do much more. For more detailed information and examples, you should refer to the official NativePHP documentation.
What’s Next?
Ready to dive into the world of NativePHP? The comprehensive documentation is a great place to start. It’s open-source and available on GitHub, so feel free to contribute if you find something missing.\
Why use NativePHP?
There are a number of reasons why you might want to use NativePHP to develop your desktop applications. Here are a few of the benefits of using NativePHP:
- Ease of use: NativePHP is built on top of Laravel, so if you are already familiar with Laravel, then you will be able to pick up NativePHP very quickly.
- Powerful features: NativePHP provides a number of powerful features that make it easy to create sophisticated desktop applications.
- Flexibility: NativePHP is a flexible framework that allows you to create a wide variety of desktop applications.
- Community support: The NativePHP community is growing rapidly, so there is a lot of support available if you need help.
Conclusion
NativePHP is a groundbreaking framework that is set to revolutionize the way PHP developers build native desktop applications. With its easy-to-use tools and features, it’s never been easier to create cross-platform, native apps using the tools and technologies you already know and love.
At Infuy, we’re always excited to explore new technologies and frameworks like NativePHP. Our team of experienced PHP developers is ready to help you bring your ideas to life. Whether you’re looking to develop a new application or need help with an existing project, we’re here to help.
We invite you to reach out to us at Infuy to discuss how we can assist you with your PHP development needs. We believe in the power of collaboration and are excited to see what we can create together with NativePHP.
So why wait? Let’s start building something amazing together. Contact us today!
Posted in PHP