var parser = new UAParser();

縮小された JavaScript ファイルをダウンロードし、HTML ファイルと同じディレクトリ レベルに含めます。 Node.js 環境で ua-parser-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 メソッドは、ブラウザ、オペレーティング システム、デバイス、CPU、エンジンに関する情報など、解析されたデータを含むオブジェクトを返します。

拡張機能の使用

ua-parser-js では、カスタムの正規表現と解析ルールを提供することで解析機能を拡張することもできます。 UAParser オブジェクトの新しいインスタンスを作成するときに、拡張子の配列を渡すことができます:

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

これらの機能と例を参照すると、Web 開発プロジェクトで ua-parser-js をインストール、設定、使用する方法を十分に理解できるはずです。次のセクションでは、ua-parser-js を取り巻く最近のライセンス変更と、それが開発者やオープンソース コミュニティに与える影響について検討します。

ua-parser-js ライセンスの変更

最近、ua-parser-js に大幅なライセンス変更が加えられ、開発者コミュニティで議論が巻き起こりました。変更前、ua-parser-js は当初、寛容な性質で知られる MIT ライセンスに基づいて配布されていました。このライセンスにより、開発者は最小限の制限でライブラリを使用、変更、配布できるため、オープンソース プロジェクトと商用プロジェクトの両方で人気の選択肢となりました。

ua-parser-js は人気が高まり、2,240 を超える依存プロジェクトがあり、1,230 万回以上ダウンロードされました。この成長により、メンテナンスの需要が増大し、より持続可能な開発モデルの必要性が高まっています。新しいライセンス モデルは、継続的なメンテナンスと開発の取り組みをサポートする収益を生み出すことを目的としています。

バージョン 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 メンバーの Matteo Collina は、MIT ライセンス バージョンを維持するために my-ua-parser というフォークをすでに作成しています。

この移行を進める際には、変更を理解し、それがプロジェクトにどのような影響を与えるかを考慮することが重要です。次のセクションでは、自分の作品でこのライセンス変更に対処するためのいくつかの戦略を検討します。

開発者としてライセンス変更をナビゲートする

どのライセンスを使用するかを決定するときは、プロジェクトの性質と要件を考慮し、その依存関係を再評価し、ライセンスの変更によって生じる課題を回避するために情報に基づいた決定を下す必要があります。

プロジェクトが互換性のあるオープン ソース ライセンスをすでに使用している場合は、AGPLv3 バージョンが適している可能性があります。これは、アプリケーションを配布したり、ネットワーク サービスとして実行したりする場合、アプリケーションのソース コード全体を利用できるようにすることを意味します。ただし、AGPL バージョンを使用すると、AGPL 条件に準拠できない他のユーザーによるプロジェクトの採用が制限される可能性があることに注意してください。

ただし、独自のソフトウェアを開発している場合、または AGPL 条件に準拠できない場合は、PRO ライセンスの購入を検討する必要があります。 PRO ライセンスのコストが、ua-parser-js に必要な利点と機能に見合ったものであるかどうかを評価してください。あるいは、MIT ライセンスの下にある ua-parser-js の v1.x ブランチまたはフォークを引き続き使用することもできます。ただし、このバージョンは将来的に限定的なアップデートを受ける可能性があることに注意してください。

結論

長年にわたり、ua-parser-js は Web 開発者にとって貴重なツールとして高く評価されてきました。ユーザー エージェント文字列を正確に解析し、ブラウザ、オペレーティング システム、デバイスに関する詳細情報を提供する機能により、多くの人にとって不可欠なライブラリとなっています。

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 ライセンスの変更

2024 年 8 月 6 日に公開
ブラウズ:986

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

イケ・アキニエミ著✏️

ユーザー エージェントの検出は、開発者がさまざまなデバイス、ブラウザー、オペレーティング システムに合わせて Web サイトやアプリケーションを最適化する上で重要な役割を果たします。ユーザーの環境を正確に特定することで、開発者はソリューションを調整して最高のユーザー エクスペリエンスを提供できます。

この記事では、ユーザー エージェントの検出について学び、開発者の間で広く採用されている JavaScript ライブラリ ua-parser-js について調べます。 ua-parser-js は、ライセンス モデルの変更により最近話題になりました。寛容な MIT ライセンスからデュアル AGPLv3 商用ライセンス モデルへの切り替えと、これが個人プロジェクトと SaaS プロジェクトにどのような影響を与えるかについて説明します。

ユーザーエージェント検出とは何ですか?

ユーザー エージェント検出は、ユーザーが Web サイトまたはアプリケーションにアクセスするために使用している特定のソフトウェアおよびハードウェア コンポーネントを識別するプロセスです。検出には、ユーザーのブラウザ名とバージョン、オペレーティング システム、デバイスの種類などに関する情報が含まれます。

ユーザー エージェント検出を活用することで、開発者はユーザーのコンテンツを表示および最適化する方法について情報に基づいた決定を下すことができ、アクセシビリティ、調整されたエクスペリエンス、ブラウザーとハードウェア間の互換性、および場合によってはさまざまな環境でのパフォーマンスの向上を確保できます。使用されているプラ​​ットフォーム。

