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 ?
Le 2023-07-25 10:06:53, par Michael Guilloux, Chroniqueur Actualités
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.
Envoyé par NativePHP
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.
Envoyé par NativePHP
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.
Envoyé par NativePHP
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
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 ?
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.
- 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.
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.
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 ?
Voir aussi
-
grunkModérateurle 26/07/2023 à 14:14
-
Eric30Membre actifNon. Ça fait surtout 15 ans qu'il n'a pas du faire de PHP.
Ou alors il est resté sur la version PHP5 d'il y a 15 ans.
Ou encore il ne bosse qu'avec des applications développées en PHP il y a 15 ans.
Je trolle, mais c'est un classique quand on parle de PHP.
Tu as toujours quelqu'un qui parce qu'il en a fait un peu il y a 15 ans ou qui bosse sur un projet vieux de 15 ans ou fait par un ado de 15 ans (je trolle encore) qui a du coup une mauvaise expérience et considère ce langage comme pourri.
Débat sans fin.le 26/07/2023 à 15:38 -
grunkModérateurUne solution xamp ou wamp quand tu l'installe sur un poste d'utilisateur , tu as toujours la possibilité d'un service qui démarre pas, d'un petit rigolo qui te modifie un fichier, etc ...
Avec ce genre d'application tu n'as plus ces problématique et tu fais croire que c'est une vraie application puisque tu n'as pas de navigateur à lancer.
C'est limité à Laravel pour le moment mais clairement ils veulent s'ouvrir.
Il existe des tas de solution similaires (php gtk , php-qt, wxphp) et elles ont globalement toute en commun de n'intéresser pas grand monde car forcément à un moment on se heurte a des limitation techniques.
On va dire que c'est pratique quand tu as une appli web que tu veux transformer en desktop à moindre coût pour une raison X, mais la tendance est quand même plutôt à l'inverse.
Le seul vrai intérêt c'est la rapidité/facilité de création des UI en html/css qu'aucune solution native n'a jamais réussi à égaler à mon gout.le 26/07/2023 à 9:00 -
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.
De là au "succès fulgurant à travers le monde permettant aux développeur PHP de créer de véritable applications natives multiplateformes", il n'y a qu'un pas ...le 26/07/2023 à 17:38 -
chrtopheResponsable SystèmesIl est indiqué sur le site officiel que ce truc est en version alpha et ne doit pas être utilisé en production.
De là au "succès fulgurant à travers le monde permettant aux développeur PHP de créer de véritable applications natives multiplateformes", il n'y a qu'un pas
PHP n'est pas forcément le langage le plus adapté pour faire des applis Desktop, il n'a pas été conçu pour ça à la base mais il peut le faire. Exemple php-gtk qui lui n'est pas en Alpha.
Après ça reste de l'interprété (sans tenir compte de la compilation à la volée en bytecode).
D'un autre coté, si un projet est codé avec les pieds, ce n'est pas le langage qui est en cause. Utiliser un langage inadapté ne va pas aider non plus. Pour moi php n'est pas forcément le langage le plus adapté pour faire une appli Desktop, mais ça ne veut pas dire que c'est inadapté.le 26/07/2023 à 18:24 -
NukaColaMembre à l'essaiOui tu as raison, c'est bien mieux de ne jamais rien proposer, de ne jamais rien essayer, de ne jamais innover, et de venir chier sur le langage, les développeurs ratés qui l'utilisent, les gens qui te répondent, une alpha d'un projet, et les développeurs derrière à "l'égo démesuré".le 26/07/2023 à 20:02
-
J'ai parlé d'égo demesuré en réponse à la citation suivante: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.
Quant aux développeurs "ratés", c'est le même principe. En Suisse, les développeurs Web (PHP) sont payés en moyenne entre 5000 et 6000 euros par mois. Désolé mais avec un tel salaire, je n'ai pas vraiment de pitié pour les génies incompris, les one-liners et ceux qui produisent du code qui trois mois ou trois ans plus tard coûtera un rein et quelques burnout à déboguer.
Enfin, il ne s'agit pas de ne "rien proposer" ou de ne rien "essayer". Et encore moins de ne pas innover. Seulement la vie est courte et au lieu de faire des châteaux de sable dans son coin en attendant la pluie, il est préférable de mettre à profit ses compétences dans des projets open source existants, dont l'utilité et la viabilité sont démontrées.le 26/07/2023 à 22:07 -
chrtopheResponsable Systèmes
LibreOffice est un succès, surtout parce que OpenOffice n'existe plus depuis 10 ans et qu'il n'existe aucun concurrent libre.NextCloud est un succès du au fait que des employés mutins ont conduit OwnCloud Inc à déposer le bilan et au délitement de la communauté.Ubuntu n'est pas un fork de Debian. C'est une distribution qui à l'origine était basée sur son architecture, ce qui est techniquement différent.Microsoft SQL Server est un succès relatif, compte tenu du fait que Microsoft tend à imposer ses solutions par monopole technologique, ils ne jouent pas très fair-play.
le SQL est un standard, tu n'es pas obligé d'utiliser SQL Server pour faire du SQL. Autant la politique de Microsoft est critiquable, mais sur l'aspect SQL Server c'est aller un peu loin. Mais je pense que j'aurais sortie n'importe quel fork ayant pignon sur rue, tu aurais eu quelque chose à redire.le 28/07/2023 à 11:48 -
clavier12AZQSWXMembre éclairéje me demande ce que cet outils aura de "mieux" qu'un basic xamp/wamp/lamp installé où l'on est pas limité à un framework...le 25/07/2023 à 19:43
-
clavier12AZQSWXMembre éclairé
le jour où j'ai voulu "founir" une appli lamp à un tiers, j'ai fait une VM minimaliste avec une gui qui lançait le browser au démarrage. ça restait "keep it simple" pour la maintenance (modification,deploiement,configuration, formation).
àprès 20ans de php, je me méfie bcp des "nouvelles " solutions de framework php : le framework n'a pas 15ans d'age, il ne vaut plus le coup de s'investir (je pense surtout au temps humain de formation et de passage-transisation de relai pour la re-formation par un collègue).le 26/07/2023 à 16:41