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 واجهة برمجة تطبيقات بسيطة لتحليل سلاسل وكيل المستخدم والوصول إلى البيانات التي تم تحليلها.

لتحليل سلسلة وكيل المستخدم، يمكنك إنشاء مثيل لكائن 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 العامة الإصدار 3) للإصدار المجاني ومفتوح المصدر وترخيص PRO خاص للاستخدام التجاري. تسبب هذا التغيير في تحول كبير في كيفية قيام المطورين باستخدام وتوزيع ua-parser-js في مشاريعهم.

يحاول نموذج الترخيص المزدوج تحقيق حل وسط بين الحفاظ على مكتبة مفتوحة المصدر والاستفادة من المستخدمين التجاريين الذين قد يحتاجون إلى وظائف أو دعم إضافي. في الوقت الحالي، تواجه المشاريع التجارية قرارًا - إما الالتزام بشروط ترخيص AGPLv3 (والتي قد تتطلب منها إصدار كود المصدر الخاص بها) أو شراء ترخيص PRO. يبدأ سعر ترخيص PRO من 12 دولارًا للاستخدام الشخصي ويصل إلى 500 دولار للاستخدام المؤسسي. هذا النموذج، الذي يُشار إليه غالبًا باسم \\\"النواة المفتوحة\\\"، تم تبنيه من قبل مشاريع أخرى في النظام البيئي مفتوح المصدر، مثل Sidekiq وMastodon وNextcloud وغيرها.

كان هناك حديث عن شوكات محتملة للنسخة المرخصة من معهد ماساتشوستس للتكنولوجيا أو تطوير مكتبات بديلة. على سبيل المثال، قام Matteo Collina، عضو 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

تم النشر بتاريخ 2024-08-06
تصفح:837

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 هي مكتبة جافا سكريبت خفيفة الوزن تعمل على تبسيط اكتشاف وكيل المستخدم. تم تطوير هذه المكتبة وصيانتها بواسطة فيصل سلمان، وقد اكتسبت اعتمادًا قويًا في مجتمع المطورين نظرًا لسهولة استخدامها ودعمها الشامل للمتصفح ونتائجها الموثوقة.

باستخدام ua-parser-js، يمكنك بسهولة تحليل سلاسل وكيل المستخدم والحصول على معلومات دقيقة حول متصفح المستخدم ونظام التشغيل والجهاز والمزيد. توفر المكتبة واجهة برمجة تطبيقات بسيطة وبديهية يمكن دمجها بسهولة في مشاريع الويب الخاصة بك.

في الأقسام التالية، سنتعرف على مكتبة ua-parser-js، بما في ذلك ميزاتها المهمة وطرق التثبيت وأمثلة الاستخدام. سنناقش أيضًا التغييرات الأخيرة في الترخيص، والتي أثارت مناقشات داخل مجتمع المطورين.

تثبيت وإعداد ua-parser-js

يمكن تثبيت مكتبة ua-parser-js باستخدام طرق مختلفة، اعتمادًا على بيئة التطوير وتفضيلاتك. بفضل المساحة خفيفة الوزن التي تبلغ حوالي 18 كيلو بايت مصغرة و7.9 كيلو بايت مضغوطة بواسطة gzp، يمكن دمج 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 واجهة برمجة تطبيقات بسيطة لتحليل سلاسل وكيل المستخدم والوصول إلى البيانات التي تم تحليلها.

لتحليل سلسلة وكيل المستخدم، يمكنك إنشاء مثيل لكائن 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 العامة الإصدار 3) للإصدار المجاني ومفتوح المصدر وترخيص PRO خاص للاستخدام التجاري. تسبب هذا التغيير في تحول كبير في كيفية قيام المطورين باستخدام وتوزيع ua-parser-js في مشاريعهم.

يحاول نموذج الترخيص المزدوج تحقيق حل وسط بين الحفاظ على مكتبة مفتوحة المصدر والاستفادة من المستخدمين التجاريين الذين قد يحتاجون إلى وظائف أو دعم إضافي. في الوقت الحالي، تواجه المشاريع التجارية قرارًا - إما الالتزام بشروط ترخيص AGPLv3 (والتي قد تتطلب منها إصدار كود المصدر الخاص بها) أو شراء ترخيص PRO. يبدأ سعر ترخيص PRO من 12 دولارًا للاستخدام الشخصي ويصل إلى 500 دولار للاستخدام المؤسسي. هذا النموذج، الذي يُشار إليه غالبًا باسم "النواة المفتوحة"، تم تبنيه من قبل مشاريع أخرى في النظام البيئي مفتوح المصدر، مثل Sidekiq وMastodon وNextcloud وغيرها.

كان هناك حديث عن شوكات محتملة للنسخة المرخصة من معهد ماساتشوستس للتكنولوجيا أو تطوير مكتبات بديلة. على سبيل المثال، قام Matteo Collina، عضو 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