jQuery کی تاریخ اور میراث

jQuery کی تاریخ اور میراث
jQuery - یہ سب سے زیادہ مقبول ہے دنیا میں جاوا اسکرپٹ لائبریری۔ ویب ڈویلپمنٹ کمیونٹی نے اسے 2000 کی دہائی کے آخر میں بنایا، جس کے نتیجے میں jQuery کا استعمال کرتے ہوئے سائٹس، پلگ انز، اور فریم ورک کا ایک بھرپور ماحولیاتی نظام بنا۔

لیکن حالیہ برسوں میں، ویب ڈویلپمنٹ کے لیے پریمیئر ٹول کے طور پر اس کی حیثیت ختم ہو گئی ہے۔ آئیے دیکھتے ہیں کہ jQuery کیوں مقبول ہوا اور یہ فیشن سے کیوں گرا، اور یہ بھی کہ کن صورتوں میں اسے جدید ویب سائٹس بنانے کے لیے استعمال کرنا اب بھی مناسب ہے۔

jQuery کی مختصر تاریخ

جان ریسگ (جان ریسگ) نے 2005 میں لائبریری کا پہلا ورژن بنایا، اور 2006 میں شائع ہوا۔-m، BarCampNYC نامی ایک تقریب میں۔ پر jQuery کی سرکاری ویب سائٹ مصنف نے لکھا:

jQuery ایک جاوا اسکرپٹ لائبریری ہے جو اس نعرے پر مبنی ہے: جاوا اسکرپٹ کو کوڈ کرنے میں مزہ آنا چاہیے۔ jQuery عام، دہرائے جانے والے کام لیتا ہے، تمام غیر ضروری مارک اپ کو ہٹا دیتا ہے، اور انہیں مختصر، خوبصورت اور صاف ستھرا بناتا ہے۔

jQuery کے دو اہم فوائد ہیں۔ پہلا ویب صفحات میں ہیرا پھیری کے لیے ایک آسان API ہے۔ خاص طور پر، یہ عناصر کو منتخب کرنے کے لیے طاقتور طریقے فراہم کرتا ہے۔ نہ صرف آپ ID یا کلاس کے ذریعہ منتخب کرسکتے ہیں، jQuery آپ کو پیچیدہ تاثرات لکھنے کی اجازت دیتا ہے، مثال کے طور پر، دوسرے عناصر کے ساتھ ان کے تعلقات کی بنیاد پر عناصر کو منتخب کرنے کے لیے:

// Select every item within the list of people within the contacts element
$('#contacts ul.people li');

وقت کے ساتھ، انتخاب کا طریقہ کار ایک الگ لائبریری بن گیا۔ سیسل.

لائبریری کا دوسرا فائدہ یہ تھا کہ اس نے براؤزرز کے درمیان فرق کو ختم کیا۔ ان سالوں میں، کوڈ لکھنا مشکل تھا جو تمام براؤزرز میں قابل اعتماد طریقے سے کام کر سکے۔

معیاری کاری کی کمی کا مطلب یہ تھا کہ ڈویلپرز کو براؤزرز اور ایج کیسز کے درمیان متعدد فرقوں کا حساب کتاب کرنے کی ضرورت تھی۔ ذرا دیکھنا اسے یہ ابتدائی jQuery سورس کوڈ اور jQuery.browser تلاش کریں۔ یہاں ایک مثال ہے:

// If Mozilla is used
if ( jQuery.browser == "mozilla" || jQuery.browser == "opera" ) {
        // Use the handy event callback
        jQuery.event.add( document, "DOMContentLoaded", jQuery.ready );

// If IE is used, use the excellent hack by Matthias Miller
// http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
} else if ( jQuery.browser == "msie" ) {

        // Only works if you document.write() it
        document.write("<scr" + "ipt id=__ie_init defer=true " + 
                "src=javascript:void(0)></script>");

        // Use the defer script hack
        var script = document.getElementById("__ie_init");
        script.onreadystatechange = function() {
                if ( this.readyState == "complete" )
                        jQuery.ready();
        };

        // Clear from memory
        script = null;

// If Safari  is used
} else if ( jQuery.browser == "safari" ) {
        // Continually check to see if the document.readyState is valid
        jQuery.safariTimer = setInterval(function(){
                // loaded and complete are both valid states
                if ( document.readyState == "loaded" || 
                        document.readyState == "complete" ) {

                        // If either one are found, remove the timer
                        clearInterval( jQuery.safariTimer );
                        jQuery.safariTimer = null;

                        // and execute any waiting functions
                        jQuery.ready();
                }
        }, 10);
}

