var parser = new UAParser();

Загрузите минифицированный файл JavaScript и включите его в тот же уровень каталога, что и файл HTML. Если вы используете ua-parser-js в среде Node.js, вы можете установить его с помощью npm:

npm install ua-parser-js

Затем в вашем скрипте Node.js вы можете запросить библиотеку:

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

Для проектов TypeScript вы можете установить библиотеку вместе с определениями ее типов, используя npm:

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

Затем в файл .ts вы можете импортировать библиотеку:

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

Использование и примеры

Библиотека ua-parser-js предоставляет простой API для анализа строк пользовательского агента и доступа к анализируемым данным.

Чтобы проанализировать строку пользовательского агента, вы можете создать экземпляр объекта UAParser и вызвать метод setUA со строкой пользовательского агента:

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\\');

После анализа строки пользовательского агента вы можете получить доступ к проанализированным данным, используя доступные методы, предоставляемые объектом 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}

Метод getResult возвращает объект, содержащий проанализированные данные, включая информацию о браузере, операционной системе, устройстве, процессоре и движке.

Использование расширений

ua-parser-js также позволяет вам расширить возможности синтаксического анализа, предоставляя собственные регулярные выражения и правила синтаксического анализа. Вы можете передать массив расширений при создании нового экземпляра объекта UAParser:

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

Благодаря этим функциям и примерам вы должны хорошо понимать, как устанавливать, настраивать и использовать ua-parser-js в своих проектах веб-разработки. В следующем разделе мы рассмотрим недавние изменения в лицензировании, связанные с ua-parser-js, и их последствия для разработчиков и сообщества открытого исходного кода.

Изменение лицензии ua-parser-js

Недавно ua-parser-js претерпел значительные изменения в лицензии, что вызвало дискуссии в сообществе разработчиков. До изменения ua-parser-js изначально распространялся под лицензией MIT, известной своим разрешительным характером. Эта лицензия позволяла разработчикам использовать, изменять и распространять библиотеку с минимальными ограничениями, что делало ее популярным выбором как для проектов с открытым исходным кодом, так и для коммерческих проектов.

Популярность

ua-parser-js выросла: насчитывается более 2240 зависимых проектов, и его загрузили более 12,3 миллиона раз. Этот рост привел к увеличению требований к техническому обслуживанию и потребности в более устойчивой модели развития. Новая модель лицензирования направлена ​​на получение дохода для поддержки текущих усилий по обслуживанию и развитию.

В недавнем выпуске версии 2.0 ua-parser-js принял двойную модель лицензирования: AGPLv3 (GNU Affero General Public License, версия 3) для бесплатной версии с открытым исходным кодом и проприетарную лицензию PRO для коммерческого использования. Это изменение привело к значительным изменениям в том, как разработчики могут использовать и распространять ua-parser-js в своих проектах.

Модель двойного лицензирования пытается найти золотую середину между поддержкой библиотеки с открытым исходным кодом и получением прибыли от коммерческих пользователей, которым могут потребоваться дополнительные функции или поддержка. В настоящее время коммерческие проекты стоят перед выбором — либо соблюдать условия лицензии AGPLv3 (которая может потребовать от них выпустить собственный исходный код), либо купить лицензию PRO. Стоимость лицензии PRO начинается от 12 долларов США для личного использования и до 500 долларов США для корпоративного использования. Эта модель, часто называемая «открытым ядром», была принята другими проектами в экосистеме с открытым исходным кодом, такими как Sidekiq, Mastodon, Nextcloud и другими.

Ходили разговоры о потенциальных форках версии под лицензией MIT или о разработке альтернативных библиотек. Например, член Node.js TSC Маттео Коллина уже создал форк под названием my-ua-parser для поддержки версии под лицензией MIT.

В ходе этого перехода вам важно понимать изменения и учитывать, как они могут повлиять на ваши проекты. В следующем разделе мы рассмотрим некоторые стратегии, позволяющие справиться с изменением лицензии в вашей работе.

Навигация по изменению лицензии в качестве разработчика

При принятии решения о том, какую лицензию использовать, вам необходимо учитывать характер и требования вашего проекта, переоценить его зависимости и принять обоснованные решения, чтобы избежать проблем, связанных с изменением лицензии.

Если в вашем проекте уже используется совместимая лицензия с открытым исходным кодом, то версия AGPLv3 может подойти. Это означает, что вы сделаете исходный код всего вашего приложения доступным, если будете распространять его или запускать как сетевую службу. Однако имейте в виду, что использование версии AGPL может ограничить принятие вашего проекта теми, кто не может соблюдать условия AGPL.

Но если вы разрабатываете проприетарное программное обеспечение или не можете соблюдать условия AGPL, вам следует рассмотреть возможность приобретения лицензии PRO; оцените, оправдана ли стоимость лицензии PRO преимуществами и функциями, которые вам нужны от ua-parser-js. Альтернативно вы можете продолжать использовать ветку v1.x или ветку ua-parser-js, которая остается под лицензией MIT. Но следует учитывать, что эта версия может получать ограниченные обновления в будущем.

Заключение

В течение многих лет ua-parser-js ценился как ценный инструмент для веб-разработчиков. Ее способность точно анализировать строки пользовательского агента и предоставлять подробную информацию о браузерах, операционных системах и устройствах сделала ее незаменимой библиотекой для многих из нас.

Переход с лицензии MIT на модель двойной AGPLv3 PRO, несомненно, вызвал переполох в сообществе разработчиков. Мы стали свидетелями самых разных реакций на это; некоторые члены сообщества отнеслись к этому с пониманием, в то время как другие продемонстрировали обеспокоенность и сопротивление. Для некоторых это будет означать корректировку своих проектов в соответствии с лицензией AGPLv3, а для других это может означать покупку лицензии PRO или поиск альтернативных решений.

Как пользователи программного обеспечения с открытым исходным кодом, мы должны быть готовы к таким изменениям и иметь стратегии для адаптации в случае необходимости.

","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"}}
«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Обнаружение пользовательского агента и изменение лицензии ua-parser-js

Обнаружение пользовательского агента и изменение лицензии ua-parser-js

Опубликовано 6 августа 2024 г.
Просматривать:648

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

Написано Ике Акиниеми✏️

Обнаружение пользовательского агента играет важную роль, помогая разработчикам оптимизировать свои веб-сайты и приложения для различных устройств, браузеров и операционных систем. Точно определяя среду своих пользователей, разработчики могут адаптировать свои решения для обеспечения наилучшего пользовательского опыта.

В этой статье мы узнаем об обнаружении пользовательских агентов и изучим библиотеку JavaScript, которая получила широкое распространение среди разработчиков: ua-parser-js. ua-parser-js недавно попал в заголовки газет из-за изменения модели лицензирования, и мы расскажем о его переходе от разрешительной лицензии MIT к модели двойной коммерческой лицензии AGPLv3, а также о том, как это повлияет на отдельные проекты и проекты SaaS.

Что такое обнаружение пользовательского агента?

Обнаружение пользовательского агента — это процесс определения конкретных программных и аппаратных компонентов, которые ваши пользователи используют для доступа к вашему веб-сайту или приложению. Обнаружение включает в себя информацию об имени и версии браузера пользователя, операционной системе, типе устройства и т. д.

Используя обнаружение пользовательского агента, разработчик может принимать обоснованные решения о том, как представлять и оптимизировать контент своих пользователей, обеспечивая доступность, индивидуальный подход, кроссбраузерную и аппаратную совместимость и, возможно, повышенную производительность в широком диапазоне различных используемые платформы.

Библиотека ua-parser-js и ее последние изменения

ua-parser-js — это легкая библиотека JavaScript, которая упрощает обнаружение пользовательского агента. Эта библиотека была разработана и поддерживается Фейсалом Салманом и получила широкое признание в сообществе разработчиков благодаря простоте использования, широкой поддержке браузеров и надежным результатам.

С помощью ua-parser-js вы можете легко анализировать строки пользовательского агента и получать точную информацию о браузере пользователя, операционной системе, устройстве и многом другом. Библиотека предоставляет простой и интуитивно понятный API, который можно легко интегрировать в ваши веб-проекты.

В следующих разделах мы узнаем о библиотеке ua-parser-js, включая ее важные функции, методы установки и примеры использования. Мы также обсудим недавние изменения в лицензировании, которые вызвали споры в сообществе разработчиков.

установка и настройка ua-parser-js

Библиотеку ua-parser-js можно установить различными способами, в зависимости от вашей среды разработки и предпочтений. Благодаря небольшому размеру (около 18 КБ в минифицированном виде и 7,9 КБ в сжатом виде), ua-parser-js может быть легко интегрирован как в клиентскую (браузер), так и в серверную (Node.js) среду.

Чтобы использовать ua-parser-js в HTML-файле, вы можете просто включить скрипт библиотеки в свой HTML-файл:


  
    
    var parser = new UAParser();
    
  

Загрузите минифицированный файл JavaScript и включите его в тот же уровень каталога, что и файл HTML. Если вы используете ua-parser-js в среде Node.js, вы можете установить его с помощью npm:

npm install ua-parser-js

Затем в вашем скрипте Node.js вы можете запросить библиотеку:

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

Для проектов TypeScript вы можете установить библиотеку вместе с определениями ее типов, используя npm:

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

Затем в файл .ts вы можете импортировать библиотеку:

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

Использование и примеры

Библиотека ua-parser-js предоставляет простой API для анализа строк пользовательского агента и доступа к анализируемым данным.

Чтобы проанализировать строку пользовательского агента, вы можете создать экземпляр объекта UAParser и вызвать метод setUA со строкой пользовательского агента:

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');

После анализа строки пользовательского агента вы можете получить доступ к проанализированным данным, используя доступные методы, предоставляемые объектом 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}

Метод getResult возвращает объект, содержащий проанализированные данные, включая информацию о браузере, операционной системе, устройстве, процессоре и движке.

Использование расширений

