var parser = new UAParser();

Baixe o arquivo JavaScript reduzido e inclua-o no mesmo nível de diretório do arquivo HTML. Se você estiver usando ua-parser-js em um ambiente Node.js, poderá instalá-lo usando npm:

npm install ua-parser-js

Então, em seu script Node.js, você pode exigir a biblioteca:

const UAParser = require(\\'ua-parser-js\\');

Para projetos TypeScript, você pode instalar a biblioteca junto com suas definições de tipo usando npm:

npm install --save ua-parser-js @types/ua-parser-js

Então, em seu arquivo .ts, você pode importar a biblioteca:

import { UAParser } from \\\"ua-parser-js\\\";const parser = new UAParser()

Uso e exemplos

A biblioteca ua-parser-js fornece uma API simples para analisar strings de agente de usuário e acessar os dados analisados.

Para analisar uma string de agente de usuário, você pode criar uma instância do objeto UAParser e chamar o método setUA com a string de agente de usuário:

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

Depois que a string do agente do usuário for analisada, você poderá acessar os dados analisados ​​usando os métodos disponíveis fornecidos pelo objeto UAParser:

const result = parser.getResult();console.log(result.browser); // {name: \\\"Chrome\\\", version: \\\"93.0.4577.82\\\", major: \\\"93\\\"}console.log(result.os);      // {name: \\\"Windows\\\", version: \\\"10\\\"}console.log(result.device);  // {vendor: undefined, model: undefined, type: undefined}

O método getResult retorna um objeto contendo os dados analisados, incluindo informações sobre o navegador, sistema operacional, dispositivo, CPU e mecanismo.

Usando extensões

ua-parser-js também permite estender seus recursos de análise, fornecendo expressões regulares personalizadas e regras de análise. Você pode passar uma série de extensões ao criar uma nova instância do objeto UAParser:

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

Com esses recursos e exemplos, você deve ter um bom entendimento de como instalar, configurar e usar ua-parser-js em seus projetos de desenvolvimento web. Na próxima seção, exploraremos as recentes mudanças de licenciamento em torno do ua-parser-js e suas implicações para os desenvolvedores e a comunidade de código aberto.

A mudança de licença do ua-parser-js

Recentemente, ua-parser-js passou por uma mudança significativa de licença que gerou discussões na comunidade de desenvolvedores. Antes da mudança, o ua-parser-js era inicialmente distribuído sob a licença do MIT, que é conhecida por sua natureza permissiva. Esta licença permitiu que os desenvolvedores usassem, modificassem e distribuíssem a biblioteca com restrições mínimas, tornando-a uma escolha popular tanto para projetos comerciais quanto de código aberto.

ua-parser-js cresceu em popularidade, com mais de 2.240 projetos dependentes, e foi baixado mais de 12,3 milhões de vezes. Este crescimento levou a um aumento das exigências de manutenção e à necessidade de um modelo de desenvolvimento mais sustentável. O novo modelo de licenciamento visa gerar receitas para apoiar os esforços contínuos de manutenção e desenvolvimento.

Com o recente lançamento da versão 2.0, ua-parser-js adotou um modelo de licenciamento duplo: AGPLv3 (GNU Affero General Public License versão 3) para a versão gratuita e de código aberto e uma licença PRO proprietária para uso comercial. Essa mudança causou uma mudança significativa na forma como os desenvolvedores podem usar e distribuir ua-parser-js em seus projetos.

O modelo de licenciamento duplo tenta alcançar um meio-termo entre manter uma biblioteca de código aberto e lucrar com usuários comerciais que possam precisar de funções ou suporte extras. Atualmente, os projetos comerciais enfrentam uma decisão: ou cumprem os termos da licença AGPLv3 (que pode exigir que liberem seu próprio código-fonte) ou compram uma licença PRO. O preço da licença PRO começa em US$ 12 para uso pessoal e vai até US$ 500 para uso empresarial. Este modelo, muitas vezes referido como “núcleo aberto”, foi adotado por outros projetos no ecossistema de código aberto, como Sidekiq, Mastodon, Nextcloud e outros.