اور jQuery کی بدولت، ڈویلپرز ان تمام خرابیوں کے بارے میں پریشانیوں کو لائبریری تیار کرنے والی ٹیم کے کندھوں پر منتقل کر سکتے ہیں۔

بعد میں، jQuery نے مزید پیچیدہ ٹیکنالوجیز جیسے اینیمیشنز اور ایجیکس کو لاگو کرنا آسان بنا دیا۔ لائبریری مؤثر طریقے سے ویب سائٹس کے لیے ایک معیاری انحصار بن گئی ہے۔ اور آج یہ انٹرنیٹ کے ایک بڑے حصے کو طاقت دیتا ہے۔ W3Techs کا خیال ہے کہ آج کل 74% سائٹیں jQuery استعمال کرتی ہیں۔.

jQuery کی ترقی پر کنٹرول بھی زیادہ رسمی ہو گیا ہے۔ 2011 میں ٹیم jQuery بورڈ بنایا. اور 2012 میں jQuery بورڈ jQuery فاؤنڈیشن میں تبدیل ہو گیا۔.

2015 میں، jQuery فاؤنڈیشن ڈوجو فاؤنڈیشن کے ساتھ ضم ہوگئی، جے ایس فاؤنڈیشن بنانے کے لیے، جو پھر Node.js فاؤنڈیشن کے ساتھ ضم ہو گیا۔ 2019-m تخلیق کرنا اوپن جے ایس فاؤنڈیشن، جس کے اندر jQuery "میں سے ایک تھاپیش رفت کے منصوبوں»

بدلتے حالات

تاہم، حالیہ برسوں میں jQuery اس کی مقبولیت کھو دی. گٹ ہب میری سائٹ کے فرنٹ اینڈ سے لائبریری کو ہٹا دیا۔. بوٹسٹریپ v5 jQuery سے چھٹکارا حاصل کریں۔کیونکہ یہ اس کا ہے"ریگولر جاوا اسکرپٹ کے لیے کلائنٹ کا سب سے بڑا انحصار"(فی الحال 30 KB سائز میں، چھوٹا اور پیک شدہ)۔ ویب ڈویلپمنٹ میں کئی رجحانات نے jQuery کی پوزیشن کو ایک ضروری ٹول کے طور پر کمزور کر دیا ہے۔

بروروزرس

متعدد وجوہات کی بناء پر، براؤزر کے فرق اور حدود کم اہم ہو گئے ہیں۔ سب سے پہلے، معیاری کاری میں بہتری آئی ہے۔ بڑے براؤزر ڈویلپرز (ایپل، گوگل، مائیکروسافٹ اور موزیلا) تیار کرنے کے لیے مل کر کام کر رہے ہیں۔ ویب معیارات فریم ورک کے اندر ویب ہائپر ٹیکسٹ ایپلی کیشن ٹیکنالوجی ورکنگ گروپ.
اگرچہ براؤزرز اب بھی کئی اہم طریقوں سے ایک دوسرے سے مختلف ہیں، لیکن دکانداروں کے پاس کم از کم اس کی بجائے ایک مشترکہ ڈیٹا بیس کو تلاش کرنے اور تخلیق کرنے کا ذریعہ ہے۔ مستقل جنگ ایک ساتھ اس کے مطابق، براؤزر APIs نے نئی صلاحیتیں حاصل کی ہیں۔ مثلاً API بازیافت کریں۔ jQuery سے ایجیکس افعال کو تبدیل کرنے کے قابل:

// jQuery
$.getJSON('https://api.com/songs.json')
    .done(function (songs) {
        console.log(songs);
    })

// native
fetch('https://api.com/songs.json')
    .then(function (response) {
        return response.json();
    })
    .then(function (songs) {
        console.log(songs);
    });

