Pengesanan ejen pengguna dan perubahan lesen ua-parser-js

WBOY
Lepaskan: 2024-07-19 15:59:47
asal
753 orang telah melayarinya

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

Ditulis oleh Ikeh Akinyemi✏️

Pengesanan ejen pengguna memainkan peranan penting dalam membantu pembangun mengoptimumkan tapak web dan aplikasi mereka untuk pelbagai peranti, penyemak imbas dan sistem pengendalian. Dengan mengenal pasti persekitaran pengguna mereka dengan tepat, pembangun boleh menyesuaikan penyelesaian mereka untuk memberikan pengalaman pengguna yang terbaik.

Dalam artikel ini, kita akan mempelajari tentang pengesanan ejen pengguna dan meneroka pustaka JavaScript yang telah mendapat penerimaan yang ketara dalam kalangan pembangun: ua-parser-js. ua-parser-js baru-baru ini menjadi tajuk utama kerana perubahan dalam model pelesenannya dan kami akan meliputi peralihannya daripada lesen MIT permisif kepada model lesen komersil dwi AGPLv3 + dan cara ini mempengaruhi projek individu dan SaaS.

Apakah pengesanan ejen pengguna?

Pengesanan ejen pengguna ialah proses mengenal pasti komponen perisian dan perkakasan tertentu yang digunakan pengguna anda untuk mengakses tapak web atau aplikasi anda. Pengesanan melibatkan maklumat tentang nama dan versi penyemak imbas pengguna, sistem pengendalian, jenis peranti dan banyak lagi.

Dengan memanfaatkan pengesanan ejen pengguna, pembangun boleh membuat keputusan termaklum tentang cara mempersembahkan dan mengoptimumkan kandungan pengguna mereka, memastikan kebolehaksesan, pengalaman yang disesuaikan, keserasian merentas penyemak imbas dan perkakasan, dan kemungkinan meningkatkan prestasi merentas pelbagai jenis platform yang digunakan.

Pustaka ua-parser-js dan perubahan terbarunya

ua-parser-js ialah perpustakaan JavaScript ringan yang memudahkan pengesanan ejen pengguna. Perpustakaan ini dibangunkan dan diselenggara oleh Faisal Salman, dan ia telah mendapat penerimaan yang kukuh dalam komuniti pembangun kerana kemudahan penggunaannya, sokongan penyemak imbas yang meluas dan hasil yang boleh dipercayai.

Dengan ua-parser-js, anda boleh menghuraikan rentetan ejen pengguna dengan mudah dan mendapatkan maklumat yang tepat tentang penyemak imbas, sistem pengendalian, peranti dan banyak lagi pengguna. Perpustakaan menyediakan API yang ringkas dan intuitif yang boleh disepadukan dengan mudah ke dalam projek web anda.

Dalam bahagian berikut, kita akan mempelajari tentang perpustakaan ua-parser-js, termasuk ciri penting, kaedah pemasangan dan contoh penggunaannya. Kami juga akan membincangkan perubahan pelesenannya baru-baru ini, yang telah mencetuskan perdebatan dalam komuniti pembangun.

pemasangan dan persediaan ua-parser-js

Pustaka ua-parser-js boleh dipasang menggunakan pelbagai kaedah, bergantung pada persekitaran pembangunan dan pilihan anda. Dengan jejak ringan kira-kira 18KB dikecilkan dan 7.9KB digzip, ua-parser-js boleh disepadukan dengan mudah ke dalam kedua-dua persekitaran sisi klien (penyemak imbas) dan sisi pelayan (Node.js).

Untuk menggunakan ua-parser-js dalam fail HTML, anda hanya boleh memasukkan skrip perpustakaan dalam fail HTML anda:

<!DOCTYPE html>
<html>
  <head>
    <script src="ua-parser.min.js"></script>
  </head>
  <body>
    var parser = new UAParser();
    <!-- Your content goes here -->
  </body>
