jQuery -
لیکن حالیہ برسوں میں، ویب ڈویلپمنٹ کے لیے پریمیئر ٹول کے طور پر اس کی حیثیت ختم ہو گئی ہے۔ آئیے دیکھتے ہیں کہ jQuery کیوں مقبول ہوا اور یہ فیشن سے کیوں گرا، اور یہ بھی کہ کن صورتوں میں اسے جدید ویب سائٹس بنانے کے لیے استعمال کرنا اب بھی مناسب ہے۔
jQuery کی مختصر تاریخ
جان ریسگ (
jQuery ایک جاوا اسکرپٹ لائبریری ہے جو اس نعرے پر مبنی ہے: جاوا اسکرپٹ کو کوڈ کرنے میں مزہ آنا چاہیے۔ jQuery عام، دہرائے جانے والے کام لیتا ہے، تمام غیر ضروری مارک اپ کو ہٹا دیتا ہے، اور انہیں مختصر، خوبصورت اور صاف ستھرا بناتا ہے۔
jQuery کے دو اہم فوائد ہیں۔ پہلا ویب صفحات میں ہیرا پھیری کے لیے ایک آسان API ہے۔ خاص طور پر، یہ عناصر کو منتخب کرنے کے لیے طاقتور طریقے فراہم کرتا ہے۔ نہ صرف آپ ID یا کلاس کے ذریعہ منتخب کرسکتے ہیں، jQuery آپ کو پیچیدہ تاثرات لکھنے کی اجازت دیتا ہے، مثال کے طور پر، دوسرے عناصر کے ساتھ ان کے تعلقات کی بنیاد پر عناصر کو منتخب کرنے کے لیے:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
وقت کے ساتھ، انتخاب کا طریقہ کار ایک الگ لائبریری بن گیا۔
لائبریری کا دوسرا فائدہ یہ تھا کہ اس نے براؤزرز کے درمیان فرق کو ختم کیا۔ ان سالوں میں، کوڈ لکھنا مشکل تھا جو تمام براؤزرز میں قابل اعتماد طریقے سے کام کر سکے۔
معیاری کاری کی کمی کا مطلب یہ تھا کہ ڈویلپرز کو براؤزرز اور ایج کیسز کے درمیان متعدد فرقوں کا حساب کتاب کرنے کی ضرورت تھی۔ ذرا دیکھنا اسے
// 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 کا خیال ہے کہ
jQuery کی ترقی پر کنٹرول بھی زیادہ رسمی ہو گیا ہے۔ 2011 میں ٹیم
2015 میں، jQuery فاؤنڈیشن ڈوجو فاؤنڈیشن کے ساتھ ضم ہوگئی،
بدلتے حالات
تاہم، حالیہ برسوں میں 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);
});
طریقے۔
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
اب آپ عنصر کی کلاسوں کا استعمال کرتے ہوئے جوڑ توڑ کر سکتے ہیں۔
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
سائٹ
مقامی خصوصیات کا استعمال صفحہ کی کارکردگی کو بہتر بناتا ہے۔ بہت
دوسری وجہ یہ ہے کہ براؤزر پہلے کی نسبت بہت تیزی سے اپ ڈیٹ ہوتے ہیں۔ ان میں سے اکثر استعمال کرتے ہیں۔
اس کا مطلب ہے کہ براؤزر کی نئی خصوصیات اور بگ فکسز بہت تیزی سے تقسیم کیے جاتے ہیں، اور ڈویلپرز کو اس وقت تک انتظار نہیں کرنا پڑتا جب تک
تیسری وجہ یہ ہے کہ انٹرنیٹ ایکسپلورر مکمل طور پر غیر متعلقہ حالت کے قریب پہنچ رہا ہے۔ IE طویل عرصے سے دنیا بھر میں ویب ڈویلپمنٹ کی رکاوٹ رہا ہے۔ اس کے کیڑے بڑے پیمانے پر پھیلے ہوئے تھے، اور چونکہ IE کا 2000 کی دہائی میں غلبہ تھا اور اس نے سدا بہار اپ ڈیٹ کی حکمت عملی استعمال نہیں کی تھی، اس لیے پرانے ورژن اب بھی عام ہیں۔
2016 میں، مائیکروسافٹ نے IE کو ختم کرنے میں تیزی لائی،
یہاں تک کہ jQuery نے شروع ہونے والے IE 8 اور اس سے نیچے کی حمایت کرنا چھوڑ دی۔
نئے فریم ورک
jQuery کی آمد کے بعد سے، بہت سے فریم ورک بنائے گئے ہیں، بشمول جدید رہنما
سب سے پہلے، وہ صارف انٹرفیس کو اجزاء میں الگ کرنا آسان بناتے ہیں۔ فریم ورک کو پیج رینڈرنگ اور اپ ڈیٹ کرنے کے لیے ڈیزائن کیا گیا ہے۔ اور jQuery کو عام طور پر صرف اپ ڈیٹ کرنے کے لیے استعمال کیا جاتا ہے، جس سے سرور کو ابتدائی صفحہ فراہم کرنے کا کام چھوڑ دیا جاتا ہے۔
دوسری طرف، React، Angular اور Vue اجزاء آپ کو HTML، کوڈ اور یہاں تک کہ CSS کو مضبوطی سے جوڑنے کی اجازت دیتے ہیں۔ جس طرح ہم کوڈ بیس کو بہت سے خود ساختہ فنکشنز اور کلاسز میں تقسیم کرتے ہیں، اسی طرح انٹرفیس کو دوبارہ قابل استعمال اجزاء میں تقسیم کرنے کی صلاحیت پیچیدہ سائٹس کی تعمیر اور دیکھ بھال کو آسان بناتی ہے۔
دوسرا فائدہ یہ ہے کہ زیادہ حالیہ فریم ورک ایک اعلانیہ پیراڈائم کی پابندی کرتے ہیں، جس میں ڈویلپر بیان کرتا ہے کہ انٹرفیس کیسا نظر آنا چاہیے اور مطلوبہ چیز کو حاصل کرنے کے لیے تمام ضروری تبدیلیاں کرنے کے لیے اسے فریم ورک پر چھوڑ دیتا ہے۔ یہ نقطہ نظر اس لازمی نقطہ نظر کے برعکس ہے جو jQuery کوڈ کی خصوصیت رکھتا ہے۔
jQuery میں، آپ واضح طور پر کوئی بھی تبدیلی کرنے کے لیے اقدامات لکھتے ہیں۔ اور ایک اعلانیہ فریم ورک میں آپ کہتے ہیں، "اس ڈیٹا کے مطابق، انٹرفیس اس طرح نظر آنا چاہیے۔" یہ بگ فری کوڈ لکھنا بہت آسان بنا سکتا ہے۔
ڈویلپرز نے ویب سائٹ کی ترقی کے لیے نئے طریقے اپنائے ہیں، یہی وجہ ہے کہ jQuery کی مقبولیت میں کمی آئی ہے۔
jQuery کب استعمال کریں؟
تو جب ہونا ضروری ہے jQuery استعمال کریں؟
اگر پراجیکٹ کی پیچیدگی بڑھ جاتی ہے، تو بہتر ہے کہ کسی اور لائبریری یا فریم ورک سے شروع کریں جو آپ کو معنوی طور پر پیچیدگی کا انتظام کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، انٹرفیس کو اجزاء میں تقسیم کریں۔ ایسی سائٹس پر jQuery کا استعمال شروع میں ٹھیک لگ سکتا ہے، لیکن یہ تیزی سے اسپگیٹی کوڈ کی طرف لے جائے گا جہاں آپ کو یقین نہیں ہے کہ کون سا ٹکڑا صفحہ کے کس حصے کو متاثر کرتا ہے۔
میں ایسی حالت میں رہا ہوں، جب کوئی تبدیلی کرنے کی کوشش کرتا ہوں تو یہ ایک مشکل کام محسوس ہوتا ہے۔ آپ اس بات کا یقین نہیں کر سکتے کہ آپ کچھ بھی نہیں توڑیں گے کیونکہ jQuery سلیکٹرز سرور کے ذریعے تیار کردہ HTML ڈھانچے پر منحصر ہیں۔
پیمانے کے دوسرے سرے پر سادہ سائٹس ہیں جن کے لیے صرف تھوڑا سا تعامل یا متحرک مواد کی ضرورت ہوتی ہے۔ میں ان معاملات میں بھی jQuery کو ڈیفالٹ نہیں کروں گا، کیونکہ آپ مقامی APIs کے ساتھ بہت کچھ کرسکتے ہیں۔
یہاں تک کہ اگر مجھے کسی اور طاقتور چیز کی ضرورت ہو، میں ایک خصوصی لائبریری تلاش کروں گا، جیسے
میرے خیال میں jQuery استعمال کرنے کا بہترین جواز یہ ہے کہ یہ ویب سائٹ کے فرنٹ اینڈ کے لیے جامع فعالیت فراہم کرتا ہے۔ متعدد مقامی APIs یا خصوصی لائبریریوں کو سیکھنے کے بجائے، آپ صرف jQuery دستاویزات کو پڑھ سکتے ہیں اور فوری طور پر نتیجہ خیز بن سکتے ہیں۔
لازمی نقطہ نظر اچھی طرح سے پیمانہ نہیں ہے، لیکن دیگر لائبریریوں کے اعلاناتی نقطہ نظر سے سیکھنا آسان ہے. واضح طور پر محدود صلاحیتوں والی سائٹ کے لیے، یہ بہتر ہے کہ jQuery استعمال کریں اور سکون سے کام کریں: لائبریری کو پیچیدہ اسمبلی یا تالیف کی ضرورت نہیں ہے۔
مزید برآں، jQuery اچھا ہے اگر آپ کو یقین ہے کہ آپ کی سائٹ وقت کے ساتھ پیچیدہ نہیں ہوگی، اور اگر آپ مقامی فعالیت کی پرواہ نہیں کرتے ہیں، جس کے لیے یقینی طور پر jQuery سے زیادہ کوڈ لکھنے کی ضرورت ہوگی۔
اگر آپ کو IE کے پرانے ورژن کو سپورٹ کرنے کی ضرورت ہو تو آپ اس لائبریری کو بھی استعمال کر سکتے ہیں۔ پھر jQuery آپ کی خدمت کرے گا جیسا کہ اس نے ان دنوں میں کیا تھا جب IE سب سے زیادہ مقبول براؤزر تھا۔
مستقبل پر غور کریں
jQuery جلد ہی کسی بھی وقت غائب نہیں ہوگا۔ وہ
جب تک jQuery کی فعالیت نمایاں طور پر تبدیل نہیں ہوتی ہے، اس کا امکان ہے کہ لائبریری کا استعمال آہستہ آہستہ جاری رہے گا لیکن اگلے چند سالوں میں مستقل طور پر کم ہوتا رہے گا۔ نئی ویب سائٹیں شروع سے ہی زیادہ جدید فریم ورک کا استعمال کرتے ہوئے بنائی جاتی ہیں، اور jQuery کے لیے مناسب استعمال کے معاملات تیزی سے نایاب ہوتے جا رہے ہیں۔
کچھ لوگ اس شرح کو پسند نہیں کرتے جس پر ویب ڈویلپمنٹ ٹولز متروک ہو جاتے ہیں، لیکن میرے نزدیک یہ تیز رفتار ترقی کا ثبوت ہے۔ jQuery نے ہمیں بہت ساری چیزیں بہتر کرنے کی اجازت دی ہے۔ اس کے جانشینوں کا بھی یہی حال ہے۔
ماخذ: www.habr.com