Framework Web Pusa qui transfère la logique frontale JavaScript côté serveur

Le framework Web Pusa a été publié avec la mise en œuvre d'un concept qui transfère la logique frontale, exécutée dans le navigateur à l'aide de JavaScript, vers le côté back-end - la gestion du navigateur et des éléments DOM, ainsi que la logique métier sont effectuées sur le back-end. Le code JavaScript exécuté côté navigateur est remplacé par une couche universelle qui appelle les gestionnaires situés côté backend. Il n'est pas nécessaire de développer en utilisant JavaScript pour le front-end. L'implémentation de référence Pusa est écrite en PHP et est sous licence GPLv3. En plus de PHP, la technologie peut être implémentée dans n'importe quel autre langage, notamment JavaScript/Node.js, Java, Python, Go et Ruby.

Pusa définit un protocole d'échange basé sur un ensemble minimaliste de commandes. Lorsque la page se charge, le navigateur charge le contenu DOM sous-jacent et le noyau JavaScript de Pusa-Front. Pusa-Front envoie les événements du navigateur (tels que le clic, le flou, le focus et la pression sur une touche) et les paramètres de requête (l'élément qui a provoqué l'événement, ses attributs, l'URL, etc.) au gestionnaire de serveur Pusa-Back à l'aide de requêtes Ajax. Sur la base des données reçues, Pusa-Back détermine le contrôleur, exécute la charge utile et génère un ensemble de commandes de réponse. Après avoir reçu la réponse à la demande, Pusa-Front exécute des commandes, modifiant le contenu du DOM et l'environnement du navigateur.

L'état de l'interface utilisateur est généré mais non contrôlé par le serveur, ce qui rend le développement pour Pusa similaire à celui du code pour une carte graphique ou Canvas, où le résultat de l'exécution n'est pas contrôlé par le développeur. Pour créer des applications interactives basées sur Canvas et la fonction `onmousemove`, il est possible de charger et d'utiliser des scripts JavaScript supplémentaires côté client. Cette méthode présente toutefois des inconvénients, notamment le transfert d'une partie de la charge de l'interface utilisateur vers le serveur et l'augmentation de la fréquence des échanges de données. serveur.

Parmi les avantages figurent : l'élimination du besoin de participation de développeurs front-end JavaScript, un code client stable et compact (11 Ko), l'inaccessibilité du code principal depuis le front-end, pas besoin de sérialisation REST et d'outils comme gRPC, éliminant le problèmes de coordination du routage des requêtes entre le front-end et le back-end.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster