Prácticas de desarrollo de compatibilidad de navegadores y API

imagen


Antes de comenzar a probar la compatibilidad de API en el navegador, primero comprendemos la API y sabemos cómo funciona realmente. Si no comprende el papel y la función de la API, entrará en cierta confusión y un gran vórtice técnico, como el consumo de tiempo de la versión de la API y los problemas de compatibilidad del navegador.


Cuando miramos la definición de Wikipedia, puede encontrar una descripción muy larga.


imagen

Definición de API en wikipedia


Pero en términos simples, son como un camarero que atiende el restaurante que solicitó. Acepta la solicitud del cliente y pasa esta información al centro de datos (cocina) para confirmar la solicitud y proporcionar los datos (comida).


Por tanto, si varios códigos quieren interactuar entre sí, ¿cómo sabe el sitio web o la APP que el usuario quiere solicitarle determinado contenido? Entonces todos necesitamos una API.


Como desarrollador, encontrará muchos tipos de API en su desarrollo diario. Cada API tiene diferentes responsabilidades y proporcionan varios protocolos de trabajo subyacentes o métodos de ejecución únicos para diferentes entornos.


A continuación, llegamos a comprender los distintos tipos de API y su compatibilidad en varios navegadores.


Tipo de API


(1) API de servicios web


Estas API incluyen REST API, SOAP API, XML-RPC y JSON-RPC. Las más comunes de estas API son REST y SOAP, donde REST significa Transferencia de estado representacional y SOAP significa Protocolo simple de acceso a objetos.


La API REST es la primera opción entre las dos porque tiene una ventaja adicional sobre la API SOAP y proporciona un conjunto de protocolos estándar. como sigue:


API de código fuente:

Estas API incluyen interfaces, API basadas en bibliotecas y API basadas en clases.


API de hardware:

Comuníquese a través del hardware, como la lectura de temperatura, flujo, presión, humedad, información de tipo y otra información, todo lo cual se realiza con la ayuda de API de hardware. Sin embargo, estas API son independientes de la compatibilidad del navegador.


API remota de objetos:

Estas API utilizan protocolos remotos como CORBA.


API basada en clases:

Los datos y las funciones se organizan en torno a clases, al igual que los lenguajes orientados a objetos en estas API.


2, API de WebSocket:


En la API de WebSocket, el servidor no responde a todas las solicitudes. Una vez establecida la conexión, enviará una respuesta basada en eventos sin esperar a que el servidor responda.


当你在服务器上使用这些API进行通信或数据交换时,可能会遇到某些问题,如API无法正常工作,重定向到某个错误页面,链接被断开等。


这些问题需要我们了解API浏览器兼容性的内容。API的浏览器兼容性是指针对不同的API支持不同的浏览器。因为随着浏览器的每次升级,会同时发生各种功能的弃用。这些弃用附加了各种标签,代码和技术支持,API开发者需要与它们保持同步。


比如你已经使用MediaStream扩展实现对WebRTC的支持。当我们进行跨浏览器测试时,你会发现无法在Chrome的高版本上查看事件。我们会一次又一次检查代码,但仍会继续面临相同的情况,如果我们知道Chrome 53更新版已弃用该扩展,需要使用MediaStreamTracks,你是什么样的感觉?笨啊!这其实不是太复杂的问题,但可能要花费很多时间。因此,有必要确保使用的API是浏览器兼容的。


源代码API兼容性问题


已弃用的SDK浏览器方法


SDK或开发者套件是程序员下载的套件使用某个API。此SDK包含程序员调用API所需的所有基本要素,并提供请求。现在,随着浏览器的每次升级,都会有各种技术被添加,有的技术都会被弃用。这些弃用的技术不包括对各种功能,工具,元素等的支持。


因此,正如我之前解释过的,就像MediaStreams一样,许多元素都会改变或者被弃用。因此,您需要掌握最新浏览器的功能,确保您没有在您的API中使用任何不支持的功能或元素,导致API浏览器不兼容。


REST API兼容性问题


在使用REST API时,你可能正在使用诸如GET,POST,PUT,DELETE,OPTIONS,PATCH等标准方法,但并非所有浏览器都支持这些方法。


imagen


Por ejemplo, si está utilizando getUserMedia / Stream API, puede encontrar incompatibilidad con ciertos navegadores como IE 11, iOS Safari 10.3, Opera Mini, etc., y compatibilidad parcial con navegadores como Chrome 49 y Samsung Internet 4, por lo que si utiliza esta API, puede interrumpir la función de la API y las solicitudes de los usuarios no estarán disponibles debido a la desconexión de la comunicación.


Problemas de compatibilidad con API REST y Websocket


Problemas entre dominios. Cuando intenta solicitar una API privada o una API de socio a la que no se le ha otorgado acceso, puede encontrar un error de origen entre dominios.


Si utiliza API abiertas como WeChat, Taobao, Twitter o Google, es posible que no encuentre este error.

Sin embargo, si se enfrenta a un error Access-Control-Allow-Origin, es posible que deba encontrar una solución para resolver el problema.


Para leer más sobre cómo resolver este error, visite nuestro sitio web.


Problemas de la API del código fuente


El firewall bloquea la llamada de archivos específicos.


Cuando usa ciertas API (como la API de fuentes web de Google), la API procesará diferentes archivos llamándolos desde la red o la máquina local. A veces, los firewalls bloquean estas solicitudes y es más probable que se encuentren problemas de incompatibilidad.


En este caso, debe asegurarse de que cada llamada a la API tenga un respaldo.


Por ejemplo, está utilizando una familia de fuentes y establece la segunda fuente en sans-serif. Si MyWebFont no está renderizado, entonces sans-serif se renderizará en su lugar para evitar una renderización aleatoria de fuentes.


1 2 3 body {font-family : 'MyWebFont' , Fallback , sans-serif; }


Lo mismo ocurre con otras llamadas a la API, que nos obligan a revertir cada elemento utilizado.


También puede encontrar problemas de compatibilidad con el navegador al usar WebSocket, que no es compatible con Opera Mini, como se muestra en la siguiente figura.


imagen


Por lo tanto, este es un mundo asociado con las API. Los desarrolladores deben asegurarse de que estas API permanezcan conectadas sin vulnerabilidades, y se requieren pruebas de compatibilidad de API para garantizar la coherencia.



Supongo que te gusta

Origin blog.51cto.com/15127566/2666287
Recomendado
Clasificación