Maison  >  Article  >  interface Web  >  Pourquoi Uniapp ne prend pas en charge sockjs

Pourquoi Uniapp ne prend pas en charge sockjs

PHPz
PHPzoriginal
2023-04-18 14:11:24686parcourir

Avec le développement rapide de l'Internet mobile, de plus en plus d'entreprises ont placé le développement d'applications mobiles dans une position importante. Afin de permettre aux développeurs de développer des applications mobiles de haute qualité plus facilement et plus rapidement, les principales plates-formes proposent de nombreux cadres et outils de développement. uniapp en fait partie. Cependant, uniapp rencontre parfois certains problèmes et limitations lors de son utilisation. Par exemple, uniapp ne prend pas en charge sockjs. Alors, pourquoi Uniapp ne prend-il pas en charge sockjs ? Quelles en sont les raisons et les influences ? Cet article expliquera cela.

1. Qu'est-ce que sockjs

Avant de comprendre pourquoi uniapp ne prend pas en charge sockjs, nous devons d'abord comprendre ce qu'est sockjs. SockJS est une bibliothèque JavaScript pour les navigateurs Web qui fournit un canal de communication en duplex intégral à faible latence via WebSocket. SockJS est conçu pour permettre aux applications Web d'utiliser de manière transparente WebSockets sur divers protocoles de transport, tout en pouvant également recourir à des interrogations longues basées sur HTTP si nécessaire.

SockJS fournit une couche d'abstraction sur l'API WebSocket, permettant au code d'application de choisir entre WebSocket, le streaming HTTP indéfini, les sondages IFrame et JSONP. Lorsqu'un navigateur ne prend pas en charge WebSocket, il peut automatiquement recourir à d'autres protocoles pour garantir que l'application peut être utilisée dans l'environnement le plus large possible. Ceci est particulièrement important pour les utilisateurs développant des applications mobiles ou utilisant des navigateurs plus anciens.

2. Pourquoi uniapp ne prend-il pas en charge sockjs

  1. Ne prend pas en charge les requêtes inter-domaines

Uniapp est un framework de développement full-stack pour le développement multi-terminal. Il prend en charge la syntaxe Vue et l'API native et peut rapidement créer diverses. applications mobiles. Cependant, étant donné qu'uniapp s'exécute dans une vue Web ou une applet, ses requêtes réseau doivent être conformes à la « même politique d'origine », c'est-à-dire qu'elle ne peut effectuer des requêtes qu'au même nom de domaine. SockJS est une technologie inter-domaines, donc uniapp doit prendre en compte la sécurité et doit renoncer à la prise en charge de sockjs sans prendre en charge les requêtes inter-domaines.

  1. Augmenter la redondance du code

Pour les problèmes inter-domaines, les développeurs utilisant uniapp peuvent choisir d'autres technologies telles que jsonp pour les résoudre. Cependant, sockjs est toujours utilisé par les développeurs dans divers scénarios de communication réseau. Cela signifie que si Uniapp souhaite prendre en charge sockjs, il doit ajouter du code supplémentaire pour gérer les problèmes inter-domaines, ce qui affecte non seulement l'efficacité du développement, mais augmente également la redondance du code.

  1. Coût d'utilisation élevé

sockjs aura une certaine perte de performances car il devra faire un travail supplémentaire pour s'adapter aux différents protocoles réseau. Sur les plateformes mobiles, l'environnement réseau est très complexe, comprenant différentes normes de réseau telles que 2G/3G/4G, et des problèmes tels que le retard du réseau sont également courants. Si sockjs est utilisé dans ce cas, cela augmentera inévitablement les coûts de développement et les difficultés de maintenance. Pour les développeurs d’Uniapp, c’est sans aucun doute un grand défi.

3. Impact sur les développeurs

Étant donné qu'uniapp ne prend pas en charge sockjs, les développeurs doivent trouver d'autres technologies alternatives. Pour les applications qui nécessitent une communication en temps réel ou utilisent des WebSockets, Uni-app fournit d'autres technologies avec une bonne compatibilité, telles que l'API WebSocket, une interrogation longue basée sur le streaming HTTP, JSONP, etc. Les développeurs peuvent choisir en fonction des besoins réels, ce qui nécessite une certaine formation technique. Pour les novices, il faut consacrer plus de temps à l’apprentissage de ces techniques.

En bref, la principale raison pour laquelle uniapp ne prend pas en charge sockjs est le compromis entre sécurité et coût-bénéfice. Bien que les développeurs disposent d’autres technologies parmi lesquelles choisir, tous les cas d’utilisation ne sont pas adaptés. Pour les développeurs Uniapp, lorsqu'ils utilisent ce cadre pour développer des applications, ils doivent choisir la technologie de communication réseau qui leur convient en fonction de la situation réelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn