Building a Desktop Application with Php (Laravel 5.3)

Building applications today has become essential in the world we live in, most developers are really skilled at building Web/Mobile Applications leaving the desktop community behind, it is understandable because we have less users who use desktop apps.

But not forgetting the enterprise market, many still prefer to use custom desktop applications. We are familiar with using Java/C# to build Desktop app forgetting the web community, so the big question is, “How do I build a desktop app with my Current skill-set (PHP) ?” since we have a vast majority of php developers.

Well I would say Php Desktop came to my rescue.

WHAT IS PHP DESKTOP ?
PHP Desktop is an open source project founded by Czarek Tomczak in 2012 to provide a way for developing native desktop GUI applications using web technologies such as PHP, HTML5, JavaScript and SQLite.

ANSWERS TO QUESTION ASKED BY ME

DO I HAVE TO CHANGE MY APP FOLDER OR STRUCTURE ?
No you don’t. Everything remains the same, the only thing you would carter for is how you want your application to work offline.
HOW DOES IT THEN WORK?
PHPDesktop is an all-made container that will just swallow your project. With that, you can easily transform an existing website into a desktop application without any modification. When you download PHP Desktop, you will have some set of files and folders; among them you will have a folder called www in which you will just paste your entire application inside there.
For those who have used WampServer, Xamp or EasyPhp, it won’t be a problem to understand the concept. When you are using these local servers, you usually create your projects into a particular folder called www, htdocs, or localweb. It differs from one server to another, but the concept remains the same.
STRUCTURALLY I DONT UNDERSTAND WHAT YOU JUST EXPLAINED
okay!!! In a nutshell “ PHP Desktop itself is a software that can embed yours in itself”
I USE LARAVEL DOES IT CHANGE ANYTHING?
No it doesn’t change anything , it actually supports most php frameworks. Especially frameworks with ORM, so you can enjoy a sleek querying experience(i hope i got that right). Since we would be working mainly with Sqlite
OUT OF CURIOSITY WHY THEN DID YOU PUT LARAVEL UP THERE, I COULD BE USING ANOTHER FRAMEWORK ?
Well, I earlier mentioned the app I built was with PHP Desktop in Laravel 5.3 and i would be showing you a video demo of how the app works, since the app is in active development.
Also there were some things noticed in Laravel 5.3 i would love to share
1. They did remove my beloved lists “ Model::lists(name,id)” and replaced it with “Model::pluck(name,id)”.
2. The Route file is no longer in the the app/Http directory, it now has a folder on it’s own.
3. Personally I don’t see a need for Lumen right now, since 5.3 comes with an api.php route file. All i have to do is specify my api routes.i.e no need for Dingo too(Oops)
I am still looking out for more, but I know Taylor Otwell is at work and there are more changes i have missed, but when i do see more, i would write an article on it.
Blah Blah Blah to Laravel Fans Can you please proceed to how do i get started ?
You simply need to visit this repository https://github.com/cztomczak/phpdesktop or to go straight to the point, https://github.com/cztomczak/phpdesktop/wiki/Download-Chrome
Download the version that best suit your project , i presume the file should be a Zip file, so
1.Unzip the project
2. You would see a folder www, copy your project into the folders, also dont forget to convert your Mysql database into sqlite
3. Based on your framework follow this link for guides https://github.com/cztomczak/phpdesktop/wiki/PHP-frameworks-support
Note:

To make the app installable (.exe) you can use Inno Setup installer or NSIS.

Other materials to learn further

Especially this one

A gift from me to laravel developers, the link below is a starter pack for laravel Desktop already setup all you need do is ”Composer install or Composer update”
https://github.com/williamnwogbo/laravel_desktop

Video Demo

https://www.youtube.com/watch?v=h6jluQ9lToI

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.