ua-parser-js также позволяет вам расширить возможности синтаксического анализа, предоставляя собственные регулярные выражения и правила синтаксического анализа. Вы можете передать массив расширений при создании нового экземпляра объекта UAParser:

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

Благодаря этим функциям и примерам вы должны хорошо понимать, как устанавливать, настраивать и использовать ua-parser-js в своих проектах веб-разработки. В следующем разделе мы рассмотрим недавние изменения в лицензировании, связанные с ua-parser-js, и их последствия для разработчиков и сообщества открытого исходного кода.

Изменение лицензии ua-parser-js

Недавно ua-parser-js претерпел значительные изменения в лицензии, что вызвало дискуссии в сообществе разработчиков. До изменения ua-parser-js изначально распространялся под лицензией MIT, известной своим разрешительным характером. Эта лицензия позволяла разработчикам использовать, изменять и распространять библиотеку с минимальными ограничениями, что делало ее популярным выбором как для проектов с открытым исходным кодом, так и для коммерческих проектов.

Популярность

ua-parser-js выросла: насчитывается более 2240 зависимых проектов, и его загрузили более 12,3 миллиона раз. Этот рост привел к увеличению требований к техническому обслуживанию и потребности в более устойчивой модели развития. Новая модель лицензирования направлена ​​на получение дохода для поддержки текущих усилий по обслуживанию и развитию.

В недавнем выпуске версии 2.0 ua-parser-js принял двойную модель лицензирования: AGPLv3 (GNU Affero General Public License, версия 3) для бесплатной версии с открытым исходным кодом и проприетарную лицензию PRO для коммерческого использования. Это изменение привело к значительным изменениям в том, как разработчики могут использовать и распространять ua-parser-js в своих проектах.

Модель двойного лицензирования пытается найти золотую середину между поддержкой библиотеки с открытым исходным кодом и получением прибыли от коммерческих пользователей, которым могут потребоваться дополнительные функции или поддержка. В настоящее время коммерческие проекты стоят перед выбором — либо соблюдать условия лицензии AGPLv3 (которая может потребовать от них выпустить собственный исходный код), либо купить лицензию PRO. Стоимость лицензии PRO начинается от 12 долларов США для личного использования и до 500 долларов США для корпоративного использования. Эта модель, часто называемая «открытым ядром», была принята другими проектами в экосистеме с открытым исходным кодом, такими как Sidekiq, Mastodon, Nextcloud и другими.

Ходили разговоры о потенциальных форках версии под лицензией MIT или о разработке альтернативных библиотек. Например, член Node.js TSC Маттео Коллина уже создал форк под названием my-ua-parser для поддержки версии под лицензией MIT.

В ходе этого перехода вам важно понимать изменения и учитывать, как они могут повлиять на ваши проекты. В следующем разделе мы рассмотрим некоторые стратегии, позволяющие справиться с изменением лицензии в вашей работе.

Навигация по изменению лицензии в качестве разработчика

При принятии решения о том, какую лицензию использовать, вам необходимо учитывать характер и требования вашего проекта, переоценить его зависимости и принять обоснованные решения, чтобы избежать проблем, связанных с изменением лицензии.

Если в вашем проекте уже используется совместимая лицензия с открытым исходным кодом, то версия AGPLv3 может подойти. Это означает, что вы сделаете исходный код всего вашего приложения доступным, если будете распространять его или запускать как сетевую службу. Однако имейте в виду, что использование версии AGPL может ограничить принятие вашего проекта теми, кто не может соблюдать условия AGPL.

Но если вы разрабатываете проприетарное программное обеспечение или не можете соблюдать условия AGPL, вам следует рассмотреть возможность приобретения лицензии PRO; оцените, оправдана ли стоимость лицензии PRO преимуществами и функциями, которые вам нужны от ua-parser-js. Альтернативно вы можете продолжать использовать ветку v1.x или ветку ua-parser-js, которая остается под лицензией MIT. Но следует учитывать, что эта версия может получать ограниченные обновления в будущем.

Заключение

В течение многих лет ua-parser-js ценился как ценный инструмент для веб-разработчиков. Ее способность точно анализировать строки пользовательского агента и предоставлять подробную информацию о браузерах, операционных системах и устройствах сделала ее незаменимой библиотекой для многих из нас.

Переход с лицензии MIT на модель двойной AGPLv3 PRO, несомненно, вызвал переполох в сообществе разработчиков. Мы стали свидетелями самых разных реакций на это; некоторые члены сообщества отнеслись к этому с пониманием, в то время как другие продемонстрировали обеспокоенность и сопротивление. Для некоторых это будет означать корректировку своих проектов в соответствии с лицензией AGPLv3, а для других это может означать покупку лицензии PRO или поиск альтернативных решений.

Как пользователи программного обеспечения с открытым исходным кодом, мы должны быть готовы к таким изменениям и иметь стратегии для адаптации в случае необходимости.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/logrocket/user-agent-detection-and-the-ua-parser-js-license-change-44ih?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с Study_golang@163 .com, чтобы удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3