</html>
Salin selepas log masuk

Muat turun fail JavaScript yang dikecilkan, dan masukkannya dalam tahap direktori yang sama dengan fail HTML. Jika anda menggunakan ua-parser-js dalam persekitaran Node.js, anda boleh memasangnya menggunakan npm:

npm install ua-parser-js
Salin selepas log masuk

Kemudian, dalam skrip Node.js anda, anda boleh memerlukan pustaka:

const UAParser = require('ua-parser-js');
Salin selepas log masuk

Untuk projek TypeScript, anda boleh memasang perpustakaan bersama dengan definisi jenisnya menggunakan npm:

npm install --save ua-parser-js @types/ua-parser-js
Salin selepas log masuk

Kemudian, dalam fail .ts anda, anda boleh mengimport pustaka:

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

Penggunaan dan contoh

Pustaka ua-parser-js menyediakan API mudah untuk menghuraikan rentetan ejen pengguna dan mengakses data yang dihuraikan.

Untuk menghuraikan rentetan ejen pengguna, anda boleh mencipta contoh objek UAParser dan memanggil kaedah setUA dengan rentetan ejen pengguna:

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');
Salin selepas log masuk

Setelah rentetan ejen pengguna dihuraikan, anda boleh mengakses data yang dihuraikan menggunakan kaedah yang tersedia yang disediakan oleh objek 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}
Salin selepas log masuk

Kaedah getResult mengembalikan objek yang mengandungi data yang dihuraikan, termasuk maklumat tentang penyemak imbas, sistem pengendalian, peranti, CPU dan enjin.

Menggunakan sambungan

ua-parser-js juga membolehkan anda memanjangkan keupayaan penghuraiannya dengan menyediakan ungkapan biasa tersuai dan peraturan penghuraian. Anda boleh menghantar tatasusunan sambungan apabila membuat contoh baharu objek UAParser:

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

Dengan ciri dan contoh ini, anda seharusnya mempunyai pemahaman yang baik tentang cara memasang, menyediakan dan menggunakan ua-parser-js dalam projek pembangunan web anda. Dalam bahagian seterusnya, kami akan meneroka perubahan pelesenan terbaharu yang mengelilingi ua-parser-js dan implikasinya untuk pembangun dan komuniti sumber terbuka.

Perubahan lesen ua-parser-js

Baru-baru ini, ua-parser-js telah mengalami perubahan lesen yang ketara yang mencetuskan perbincangan dalam komuniti pembangun. Sebelum perubahan, ua-parser-js pada mulanya diedarkan di bawah lesen MIT, yang terkenal dengan sifat permisifnya. Lesen ini membenarkan pembangun menggunakan, mengubah suai dan mengedarkan perpustakaan dengan sekatan minimum, menjadikannya pilihan popular untuk kedua-dua projek sumber terbuka dan komersial.

ua-parser-js telah semakin popular, dengan lebih 2,240 projek bergantung, dan telah dimuat turun lebih daripada 12.3 juta kali. Pertumbuhan ini telah membawa kepada peningkatan permintaan penyelenggaraan dan keperluan untuk model pembangunan yang lebih mampan. Model pelesenan baharu itu bertujuan menjana pendapatan bagi menyokong usaha penyelenggaraan dan pembangunan yang berterusan.

Dengan keluaran terbaru versi 2.0, ua-parser-js menggunakan model pelesenan dwi: AGPLv3 (GNU Affero General Public License versi 3) untuk versi percuma dan sumber terbuka serta lesen PRO proprietari untuk kegunaan komersial. Perubahan ini menyebabkan perubahan ketara dalam cara pembangun boleh menggunakan dan mengedarkan ua-parser-js dalam projek mereka.

