Detección del agente de usuario y cambio de licencia de ua-parser-js

Share on X (Twitter)Share on FacebookShare on LinkedInShare on Email

La detección de agentes de usuario desempeña un papel fundamental para ayudar a los desarrolladores a optimizar sus sitios web y aplicaciones para diversos dispositivos, navegadores y sistemas operativos. Al identificar con precisión los entornos de sus usuarios, los desarrolladores pueden adaptar sus soluciones para ofrecer la mejor experiencia de usuario.

En este artículo, aprenderemos sobre la detección del agente de usuario y exploraremos la biblioteca de JavaScript que ha ganado una adopción significativa entre los desarrolladores: ua-parser-js . ua-parser-js recientemente fue noticia debido a un cambio en su modelo de licencia, y cubriremos su cambio de una licencia MIT permisiva a un modelo de licencia dual AGPLv3 + comercial, y cómo esto afecta a los proyectos individuales y SaaS.

Table
  1. ¿Qué es la detección del agente de usuario?
  2. La biblioteca ua-parser-js y sus cambios recientes
  3. Instalación y configuración de ua-parser-js
    1. Uso y ejemplos
    2. Uso de extensiones
  4. El cambio de licencia de ua-parser-js
  5. Cómo navegar el cambio de licencia como desarrollador
  6. Conclusión

¿Qué es la detección del agente de usuario?

La detección del agente de usuario consiste en identificar los componentes específicos de software y hardware que utilizan los usuarios para acceder a su sitio web o aplicación. Esta detección incluye información sobre el nombre y la versión del navegador del usuario, el sistema operativo, el tipo de dispositivo, etc.

Usando el acrónimo BLUF para mejorar la comunicación

Al aprovechar la detección del agente de usuario, el desarrollador puede tomar decisiones informadas sobre cómo presentar y optimizar el contenido de sus usuarios, garantizando accesibilidad, experiencias personalizadas, compatibilidad entre navegadores y hardware y posiblemente un rendimiento mejorado en la amplia gama de diferentes plataformas utilizadas.

La biblioteca ua-parser-js y sus cambios recientes

ua-parser-js es una biblioteca ligera de JavaScript que simplifica la detección de agentes de usuario. Esta biblioteca, desarrollada y mantenida por Faisal Salman, ha sido ampliamente adoptada por la comunidad de desarrolladores gracias a su facilidad de uso, amplia compatibilidad con navegadores y resultados fiables.

Con ua-parser-js, puede analizar fácilmente las cadenas de agente de usuario y obtener información precisa sobre el navegador, el sistema operativo, el dispositivo y más del usuario. La biblioteca proporciona una API sencilla e intuitiva que se integra fácilmente en sus proyectos web.

En las siguientes secciones, aprenderemos sobre la biblioteca ua-parser-js, incluyendo sus características principales, métodos de instalación y ejemplos de uso. También analizaremos sus recientes cambios de licencia, que han generado debate en la comunidad de desarrolladores.

Usar la minería de mensajes para crear una copia que convierta

Instalación y configuración de ua-parser-js

La biblioteca ua-parser-js se puede instalar mediante varios métodos, según el entorno de desarrollo y las preferencias. Con un peso ligero de aproximadamente 18 KB minimizado y 7,9 KB comprimido en gzip, ua-parser-js se integra fácilmente tanto en entornos de cliente (navegador) como de servidor (Node.js).

Para usar ua-parser-js en un archivo HTML, simplemente puede incluir el script de la biblioteca en su archivo HTML:

!DOCTYPE html  html   encabezado   script src = "ua-parser.min.js"        / script  / cabeza   cuerpo         var parser = nuevo UAParser();    !-- Tu contenido va aquí -- / body  / html   

Descargue el archivo JavaScript minimizado e inclúyalo en el mismo nivel de directorio que el archivo HTML.

Si está utilizando ua-parser-js en un entorno Node.js, puede instalarlo usando npm:

Uso de colores de consola con Node.js
npm install ua - analizador - js

Luego, en su script Node.js, puede requerir la biblioteca:

constante UAParser = require ( 'ua-parser-js' );   

Para proyectos de TypeScript, puedes instalar la biblioteca junto con sus definiciones de tipo usando npm:

npm install -- guardar ua - analizador - js @types / ua - analizador - js

Luego, en tu archivo, puedes importar la biblioteca:.ts

importar { UAParser } de "ua-parser-js" ; const parser = new UAParser ()       

Uso y ejemplos

La biblioteca ua-parser-js proporciona una API simple para analizar cadenas de agente de usuario y acceder a los datos analizados.

Animaciones CSS dinámicas con la función de suavizado lineal()

Para analizar una cadena de agente de usuario, puede crear una instancia del UAParserobjeto y llamar al setUAmétodo con la cadena de agente de usuario:

const parser = new UAParser (); parser . setUA ( 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/93.0.4577.82 Safari/537.36' );  

Una vez analizada la cadena del agente de usuario, puede acceder a los datos analizados utilizando los métodos disponibles proporcionados por el UAParserobjeto:

const result = parser.getResult (); console.log ( result.browser ) ; // { nombre : "Chrome", versión: "93.0.4577.82", major: "93"} console.log ( result.os ) ; // { nombre : "Windows", versión: "10"} console.log ( result.dispositivo ) ; // {proveedor : indefinido, modelo : indefinido, tipo: indefinido }         

El getResultmétodo devuelve un objeto que contiene los datos analizados, incluida información sobre el navegador, el sistema operativo, el dispositivo, la CPU y el motor.

Uso de extensiones

ua-parser-js también permite ampliar sus capacidades de análisis proporcionando expresiones regulares y reglas de análisis personalizadas. Se puede pasar una matriz de extensiones al crear una nueva instancia del UAParserobjeto:

const myExtensions = [ [ /(myapp)/([w.]+)/ i , [ UAParser . BROWSER . NAME , UAParser . BROWSER . VERSION ]], ]; const parser = new UAParser ( navigator . userAgent , myExtensions );       

Con estas características y ejemplos, comprenderá bien cómo instalar, configurar y usar ua-parser-js en sus proyectos de desarrollo web. En la siguiente sección, exploraremos los cambios recientes en las licencias de ua-parser-js y sus implicaciones para los desarrolladores y la comunidad de código abierto.

El cambio de licencia de ua-parser-js

Recientemente, ua-parser-js experimentó un cambio de licencia significativo que generó debate en la comunidad de desarrolladores. Antes del cambio, ua-parser-js se distribuía inicialmente bajo la licencia MIT, conocida por su carácter permisivo. Esta licencia permitía a los desarrolladores usar, modificar y distribuir la biblioteca con mínimas restricciones, lo que la convirtió en una opción popular tanto para proyectos de código abierto como comerciales.

ua-parser-js ha crecido en popularidad, con más de 2240 proyectos dependientes, y ha sido descargado más de 12,3 millones de veces. Este crecimiento ha generado mayores demandas de mantenimiento y la necesidad de un modelo de desarrollo más sostenible. El nuevo modelo de licencias busca generar ingresos para financiar las labores de mantenimiento y desarrollo continuos.



Con el reciente lanzamiento de la versión 2.0, ua-parser-js adoptó un modelo de licencia dual: AGPLv3 (Licencia Pública General Affero GNU versión 3) para la versión gratuita y de código abierto, y una licencia propietaria (PRO) para uso comercial. Este cambio supuso una transformación significativa en la forma en que los desarrolladores pueden usar y distribuir ua-parser-js en sus proyectos.

El modelo de licencia dual busca un equilibrio entre mantener una biblioteca de código abierto y aprovechar las ventajas de los usuarios comerciales que podrían necesitar funciones o soporte adicionales. Actualmente, los proyectos comerciales se enfrentan a una decisión: o cumplen los términos de la licencia AGPLv3 (que puede exigirles publicar su propio código fuente) o adquieren una licencia PRO. El precio de la licencia PRO comienza desde $12 para uso personal y sube hasta $500 para uso empresarial. Este modelo, a menudo denominado “núcleo abierto”, ha sido adoptado por otros proyectos del ecosistema de código abierto, como Sidekiq, Mastodon, Nextcloud y otros.

Se ha hablado de posibles bifurcaciones de la versión con licencia del MIT o del desarrollo de bibliotecas alternativas. Por ejemplo, Matteo Collina, miembro del TSC de Node.js, ya ha creado una bifurcación llamada my-ua-parser para mantener una versión con licencia del MIT.

A medida que atraviesa esta transición, es importante que comprenda los cambios y considere cómo podrían afectar sus proyectos. En la siguiente sección, exploraremos algunas estrategias para abordar este cambio de licencia en su propio trabajo.

Cómo navegar el cambio de licencia como desarrollador

Al decidir qué licencia utilizar, debe considerar la naturaleza y los requisitos de su proyecto, reevaluar sus dependencias y tomar decisiones informadas para evitar los desafíos que presenta el cambio de licencia.

Si su proyecto ya utiliza una licencia de código abierto compatible, la versión AGPLv3 podría ser adecuada. Esto significa que el código fuente completo de su aplicación estará disponible si la distribuye o la ejecuta como un servicio de red. Sin embargo, tenga en cuenta que usar la versión AGPL podría limitar la adopción de su proyecto por parte de otros que no cumplan con los términos de AGPL.

Si desarrolla software propietario o no puede cumplir con los términos de la AGPL, debería considerar adquirir la licencia PRO; evalúe si su costo se justifica por las ventajas y funciones que necesita de ua-parser-js. Como alternativa, puede seguir usando la rama v1.x o las bifurcaciones de ua-parser-js, que se mantienen bajo la licencia MIT. Sin embargo, tenga en cuenta que esta versión podría recibir actualizaciones limitadas en el futuro.

Conclusión

Durante años, ua-parser-js ha sido una herramienta valiosa para los desarrolladores web. Su capacidad para analizar con precisión las cadenas de agentes de usuario y proporcionar información detallada sobre navegadores, sistemas operativos y dispositivos la ha convertido en una biblioteca esencial para muchos.

El cambio de la licencia MIT a un modelo doble AGPLv3 + PRO causó sin duda un gran revuelo en la comunidad de desarrolladores. Observamos diversas reacciones: algunos miembros de la comunidad se mostraron comprensivos, mientras que otros mostraron preocupación y oposición . Para algunos, implicaría adaptar sus proyectos para cumplir con la licencia AGPLv3, mientras que para otros podría implicar adquirir una licencia PRO o buscar soluciones alternativas.

Como usuarios de software de código abierto, debemos estar preparados para dichos cambios y tener estrategias para adaptarnos cuando sea necesario.



Empieza ahora

Si quieres conocer otros artículos parecidos a Detección del agente de usuario y cambio de licencia de ua-parser-js puedes visitar la categoría Guias.

Entradas Relacionadas