Tem-se falado de possíveis bifurcações da versão licenciada pelo MIT ou do desenvolvimento de bibliotecas alternativas. Por exemplo, Matteo Collina, membro do Node.js TSC, já criou um fork chamado my-ua-parser para manter uma versão licenciada pelo MIT.

À medida que você navega nessa transição, é importante entender as mudanças e considerar como elas podem impactar seus projetos. Na próxima seção, exploraremos algumas estratégias para lidar com essa mudança de licença em seu próprio trabalho.

Navegando pela mudança de licença como desenvolvedor

Ao decidir qual licença usar, você precisa considerar a natureza e os requisitos do seu projeto, reavaliar suas dependências e tomar decisões informadas para evitar os desafios que a mudança de licença apresenta.

Se o seu projeto já estiver usando uma licença de código aberto compatível, a versão AGPLv3 pode ser adequada. Isso significa que você disponibilizará todo o código-fonte do seu aplicativo se distribuí-lo ou executá-lo como um serviço de rede. No entanto, lembre-se de que o uso da versão AGPL pode limitar a adoção do seu projeto por outras pessoas que não possam cumprir os termos da AGPL.

Mas se você estiver desenvolvendo software proprietário ou não puder cumprir os termos da AGPL, considere comprar a licença PRO; avalie se o custo da licença PRO é justificado pelos benefícios e recursos que você precisa do ua-parser-js. Como alternativa, você pode continuar usando a ramificação v1.x ou bifurcações do ua-parser-js, que permanece sob a licença do MIT. Mas você deve observar que esta versão pode receber atualizações limitadas no futuro.

Conclusão

Durante anos, ua-parser-js foi apreciado como uma ferramenta valiosa para desenvolvedores web. Sua capacidade de analisar com precisão strings de agente de usuário e fornecer informações detalhadas sobre navegadores, sistemas operacionais e dispositivos tornou-a uma biblioteca essencial para muitos de nós.

A mudança da licença MIT para um modelo duplo AGPLv3 PRO sem dúvida causou agitação na comunidade de desenvolvedores. Testemunhamos uma variedade de respostas a isso; alguns membros da comunidade foram compreensivos, enquanto outros demonstraram preocupação e oposição. Para alguns, isso significaria ajustar os seus projetos para cumprir a licença AGPLv3, enquanto para outros poderia envolver a compra de uma licença PRO ou a procura de soluções alternativas.

Como usuários de software de código aberto, precisamos estar preparados para essas mudanças e ter estratégias para nos adaptarmos quando necessário.

","image":"http://www.luping.net/uploads/20240806/172294236366b2039be2ce7.jpg","datePublished":"2024-08-06T19:06:03+08:00","dateModified":"2024-08-06T19:06:03+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Detecção de agente de usuário e alteração de licença ua-parser-js

Detecção de agente de usuário e alteração de licença ua-parser-js

Publicado em 2024-08-06
Navegar:401

User agent detection and the ua-parser-js license change

Escrito por Ikeh Akinyemi✏️

A detecção de agente de usuário desempenha um papel importante para ajudar os desenvolvedores a otimizar seus sites e aplicativos para vários dispositivos, navegadores e sistemas operacionais. Ao identificar com precisão os ambientes de seus usuários, os desenvolvedores podem adaptar suas soluções para oferecer a melhor experiência ao usuário.

Neste artigo, aprenderemos sobre a detecção de agente de usuário e exploraremos a biblioteca JavaScript que ganhou adoção significativa entre os desenvolvedores: ua-parser-js. ua-parser-js recentemente ganhou as manchetes devido a uma mudança em seu modelo de licenciamento, e abordaremos sua mudança de uma licença permissiva MIT para um modelo de licença comercial dupla AGPLv3 e como isso afeta projetos individuais e SaaS.

O que é detecção de agente de usuário?

A detecção do agente do usuário é o processo de identificação dos componentes específicos de software e hardware que seus usuários estão usando para acessar seu site ou aplicativo. A detecção envolve informações sobre o nome e versão do navegador do usuário, sistema operacional, tipo de dispositivo e muito mais.