Model pelesenan dwi cuba mencapai jalan tengah antara mengekalkan perpustakaan sumber terbuka dan mengaut keuntungan daripada pengguna komersial yang mungkin memerlukan fungsi atau sokongan tambahan. Pada masa ini, projek komersial berhadapan dengan keputusan — mereka sama ada mematuhi syarat lesen AGPLv3 (yang mungkin memerlukan mereka mengeluarkan kod sumber mereka sendiri) atau membeli lesen PRO. Harga lesen PRO bermula daripada $12 untuk kegunaan peribadi dan naik kepada $500 untuk kegunaan perusahaan. Model ini, sering dirujuk sebagai "teras terbuka," telah diterima pakai oleh projek lain dalam ekosistem sumber terbuka, seperti Sidekiq, Mastodon, Nextcloud dan lain-lain.

Terdapat perbincangan tentang potensi garpu versi berlesen MIT atau pembangunan perpustakaan alternatif. Sebagai contoh, ahli Node.js TSC Matteo Collina telah mencipta garpu yang dipanggil my-ua-parser untuk mengekalkan versi berlesen MIT.

Semasa anda menavigasi peralihan ini, adalah penting untuk anda memahami perubahan dan mempertimbangkan cara perubahan itu mungkin memberi kesan kepada projek anda. Dalam bahagian seterusnya, kami akan meneroka beberapa strategi untuk menangani perubahan lesen ini dalam kerja anda sendiri.

Menavigasi perubahan lesen sebagai pembangun

Apabila membuat keputusan untuk menggunakan lesen, anda perlu mempertimbangkan sifat dan keperluan projek anda, menilai semula kebergantungannya dan membuat keputusan termaklum untuk mengelakkan cabaran yang dihadapi oleh perubahan lesen.

Jika projek anda sudah menggunakan lesen sumber terbuka yang serasi, maka versi AGPLv3 mungkin sesuai. Ini bermakna anda akan menyediakan keseluruhan kod sumber aplikasi anda jika anda mengedarkannya atau menjalankannya sebagai perkhidmatan rangkaian. Walau bagaimanapun, perlu diingat bahawa menggunakan versi AGPL mungkin mengehadkan penggunaan projek anda oleh orang lain yang tidak dapat mematuhi syarat AGPL.

Tetapi jika anda sedang membangunkan perisian proprietari atau tidak dapat mematuhi syarat AGPL, anda harus mempertimbangkan untuk membeli lesen PRO; menilai sama ada kos lesen PRO dibenarkan oleh faedah dan ciri yang anda perlukan daripada ua-parser-js. Sebagai alternatif, anda boleh terus menggunakan cawangan v1.x atau forks ua-parser-js, yang kekal di bawah lesen MIT. Tetapi anda harus ambil perhatian bahawa versi ini mungkin menerima kemas kini terhad pada masa hadapan.

Kesimpulan

Selama bertahun-tahun, ua-parser-js telah dihargai sebagai alat yang berharga untuk pembangun web. Keupayaannya untuk menghuraikan rentetan ejen pengguna dengan tepat dan memberikan maklumat terperinci tentang penyemak imbas, sistem pengendalian dan peranti telah menjadikannya perpustakaan penting bagi kebanyakan kita.

Pertukaran daripada lesen MIT kepada model AGPLv3 + PRO berganda sudah pasti menimbulkan kekecohan dalam komuniti pembangun. Kami menyaksikan pelbagai respons terhadapnya; sesetengah ahli masyarakat memahami manakala yang lain menunjukkan kebimbangan dan penentangan. Bagi sesetengah orang, ini bermakna melaraskan projek mereka untuk mematuhi lesen AGPLv3, manakala bagi yang lain mungkin melibatkan pembelian lesen PRO atau mencari penyelesaian alternatif.

Sebagai pengguna perisian sumber terbuka, kami perlu bersedia untuk perubahan sedemikian dan mempunyai strategi untuk menyesuaikan diri apabila perlu.

Atas ialah kandungan terperinci Pengesanan ejen pengguna dan perubahan lesen ua-parser-js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!