NativePHP est un nouveau framework, qui selon ses auteurs, permet de créer rapidement des applications de bureau natives riches en utilisant PHP. Il offre des classes faciles à utiliser pour interagir avec les fonctionnalités du système d’exploitation, des outils pour construire et empaqueter des applications natives, ainsi qu’un runtime PHP statique pour une exécution sans effort sur les systèmes des utilisateurs.
Contrairement à d’autres frameworks, NativePHP n’impose pas de méthodes strictes pour la construction des applications et prend en charge différents outils d’interface utilisateur tels que React, Vue, Livewire, etc. Il comprend également des fonctionnalités de gestion de fenêtres, de menus, de fichiers, de base de données, et bien plus encore. Selon ses auteurs, les possibilités de développement avec NativePHP sont vastes et limitées uniquement par l’imagination des développeurs.
Actuellement en phase alpha, NativePHP est un nouveau framework qui fait étrangement penser à Electron, le framework de GitHub permettant de développer des applications de bureau multiplateformes (macOS, Windows, Linux) avec des technologies web (JavaScript, HTML et CSS). La différence majeure semble être l’utilisation de PHP.
NativePHP
NativePHP est un nouveau framework pour construire rapidement des applications de bureau riches et natives en utilisant PHP. Si vous êtes déjà développeur PHP, vous vous sentirez tout de suite chez vous. Si vous êtes nouveau dans le monde de PHP, nous pensons que vous trouverez NativePHP facile à apprendre et à utiliser. Quel que soit votre parcours, nous pensons que vous serez rapidement productif.
NativePHP connaît un succès fulgurant à travers le monde en permettant aux développeurs PHP de créer de véritables applications natives multiplateformes en utilisant les outils et les technologies qu’ils connaissent déjà : HTML, CSS, JavaScript et bien sûr, PHP.Sur le site du projet, NativePHP est présenté comme une combinaison des éléments suivants :
NativePHP vient également avec un ensemble de fonctionnalités utiles, notamment la gestion des fenêtres, la gestion des menus, la gestion des fichiers, une prise en charge de base de données (SQLite) et des notifications natives.
Pour les auteurs du projet, vous pouvez construire presque tout avec NativePHP dans les limites de votre imagination.
NativePHP
Que puis-je construire avec NativePHP ?
Honnêtement, tout ce que vous voulez. Nous pensons que NativePHP va permettre à des milliers de développeurs de construire toutes sortes d’applications. La seule limite est votre imagination.
Vous pourriez construire une application de barre de menus qui vous permet de gérer vos cron jobs, ou une nouvelle application de lancement, ou un enregistreur d’écran qui met des chapeaux de cowboy sur chaque emoji de smiley qu’il voit.Pour l’instant, le projet ne prend en charge qu’un pilote Laravel, mais l’équipe dit déjà travailler sur sa compatibilité avec n’importe quel framework que vous utilisez. Et même si vous n’utilisez pas de framework du tout, NativePHP devrait prendre en charge vos cas d’utilisations.
Avant que vous ne vous posiez la question, les auteurs du projet précisent également que NativePHP n’est ni une nouvelle version personnalisée de PHP, ni un framework GUI.
NativePHP
NativePHP n’est pas un framework GUI. Nous ne voulons pas vous dire comment construire votre application. Vous pouvez choisir l’ensemble d’outils d’interface utilisateur qui vous rend le plus productif, ainsi que votre équipe.
Vous construisez une interface front-end React ? Pas de problème. Vue ? Bien sûr. Livewire ou Inertia ? Peu importe ! Du simple HTML et CSS ? C’est bon aussi. Tailwind ? Bootstrap ? Material UI ? Comme vous voulez.
NativePHP n’est pas une nouvelle version personnalisée de PHP. C’est le bon vieux PHP que vous connaissez et aimez.PHP et les technologies Web sont-ils adaptés pour développer de bonnes applications de bureau ?
Comme avec Electron, NativePHP veut permettre aux développeurs de créer des applications desktop natives multiplateformes avec les technologies Web. Mais cette approche est-elle adaptée pour le développement d’applications de bureau performantes et vraiment natives ?
Rappelons ici les critiques relatives au développement d’applications de bureau avec Electron.
« Si vous ne connaissez pas Electron, il s’agit essentiellement d’un navigateur Web (Chromium) qui héberge seulement votre application Web… comme s’il s’agissait d’une application de bureau », disait Renato Athaydes, un développeur logiciel travaillant dans une entreprise technologique privée. « Si les gens préfèrent livrer un navigateur Web complet avec leurs applications afin qu’ils puissent utiliser d’excellents outils tels que JavaScript pour les développer, il y a vraiment quelque chose qui ne va pas. »
Ainsi, indépendamment de la question de savoir si la pile de technologies Web est bonne pour les applications de bureau, l’un des points qui dérangent le plus à propos d’Electron est qu’il va empaqueter un runtime Web complet dans chaque application, même si un runtime convenable existe déjà sur le système d’exploitation. Chromium comprend plus de 20 millions de lignes de code et il semble que chaque application Electron va empaqueter une copie de cette énorme base de code sous forme de binaire. Ce qui aura pour conséquence de grossir la taille de votre application et créer un gaspillage de mémoire.
Le framework NativePHP utilisant l’environnement Electron pour la création et l’empaquetage d’applications, il pourrait hériter aussi de ces inconvénients. Mais si cela n’a pas empêché Electron d’être populaire aujourd’hui, le framework NativePHP peut-il aussi avoir du succès avec les fonctionnalités annoncées ?
Source : NativePHP