طریقے۔ سوال سلیکٹر и querySelectorAll ڈپلیکیٹ jQuery چننے والے:

// jQuery
const fooDivs = $('.foo div');

// native
const fooDivs = document.querySelectorAll('.foo div');

اب آپ عنصر کی کلاسوں کا استعمال کرتے ہوئے جوڑ توڑ کر سکتے ہیں۔ کلاس لسٹ:

// jQuery
$('#warning').toggleClass('visible');

// native
document.querySelector('#warning').classList.toggle('visible');

سائٹ آپ کو jQuery کی ضرورت نہیں ہوسکتی ہے۔ یہاں کچھ اور حالات ہیں جن میں jQuery کوڈ کو مقامی کوڈ سے تبدیل کیا جا سکتا ہے۔ کچھ ڈویلپرز ہمیشہ jQuery کے ساتھ قائم رہتے ہیں کیونکہ وہ صرف نئے APIs کے بارے میں نہیں جانتے ہیں، لیکن جب وہ ایسا کرتے ہیں، تو وہ لائبریری کو کم استعمال کرنا شروع کر دیتے ہیں۔

مقامی خصوصیات کا استعمال صفحہ کی کارکردگی کو بہتر بناتا ہے۔ بہت jQuery سے حرکت پذیری کے اثرات اب آپ لاگو کر سکتے ہیں بہت زیادہ مؤثر CSS کا استعمال کرتے ہوئے

دوسری وجہ یہ ہے کہ براؤزر پہلے کی نسبت بہت تیزی سے اپ ڈیٹ ہوتے ہیں۔ ان میں سے اکثر استعمال کرتے ہیں۔ "سدا بہار" تجدید کی حکمت عملیایپل سفاری کو چھوڑ کر۔ انہیں صارف کی شمولیت کے بغیر پس منظر میں اپ ڈیٹ کیا جا سکتا ہے اور OS اپ ڈیٹس سے منسلک نہیں ہیں۔

اس کا مطلب ہے کہ براؤزر کی نئی خصوصیات اور بگ فکسز بہت تیزی سے تقسیم کیے جاتے ہیں، اور ڈویلپرز کو اس وقت تک انتظار نہیں کرنا پڑتا جب تک کیا میں استعمال کر سکتا ہوں قابل قبول سطح تک پہنچ جائے گا۔ وہ jQuery یا پولی فلز کو ڈاؤن لوڈ کیے بغیر اعتماد کے ساتھ نئی خصوصیات اور APIs کا استعمال کر سکتے ہیں۔

تیسری وجہ یہ ہے کہ انٹرنیٹ ایکسپلورر مکمل طور پر غیر متعلقہ حالت کے قریب پہنچ رہا ہے۔ IE طویل عرصے سے دنیا بھر میں ویب ڈویلپمنٹ کی رکاوٹ رہا ہے۔ اس کے کیڑے بڑے پیمانے پر پھیلے ہوئے تھے، اور چونکہ IE کا 2000 کی دہائی میں غلبہ تھا اور اس نے سدا بہار اپ ڈیٹ کی حکمت عملی استعمال نہیں کی تھی، اس لیے پرانے ورژن اب بھی عام ہیں۔

2016 میں، مائیکروسافٹ نے IE کو ختم کرنے میں تیزی لائی، حمایت کرنا چھوڑنا دسویں اور اس سے پہلے کے ورژن، IE 11 تک سپورٹ کو محدود کر رہے ہیں۔ اور تیزی سے، ویب ڈویلپرز کے پاس IE مطابقت کو نظر انداز کرنے کا عیش ہے۔

یہاں تک کہ jQuery نے شروع ہونے والے IE 8 اور اس سے نیچے کی حمایت کرنا چھوڑ دی۔ ورژن 2.0، 2013 میں شائع ہوا۔ اور اگرچہ کچھ معاملات میں اب بھی IE سپورٹ کی ضرورت ہے، مثال کے طور پر، پرانی سائٹوں پر، یہ حالات کم اور کم کثرت سے پیدا ہوتے ہیں۔

نئے فریم ورک