ua-parser-js ライブラリとその最近の変更点

ua-parser-js は、ユーザー エージェントの検出を簡素化する軽量の JavaScript ライブラリです。このライブラリは Faisal Salman によって開発および保守されており、その使いやすさ、広範なブラウザのサポート、および信頼性の高い結果により、開発者コミュニティで広く採用されています。

ua-parser-js を使用すると、ユーザー エージェント文字列を簡単に解析し、ユーザーのブラウザ、オペレーティング システム、デバイスなどに関する正確な情報を取得できます。このライブラリは、Web プロジェクトに簡単に統合できるシンプルで直感的な API を提供します。

次のセクションでは、重要な機能、インストール方法、使用例など、ua-parser-js ライブラリについて学習します。また、開発者コミュニティ内で議論を巻き起こした最近のライセンス変更についても説明します。

ua-parser-js のインストールとセットアップ

ua-parser-js ライブラリは、開発環境や設定に応じて、さまざまな方法を使用してインストールできます。 ua-parser-js は、圧縮された約 18 KB、gzip 圧縮された約 7.9 KB の軽量なフットプリントを備えており、クライアント側 (ブラウザー) とサーバー側 (Node.js) の両方の環境に簡単に統合できます。

HTML ファイルで ua-parser-js を使用するには、HTML ファイルにライブラリ スクリプトを含めるだけです:


  
    
    var parser = new UAParser();
    
  

縮小された JavaScript ファイルをダウンロードし、HTML ファイルと同じディレクトリ レベルに含めます。 Node.js 環境で ua-parser-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 メソッドは、ブラウザ、オペレーティング システム、デバイス、CPU、エンジンに関する情報など、解析されたデータを含むオブジェクトを返します。

拡張機能の使用

ua-parser-js では、カスタムの正規表現と解析ルールを提供することで解析機能を拡張することもできます。 UAParser オブジェクトの新しいインスタンスを作成するときに、拡張子の配列を渡すことができます:

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

これらの機能と例を参照すると、Web 開発プロジェクトで ua-parser-js をインストール、設定、使用する方法を十分に理解できるはずです。次のセクションでは、ua-parser-js を取り巻く最近のライセンス変更と、それが開発者やオープンソース コミュニティに与える影響について検討します。

ua-parser-js ライセンスの変更

最近、ua-parser-js に大幅なライセンス変更が加えられ、開発者コミュニティで議論が巻き起こりました。変更前、ua-parser-js は当初、寛容な性質で知られる MIT ライセンスに基づいて配布されていました。このライセンスにより、開発者は最小限の制限でライブラリを使用、変更、配布できるため、オープンソース プロジェクトと商用プロジェクトの両方で人気の選択肢となりました。

ua-parser-js は人気が高まり、2,240 を超える依存プロジェクトがあり、1,230 万回以上ダウンロードされました。この成長により、メンテナンスの需要が増大し、より持続可能な開発モデルの必要性が高まっています。新しいライセンス モデルは、継続的なメンテナンスと開発の取り組みをサポートする収益を生み出すことを目的としています。

バージョン 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 メンバーの Matteo Collina は、MIT ライセンス バージョンを維持するために my-ua-parser というフォークをすでに作成しています。

この移行を進める際には、変更を理解し、それがプロジェクトにどのような影響を与えるかを考慮することが重要です。次のセクションでは、自分の作品でこのライセンス変更に対処するためのいくつかの戦略を検討します。

開発者としてライセンス変更をナビゲートする

どのライセンスを使用するかを決定するときは、プロジェクトの性質と要件を考慮し、その依存関係を再評価し、ライセンスの変更によって生じる課題を回避するために情報に基づいた決定を下す必要があります。

プロジェクトが互換性のあるオープン ソース ライセンスをすでに使用している場合は、AGPLv3 バージョンが適している可能性があります。これは、アプリケーションを配布したり、ネットワーク サービスとして実行したりする場合、アプリケーションのソース コード全体を利用できるようにすることを意味します。ただし、AGPL バージョンを使用すると、AGPL 条件に準拠できない他のユーザーによるプロジェクトの採用が制限される可能性があることに注意してください。

ただし、独自のソフトウェアを開発している場合、または AGPL 条件に準拠できない場合は、PRO ライセンスの購入を検討する必要があります。 PRO ライセンスのコストが、ua-parser-js に必要な利点と機能に見合ったものであるかどうかを評価してください。あるいは、MIT ライセンスの下にある ua-parser-js の v1.x ブランチまたはフォークを引き続き使用することもできます。ただし、このバージョンは将来的に限定的なアップデートを受ける可能性があることに注意してください。

結論

長年にわたり、ua-parser-js は Web 開発者にとって貴重なツールとして高く評価されてきました。ユーザー エージェント文字列を正確に解析し、ブラウザ、オペレーティング システム、デバイスに関する詳細情報を提供する機能により、多くの人にとって不可欠なライブラリとなっています。

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