NativePHP veut permettre aux développeurs de créer des applications desktop natives multiplateformes avec PHP et les techs du Web
une réincarnation du framework Electron pour les développeurs PHP ?
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.
Sur le site du projet, NativePHP est présenté comme une combinaison des éléments suivants :Envoyé par NativePHP
- Une collection de classes faciles à utiliser - des abstractions - qui vous permettent d'interagir avec diverses fonctionnalités du système d'exploitation hôte.
- Un ensemble d'outils pour permettre la création et l'empaquetage de votre application native en utilisant l'environnement Web d'Electron ou Tauri.
- Un runtime PHP statique qui permet à votre application de s'exécuter sur n'importe quel système d'utilisateur sans aucun effort de leur part.
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.
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.Envoyé par NativePHP
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.
PHP et les technologies Web sont-ils adaptés pour développer de bonnes applications de bureau ?Envoyé par NativePHP
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
Et vous ?
Avec les fonctionnalités annoncées, pensez-vous NativePHP est un framework prometteur ?
PHP et les technologies Web sont-ils adaptés pour développer de bonnes applications de bureau vraiment natives ?
Voir aussi
Un rapport révèle que la plupart des déploiements de PHP utilisent des versions qui ne sont plus prises en charge, 61,9 % des répondants utilisent encore des versions de PHP en fin de vie
PHP 8.2 est disponible et s'accompagne des propriétés "en lecture seule" aux classes ainsi que la possibilité de déprécier les propriétés dynamiques
Faut-il utiliser Electron pour le développement d'applications de bureau ? Quels sont ses avantages et inconvénients ?
Partager