jQuery کی آمد کے بعد سے، بہت سے فریم ورک بنائے گئے ہیں، بشمول جدید رہنما جواب دیں, کونیی и قول. jQuery پر ان کے دو اہم فوائد ہیں۔

سب سے پہلے، وہ صارف انٹرفیس کو اجزاء میں الگ کرنا آسان بناتے ہیں۔ فریم ورک کو پیج رینڈرنگ اور اپ ڈیٹ کرنے کے لیے ڈیزائن کیا گیا ہے۔ اور jQuery کو عام طور پر صرف اپ ڈیٹ کرنے کے لیے استعمال کیا جاتا ہے، جس سے سرور کو ابتدائی صفحہ فراہم کرنے کا کام چھوڑ دیا جاتا ہے۔

دوسری طرف، React، Angular اور Vue اجزاء آپ کو HTML، کوڈ اور یہاں تک کہ CSS کو مضبوطی سے جوڑنے کی اجازت دیتے ہیں۔ جس طرح ہم کوڈ بیس کو بہت سے خود ساختہ فنکشنز اور کلاسز میں تقسیم کرتے ہیں، اسی طرح انٹرفیس کو دوبارہ قابل استعمال اجزاء میں تقسیم کرنے کی صلاحیت پیچیدہ سائٹس کی تعمیر اور دیکھ بھال کو آسان بناتی ہے۔

دوسرا فائدہ یہ ہے کہ زیادہ حالیہ فریم ورک ایک اعلانیہ پیراڈائم کی پابندی کرتے ہیں، جس میں ڈویلپر بیان کرتا ہے کہ انٹرفیس کیسا نظر آنا چاہیے اور مطلوبہ چیز کو حاصل کرنے کے لیے تمام ضروری تبدیلیاں کرنے کے لیے اسے فریم ورک پر چھوڑ دیتا ہے۔ یہ نقطہ نظر اس لازمی نقطہ نظر کے برعکس ہے جو jQuery کوڈ کی خصوصیت رکھتا ہے۔

jQuery میں، آپ واضح طور پر کوئی بھی تبدیلی کرنے کے لیے اقدامات لکھتے ہیں۔ اور ایک اعلانیہ فریم ورک میں آپ کہتے ہیں، "اس ڈیٹا کے مطابق، انٹرفیس اس طرح نظر آنا چاہیے۔" یہ بگ فری کوڈ لکھنا بہت آسان بنا سکتا ہے۔

ڈویلپرز نے ویب سائٹ کی ترقی کے لیے نئے طریقے اپنائے ہیں، یہی وجہ ہے کہ jQuery کی مقبولیت میں کمی آئی ہے۔

jQuery کب استعمال کریں؟

تو جب ہونا ضروری ہے jQuery استعمال کریں؟

اگر پراجیکٹ کی پیچیدگی بڑھ جاتی ہے، تو بہتر ہے کہ کسی اور لائبریری یا فریم ورک سے شروع کریں جو آپ کو معنوی طور پر پیچیدگی کا انتظام کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، انٹرفیس کو اجزاء میں تقسیم کریں۔ ایسی سائٹس پر jQuery کا استعمال شروع میں ٹھیک لگ سکتا ہے، لیکن یہ تیزی سے اسپگیٹی کوڈ کی طرف لے جائے گا جہاں آپ کو یقین نہیں ہے کہ کون سا ٹکڑا صفحہ کے کس حصے کو متاثر کرتا ہے۔

میں ایسی حالت میں رہا ہوں، جب کوئی تبدیلی کرنے کی کوشش کرتا ہوں تو یہ ایک مشکل کام محسوس ہوتا ہے۔ آپ اس بات کا یقین نہیں کر سکتے کہ آپ کچھ بھی نہیں توڑیں گے کیونکہ jQuery سلیکٹرز سرور کے ذریعے تیار کردہ HTML ڈھانچے پر منحصر ہیں۔

پیمانے کے دوسرے سرے پر سادہ سائٹس ہیں جن کے لیے صرف تھوڑا سا تعامل یا متحرک مواد کی ضرورت ہوتی ہے۔ میں ان معاملات میں بھی jQuery کو ڈیفالٹ نہیں کروں گا، کیونکہ آپ مقامی APIs کے ساتھ بہت کچھ کرسکتے ہیں۔