Ao aproveitar a detecção do agente do usuário, o desenvolvedor pode tomar decisões informadas sobre como apresentar e otimizar o conteúdo de seus usuários, garantindo acessibilidade, experiências personalizadas, compatibilidade entre navegadores e hardware e, possivelmente, desempenho aprimorado em uma ampla gama de diferentes plataformas usadas.

A biblioteca ua-parser-js e suas mudanças recentes

ua-parser-js é uma biblioteca JavaScript leve que simplifica a detecção do agente do usuário. Esta biblioteca foi desenvolvida e mantida por Faisal Salman e ganhou forte adoção na comunidade de desenvolvedores devido à sua facilidade de uso, amplo suporte ao navegador e resultados confiáveis.

Com ua-parser-js, você pode analisar facilmente strings de agente de usuário e obter informações precisas sobre o navegador, sistema operacional, dispositivo do usuário e muito mais. A biblioteca fornece uma API simples e intuitiva que pode ser facilmente integrada aos seus projetos web.

Nas seções a seguir, aprenderemos sobre a biblioteca ua-parser-js, incluindo seus recursos importantes, métodos de instalação e exemplos de uso. Também discutiremos suas recentes mudanças de licenciamento, que geraram debates na comunidade de desenvolvedores.

Instalação e configuração do ua-parser-js

A biblioteca ua-parser-js pode ser instalada usando vários métodos, dependendo do seu ambiente de desenvolvimento e preferências. Com um tamanho leve de aproximadamente 18 KB minificado e 7,9 KB compactado, o ua-parser-js pode ser facilmente integrado em ambientes do lado do cliente (navegador) e do lado do servidor (Node.js).

Para usar ua-parser-js em um arquivo HTML, você pode simplesmente incluir o script da biblioteca em seu arquivo HTML:


  
    
  
  
    var parser = new UAParser();
    
  

Baixe o arquivo JavaScript reduzido e inclua-o no mesmo nível de diretório do arquivo HTML. Se você estiver usando ua-parser-js em um ambiente Node.js, poderá instalá-lo usando npm:

npm install ua-parser-js

Então, em seu script Node.js, você pode exigir a biblioteca:

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

Para projetos TypeScript, você pode instalar a biblioteca junto com suas definições de tipo usando npm:

npm install --save ua-parser-js @types/ua-parser-js

Então, em seu arquivo .ts, você pode importar a biblioteca:

import { UAParser } from "ua-parser-js";
const parser = new UAParser()

Uso e exemplos

A biblioteca ua-parser-js fornece uma API simples para analisar strings de agente de usuário e acessar os dados analisados.

Para analisar uma string de agente de usuário, você pode criar uma instância do objeto UAParser e chamar o método setUA com a string de agente de usuário:

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

Depois que a string do agente do usuário for analisada, você poderá acessar os dados analisados ​​usando os métodos disponíveis fornecidos pelo objeto UAParser:

const result = parser.getResult();
console.log(result.browser); // {name: "Chrome", version: "93.0.4577.82", major: "93"}
console.log(result.os);      // {name: "Windows", version: "10"}
console.log(result.device);  // {vendor: undefined, model: undefined, type: undefined}

O método getResult retorna um objeto contendo os dados analisados, incluindo informações sobre o navegador, sistema operacional, dispositivo, CPU e mecanismo.

Usando extensões

ua-parser-js também permite estender seus recursos de análise, fornecendo expressões regulares personalizadas e regras de análise. Você pode passar uma série de extensões ao criar uma nova instância do objeto UAParser:

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

Com esses recursos e exemplos, você deve ter um bom entendimento de como instalar, configurar e usar ua-parser-js em seus projetos de desenvolvimento web. Na próxima seção, exploraremos as recentes mudanças de licenciamento em torno do ua-parser-js e suas implicações para os desenvolvedores e a comunidade de código aberto.

A mudança de licença do ua-parser-js

Recentemente, ua-parser-js passou por uma mudança significativa de licença que gerou discussões na comunidade de desenvolvedores. Antes da mudança, o ua-parser-js era inicialmente distribuído sob a licença do MIT, que é conhecida por sua natureza permissiva. Esta licença permitiu que os desenvolvedores usassem, modificassem e distribuíssem a biblioteca com restrições mínimas, tornando-a uma escolha popular tanto para projetos comerciais quanto de código aberto.

ua-parser-js cresceu em popularidade, com mais de 2.240 projetos dependentes, e foi baixado mais de 12,3 milhões de vezes. Este crescimento levou a um aumento das exigências de manutenção e à necessidade de um modelo de desenvolvimento mais sustentável. O novo modelo de licenciamento visa gerar receitas para apoiar os esforços contínuos de manutenção e desenvolvimento.

Com o recente lançamento da versão 2.0, ua-parser-js adotou um modelo de licenciamento duplo: AGPLv3 (GNU Affero General Public License versão 3) para a versão gratuita e de código aberto e uma licença PRO proprietária para uso comercial. Essa mudança causou uma mudança significativa na forma como os desenvolvedores podem usar e distribuir ua-parser-js em seus projetos.

O modelo de licenciamento duplo tenta alcançar um meio-termo entre manter uma biblioteca de código aberto e lucrar com usuários comerciais que possam precisar de funções ou suporte extras. Atualmente, os projetos comerciais enfrentam uma decisão: ou cumprem os termos da licença AGPLv3 (que pode exigir que liberem seu próprio código-fonte) ou compram uma licença PRO. O preço da licença PRO começa em US$ 12 para uso pessoal e vai até US$ 500 para uso empresarial. Este modelo, muitas vezes referido como “núcleo aberto”, foi adotado por outros projetos no ecossistema de código aberto, como Sidekiq, Mastodon, Nextcloud e outros.

Tem-se falado de possíveis bifurcações da versão licenciada pelo MIT ou do desenvolvimento de bibliotecas alternativas. Por exemplo, Matteo Collina, membro do Node.js TSC, já criou um fork chamado my-ua-parser para manter uma versão licenciada pelo MIT.

À medida que você navega nessa transição, é importante entender as mudanças e considerar como elas podem impactar seus projetos. Na próxima seção, exploraremos algumas estratégias para lidar com essa mudança de licença em seu próprio trabalho.

Navegando pela mudança de licença como desenvolvedor

Ao decidir qual licença usar, você precisa considerar a natureza e os requisitos do seu projeto, reavaliar suas dependências e tomar decisões informadas para evitar os desafios que a mudança de licença apresenta.

Se o seu projeto já estiver usando uma licença de código aberto compatível, a versão AGPLv3 pode ser adequada. Isso significa que você disponibilizará todo o código-fonte do seu aplicativo se distribuí-lo ou executá-lo como um serviço de rede. No entanto, lembre-se de que o uso da versão AGPL pode limitar a adoção do seu projeto por outras pessoas que não possam cumprir os termos da AGPL.

Mas se você estiver desenvolvendo software proprietário ou não puder cumprir os termos da AGPL, considere comprar a licença PRO; avalie se o custo da licença PRO é justificado pelos benefícios e recursos que você precisa do ua-parser-js. Como alternativa, você pode continuar usando a ramificação v1.x ou bifurcações do ua-parser-js, que permanece sob a licença do MIT. Mas você deve observar que esta versão pode receber atualizações limitadas no futuro.

Conclusão

Durante anos, ua-parser-js foi apreciado como uma ferramenta valiosa para desenvolvedores web. Sua capacidade de analisar com precisão strings de agente de usuário e fornecer informações detalhadas sobre navegadores, sistemas operacionais e dispositivos tornou-a uma biblioteca essencial para muitos de nós.

A mudança da licença MIT para um modelo duplo AGPLv3 PRO sem dúvida causou agitação na comunidade de desenvolvedores. Testemunhamos uma variedade de respostas a isso; alguns membros da comunidade foram compreensivos, enquanto outros demonstraram preocupação e oposição. Para alguns, isso significaria ajustar os seus projetos para cumprir a licença AGPLv3, enquanto para outros poderia envolver a compra de uma licença PRO ou a procura de soluções alternativas.

Como usuários de software de código aberto, precisamos estar preparados para essas mudanças e ter estratégias para nos adaptarmos quando necessário.

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/logocketock/user-agent-detection-and-the-ua-parser-js-license-change-44ih?1 Se houver alguma infração, entre em contato com Study_Golang@163 .com para excluí -lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3