یہاں تک کہ اگر مجھے کسی اور طاقتور چیز کی ضرورت ہو، میں ایک خصوصی لائبریری تلاش کروں گا، جیسے محور ایجیکس یا کے لئے Animate.css متحرک تصاویر کے لیے یہ ایک چھوٹی فعالیت کے لیے تمام jQuery کو لوڈ کرنے سے زیادہ آسان ہوگا۔

میرے خیال میں jQuery استعمال کرنے کا بہترین جواز یہ ہے کہ یہ ویب سائٹ کے فرنٹ اینڈ کے لیے جامع فعالیت فراہم کرتا ہے۔ متعدد مقامی APIs یا خصوصی لائبریریوں کو سیکھنے کے بجائے، آپ صرف jQuery دستاویزات کو پڑھ سکتے ہیں اور فوری طور پر نتیجہ خیز بن سکتے ہیں۔

لازمی نقطہ نظر اچھی طرح سے پیمانہ نہیں ہے، لیکن دیگر لائبریریوں کے اعلاناتی نقطہ نظر سے سیکھنا آسان ہے. واضح طور پر محدود صلاحیتوں والی سائٹ کے لیے، یہ بہتر ہے کہ jQuery استعمال کریں اور سکون سے کام کریں: لائبریری کو پیچیدہ اسمبلی یا تالیف کی ضرورت نہیں ہے۔

مزید برآں، jQuery اچھا ہے اگر آپ کو یقین ہے کہ آپ کی سائٹ وقت کے ساتھ پیچیدہ نہیں ہوگی، اور اگر آپ مقامی فعالیت کی پرواہ نہیں کرتے ہیں، جس کے لیے یقینی طور پر jQuery سے زیادہ کوڈ لکھنے کی ضرورت ہوگی۔

اگر آپ کو IE کے پرانے ورژن کو سپورٹ کرنے کی ضرورت ہو تو آپ اس لائبریری کو بھی استعمال کر سکتے ہیں۔ پھر jQuery آپ کی خدمت کرے گا جیسا کہ اس نے ان دنوں میں کیا تھا جب IE سب سے زیادہ مقبول براؤزر تھا۔

مستقبل پر غور کریں

jQuery جلد ہی کسی بھی وقت غائب نہیں ہوگا۔ وہ فعال طور پر ترقی پذیر، اور بہت سے ڈویلپر اس کے API کو استعمال کرنے کو ترجیح دیتے ہیں، چاہے مقامی طریقے دستیاب ہوں۔ لائبریری نے ڈویلپرز کی پوری نسل کو ایسی ویب سائٹس بنانے میں مدد کی ہے جو کسی بھی براؤزر پر کام کرتی ہیں۔ اگرچہ اس کی جگہ کئی طریقوں سے نئی لائبریریوں، فریم ورکس اور پیراڈائمز نے لے لی ہے، لیکن جدید ویب کی تخلیق میں jQuery نے بہت زیادہ مثبت کردار ادا کیا ہے۔

جب تک jQuery کی فعالیت نمایاں طور پر تبدیل نہیں ہوتی ہے، اس کا امکان ہے کہ لائبریری کا استعمال آہستہ آہستہ جاری رہے گا لیکن اگلے چند سالوں میں مستقل طور پر کم ہوتا رہے گا۔ نئی ویب سائٹیں شروع سے ہی زیادہ جدید فریم ورک کا استعمال کرتے ہوئے بنائی جاتی ہیں، اور jQuery کے لیے مناسب استعمال کے معاملات تیزی سے نایاب ہوتے جا رہے ہیں۔

کچھ لوگ اس شرح کو پسند نہیں کرتے جس پر ویب ڈویلپمنٹ ٹولز متروک ہو جاتے ہیں، لیکن میرے نزدیک یہ تیز رفتار ترقی کا ثبوت ہے۔ jQuery نے ہمیں بہت ساری چیزیں بہتر کرنے کی اجازت دی ہے۔ اس کے جانشینوں کا بھی یہی حال ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں