تقریباً 15 سال پہلے، میں ایک کمپنی میں کام کر رہا تھا جہاں ہم نے ٹریول ایجنٹس، ہوائی اڈے کے کارکنوں، اور ایئر لائن کمپنیوں کے لیے ایپس بنائی تھیں۔ ہم نے UI اجزاء اور سنگل پیج ایپ کی صلاحیتوں کے لیے اپنا اندرون خانہ فریم ورک بھی بنایا ہے۔ ہمارے پاس ہر چیز کے اجزاء تھے: فیلڈز، بٹن، ٹیبز، رینجز، ڈیٹا ٹیبلز، مینوز، ڈیٹ پیکرز، سلیکٹس، اور ملٹی سلیکٹس۔ ہمارے پاس ایک div جزو بھی تھا۔ ہمارا div جزو ویسے تو بہت اچھا تھا، اس نے ہمیں تمام براؤزرز پر گول کونے کرنے کی اجازت دی، جس پر یقین کریں یا نہ کریں، اس وقت ایسا کرنا آسان کام نہیں تھا۔
ہمارا کام ہماری تاریخ کے ایک ایسے موڑ پر ہوا جب JS, Ajax اور متحرک HTML کو ایک انقلاب کے طور پر دیکھا گیا جو ہمیں مستقبل میں لے آیا۔ اچانک، ہم ایک صفحہ کو متحرک طور پر اپ ڈیٹ کر سکتے ہیں، سرور سے ڈیٹا حاصل کر سکتے ہیں، اور دوسرے صفحات پر جانے سے گریز کر سکتے ہیں، جو کہ سست نظر آتا تھا اور دونوں صفحات کے درمیان اسکرین پر ایک بڑا سفید مستطیل چمکا ہوا تھا۔ ایک جملہ تھا، جسے جیف اٹوڈ (اسٹیک اوور فلو کے بانی) نے مقبول بنایا، جس میں لکھا تھا: "کوئی بھی ایپلی کیشن جو جاوا اسکرپٹ میں لکھی جا سکتی ہے آخر کار جاوا اسکرپٹ میں لکھی جائے گی۔"- جیف اٹوڈ
اس وقت ہمارے لیے، یہ واقعی میں جانے اور ان ایپس کو بنانے کی ہمت کی طرح محسوس ہوا۔ یہ جے ایس کے ساتھ سب کچھ کرنے کی منظوری کی طرح محسوس ہوا۔ لہذا ہم نے JS کے ساتھ سب کچھ کیا، اور ہم نے کام کرنے کے دوسرے طریقوں پر تحقیق کرنے میں واقعی وقت نہیں نکالا۔ ہم نے صحیح طریقے سے سیکھنے کی ترغیب محسوس نہیں کی کہ HTML اور CSS کیا کر سکتے ہیں۔ ہم واقعی ویب کو مکمل طور پر ایک ابھرتے ہوئے ایپ پلیٹ فارم کے طور پر نہیں سمجھتے تھے۔ ہم نے اسے زیادہ تر اس چیز کے طور پر دیکھا جس کے ارد گرد کام کرنے کی ضرورت ہے، خاص طور پر جب بات براؤزر کی مدد کی ہو۔ ہم کام کرنے کے لیے اس پر مزید جے ایس ڈال سکتے ہیں۔ کیا ویب کے کام کرنے کے بارے میں مزید جاننے میں وقت لگے گا اور پلیٹ فارم پر کیا دستیاب تھا اس سے میری مدد ہوئی؟ یقینی طور پر، میں شاید کوڈ کا ایک گروپ منڈوا سکتا تھا جس کی واقعی ضرورت نہیں تھی۔ لیکن، اس وقت، شاید اتنا زیادہ نہیں۔ آپ نے دیکھا، اس وقت براؤزر کے اختلافات کافی اہم تھے۔ یہ وہ وقت تھا جب انٹرنیٹ ایکسپلورر اب بھی غالب براؤزر تھا، فائر فاکس دوسرے نمبر پر تھا، لیکن کروم تیزی سے مقبولیت حاصل کرنے کی وجہ سے مارکیٹ شیئر کھونا شروع کر رہا تھا۔ اگرچہ کروم اور فائر فاکس ویب کے معیارات پر متفق ہونے میں کافی اچھے تھے، لیکن جن ماحول میں ہماری ایپس چل رہی تھیں اس کا مطلب یہ تھا کہ ہمیں طویل عرصے تک IE6 کو سپورٹ کرنا پڑا۔ یہاں تک کہ جب ہمیں IE8 کو سپورٹ کرنے کی اجازت دی گئی، تب بھی ہمیں براؤزرز کے درمیان بہت سے اختلافات سے نمٹنا پڑا۔ نہ صرف یہ، بلکہ اس وقت کے ویب کے پاس پلیٹ فارم میں اتنی زیادہ صلاحیتیں موجود نہیں تھیں۔
آج کی طرف تیزی سے آگے بڑھیں۔ حالات بہت بدل گئے ہیں۔ نہ صرف ہمارے پاس یہ صلاحیتیں پہلے سے کہیں زیادہ ہیں بلکہ ان کی دستیابی کی شرح میں بھی اضافہ ہوا ہے۔ مجھے دوبارہ سوال پوچھنے دیں، پھر: کیا ویب کیسے کام کرتا ہے اور پلیٹ فارم پر جو کچھ دستیاب ہے اس کے بارے میں مزید جاننے کے لیے کیا وقت نکالنا آپ کی مدد کرے گا؟ بالکل ہاں۔ آج ویب پلیٹ فارم کو سمجھنا اور استعمال کرنا سیکھنا آپ کو دوسرے ڈویلپرز کے مقابلے میں بہت زیادہ فائدہ پہنچاتا ہے۔ چاہے آپ کارکردگی، رسائی، ردعمل، ان سب پر ایک ساتھ کام کریں، یا صرف شپنگ UI خصوصیات پر، اگر آپ اسے ایک ذمہ دار انجینئر کے طور پر کرنا چاہتے ہیں، تو آپ کے لیے دستیاب ٹولز کو جاننا آپ کو اپنے مقاصد کو تیز اور بہتر طریقے سے حاصل کرنے میں مدد کرتا ہے۔ کچھ چیزیں جن کے لیے آپ کو لائبریری کی ضرورت نہیں ہو سکتی یہ جانتے ہوئے کہ آج براؤزر کن چیزوں کی حمایت کرتے ہیں، سوال یہ ہے کہ: ہم کیا کھو سکتے ہیں؟ کیا ہمیں 2025 میں گول کونے کرنے کے لیے div جزو کی ضرورت ہے؟ یقینا، ہم نہیں کرتے. اس وقت 15 سال سے زیادہ عرصے سے تمام استعمال شدہ براؤزرز کے ذریعے بارڈر-ریڈیس پراپرٹی کو سپورٹ کیا گیا ہے۔ اور کونے کی شکل بھی جلد آرہی ہے، یہاں تک کہ فینسی کونوں کے لیے۔ آئیے نسبتاً حالیہ خصوصیات پر ایک نظر ڈالتے ہیں جو اب تمام بڑے براؤزرز میں دستیاب ہیں، اور جنہیں آپ اپنے کوڈ بیس میں موجودہ انحصار کو تبدیل کرنے کے لیے استعمال کر سکتے ہیں۔ نقطہ یہ نہیں ہے کہ آپ اپنی تمام پیاری لائبریریوں کو فوری طور پر کھودیں اور اپنے کوڈ بیس کو دوبارہ لکھیں۔ باقی ہر چیز کے بارے میں، آپ کو پہلے براؤزر سپورٹ کو مدنظر رکھنا ہوگا اور اپنے پروجیکٹ کے لیے مخصوص دیگر عوامل کی بنیاد پر فیصلہ کرنا ہوگا۔ مندرجہ ذیل خصوصیات تین اہم براؤزر انجنوں (Chromium، WebKit، اور Gecko) میں لاگو ہوتی ہیں، لیکن آپ کے پاس مختلف براؤزر سپورٹ کے تقاضے ہو سکتے ہیں جو آپ کو فوری طور پر ان کے استعمال سے روکتے ہیں۔ ان خصوصیات کے بارے میں جاننے کے لیے اب بھی اچھا وقت ہے، اگرچہ، اور شاید ان کو کسی وقت استعمال کرنے کا منصوبہ بنائیں۔ پاپ اوور اور ڈائیلاگ Popover API،
یقیناً، آپ کے انٹرنیٹ کنکشن کی رفتار بھی شاید بڑھ گئی ہے، لیکن ایسا ہر کسی کے لیے نہیں ہے۔ اور ہر کسی کے پاس ڈیوائس کی ایک جیسی صلاحیتیں بھی نہیں ہوتیں۔ ان چیزوں کے لیے فریق ثالث کا کوڈ کھینچنا جو آپ پلیٹ فارم کے ساتھ کر سکتے ہیں، اس کے بجائے، غالباً اس کا مطلب ہے کہ آپ زیادہ کوڈ بھیجتے ہیں، اور اس وجہ سے آپ عام طور سے کم صارفین تک پہنچتے ہیں۔ ویب پر، لوڈنگ کی خراب کارکردگی بڑی ترک کرنے کی شرح کا باعث بنتی ہے اور برانڈ کی ساکھ کو نقصان پہنچاتی ہے۔ آلات پر کم کوڈ چل رہا ہے۔ مزید برآں، آپ جو کوڈ اپنے صارفین کے آلات پر بھیجتے ہیں وہ ممکنہ طور پر تیزی سے چلتا ہے اگر یہ پلیٹ فارم کے اوپری حصے میں کم JavaScript خلاصہ استعمال کرتا ہے۔ یہ شاید زیادہ ذمہ دار اور ڈیفالٹ کے لحاظ سے زیادہ قابل رسائی بھی ہے۔ یہ سب زیادہ اور خوش گاہک کی طرف لے جاتا ہے۔ میرے ساتھی Alex Russell کا سالانہ کارکردگی میں عدم مساوات کے فرق کا بلاگ چیک کریں، جو ظاہر کرتا ہے کہ دولت کی عدم مساوات کی وجہ سے اربوں صارفین والی مارکیٹوں سے پریمیم ڈیوائسز بڑی حد تک غائب ہیں۔ اور یہ فرق صرف وقت کے ساتھ بڑھ رہا ہے۔
بلٹ ان میسنری لے آؤٹ ایک ویب پلیٹ فارم کی خصوصیت جو جلد آرہی ہے اور جس کے بارے میں میں بہت پرجوش ہوں وہ ہے CSS میسنری۔
میں معمار کیا ہے اس کی وضاحت کرتے ہوئے شروع کرتا ہوں۔ چنائی کیا ہے چنائی ایک قسم کی ترتیب ہے جسے پنٹیرسٹ نے برسوں پہلے مقبول بنایا تھا۔ یہ مواد کے آزاد ٹریکس بناتا ہے جس کے اندر آئٹمز خود کو ٹریک کے آغاز کے قریب پیک کرتے ہیں جتنا وہ کرسکتے ہیں۔
بہت سے لوگ معمار کو پورٹ فولیوز اور فوٹو گیلریوں کے لیے ایک بہترین آپشن کے طور پر دیکھتے ہیں، جو یہ یقینی طور پر کر سکتا ہے۔ لیکن چنائی اس سے زیادہ لچکدار ہے جو آپ Pinterest پر دیکھتے ہیں، اور یہ صرف آبشار جیسی ترتیب تک محدود نہیں ہے۔ معمار کی ترتیب میں:
ٹریکس کالم یا قطار ہو سکتے ہیں:
مواد کے ٹریکس کا سائز ایک جیسا نہیں ہونا چاہیے:
آئٹمز متعدد پٹریوں پر محیط ہو سکتے ہیں:
اشیاء کو مخصوص پٹریوں پر رکھا جا سکتا ہے۔ انہیں ہمیشہ خودکار پلیسمنٹ الگورتھم کی پیروی کرنے کی ضرورت نہیں ہے:
ڈیمو یہاں کچھ آسان ڈیمو ہیں جو میں نے کرومیم میں CSS میسنری کے آئندہ نفاذ کو استعمال کرتے ہوئے بنائے ہیں۔ ایک فوٹو گیلری ڈیمو، جس میں دکھایا گیا ہے کہ کس طرح آئٹمز (اس معاملے میں ٹائٹل) ایک سے زیادہ ٹریکس کو پھیلا سکتے ہیں:
ایک اور فوٹو گیلری جو مختلف سائز کے ٹریک دکھا رہی ہے:
ایک نیوز سائٹ کا لے آؤٹ جس میں کچھ ٹریکس دوسروں سے زیادہ وسیع ہیں، اور کچھ آئٹمز لے آؤٹ کی پوری چوڑائی پر پھیلے ہوئے ہیں:
ایک کنبان بورڈ جو یہ ظاہر کرتا ہے کہ اشیاء کو مخصوص پٹریوں پر رکھا جا سکتا ہے:
نوٹ: دیپچھلے ڈیمو Chromium کے ایک ایسے ورژن کے ساتھ بنائے گئے تھے جو ابھی تک زیادہ تر ویب صارفین کے لیے دستیاب نہیں ہے، کیونکہ CSS Masonry صرف براؤزرز میں لاگو ہونا شروع ہو رہا ہے۔ تاہم، ویب ڈویلپر برسوں سے میسنری لے آؤٹ بنانے کے لیے لائبریریوں کو خوشی سے استعمال کر رہے ہیں۔ آج معمار استعمال کرنے والی سائٹیں۔ درحقیقت، میسنری آج ویب پر کافی عام ہے۔ یہاں چند مثالیں ہیں جو مجھے Pinterest کے علاوہ ملی ہیں:
اور چند اور، کم واضح، مثالیں:
تو، یہ لے آؤٹ کیسے بنائے گئے؟ کام کاج ایک چال جسے میں نے استعمال کرتے ہوئے دیکھا ہے اس کے بجائے فلیکس باکس لے آؤٹ کا استعمال کرنا، اس کی سمت کو کالم میں تبدیل کرنا، اور اسے لپیٹنے کے لیے ترتیب دینا ہے۔ اس طرح، آپ مختلف اونچائیوں کی اشیاء کو ایک سے زیادہ، آزاد کالموں میں رکھ سکتے ہیں، جس سے معمار کی ترتیب کا تاثر ملتا ہے:
تاہم، اس کام کے ساتھ دو حدود ہیں:
اشیاء کی ترتیب اس سے مختلف ہے جو یہ ایک حقیقی معمار کی ترتیب کے ساتھ ہوگی۔ Flexbox کے ساتھ، آئٹمز پہلے کالم کو بھرتے ہیں اور جب یہ بھر جاتا ہے، تو اگلے کالم پر جائیں۔ میسنری کے ساتھ، آئٹمز کسی بھی ٹریک (یا اس معاملے میں کالم) میں زیادہ جگہ دستیاب ہوں گی. لیکن یہ بھی، اور شاید اس سے بھی اہم بات، اس کام کے لیے ضروری ہے کہ آپ Flexbox کنٹینر کی ایک مقررہ اونچائی سیٹ کریں۔ دوسری صورت میں، کوئی لپیٹ نہیں ہوگا.
تھرڈ پارٹی میسنری لائبریریاں مزید جدید صورتوں کے لیے، ڈویلپر لائبریریوں کا استعمال کر رہے ہیں۔ اس کے لیے سب سے مشہور اور مقبول لائبریری کو محض معمار کہا جاتا ہے، اور NPM کے مطابق اسے ہر ہفتے تقریباً 200,000 بار ڈاؤن لوڈ کیا جاتا ہے۔ اسکوائر اسپیس ایک لے آؤٹ جزو بھی فراہم کرتا ہے جو بغیر کوڈ کے متبادل کے لیے میسنری لے آؤٹ پیش کرتا ہے، اور بہت سی سائٹیں اسے استعمال کرتی ہیں۔ یہ دونوں اختیارات لے آؤٹ میں آئٹمز رکھنے کے لیے JavaScript کوڈ کا استعمال کرتے ہیں۔ بلٹ ان چنائی میں واقعی پرجوش ہوں کہ میسنری اب براؤزرز میں بلٹ ان CSS فیچر کے طور پر ظاہر ہونا شروع ہو رہی ہے۔ وقت گزرنے کے ساتھ، آپ میسنری کو بالکل اسی طرح استعمال کرنے کے قابل ہو جائیں گے جیسے آپ گرڈ یا فلیکس باکس کرتے ہیں، یعنی بغیر کسی حل یا تیسرے فریق کوڈ کی ضرورت کے۔ مائیکروسافٹ میں میری ٹیم کرومیم اوپن سورس پروجیکٹ میں بلٹ ان میسنری سپورٹ کو نافذ کر رہی ہے، جس پر ایج، کروم، اور بہت سے دوسرے براؤزرز مبنی ہیں۔ موزیلا درحقیقت پہلا براؤزر وینڈر تھا جس نے 2020 میں میسنری کے تجرباتی نفاذ کی تجویز پیش کی۔ اور ایپل نے بھی اس نئے ویب لے آؤٹ کو قدیم بنانے میں بہت دلچسپی لی ہے۔ خصوصیت کو معیاری بنانے کا کام بھی آگے بڑھ رہا ہے، CSS ورکنگ گروپ کے اندر عمومی سمت اور یہاں تک کہ ایک نئی ڈسپلے ٹائپ ڈسپلے: گرڈ لین کے بارے میں معاہدے کے ساتھ۔ اگر آپ میسنری کے بارے میں مزید جاننا چاہتے ہیں اور پیشرفت کو ٹریک کرنا چاہتے ہیں تو میرا CSS میسنری وسائل کا صفحہ دیکھیں۔ وقت کے ساتھ، جب معمار ایک بنیادی خصوصیت بن جائے گا، بالکل گرڈ یا فلیکس باکس کی طرح، ہم اسے آسانی سے استعمال کرنے اور اس سے فائدہ اٹھا سکیں گے:
بہتر کارکردگی، بہتر ردعمل، استعمال میں آسانی اور آسان کوڈ۔
آئیے ان پر گہری نظر ڈالتے ہیں۔ بہتر کارکردگی اپنا معمار جیسا لے آؤٹ سسٹم بنانا، یا اس کے بجائے تھرڈ پارٹی لائبریری استعمال کرنے کا مطلب ہے کہ آپ کو اسکرین پر آئٹمز رکھنے کے لیے JavaScript کوڈ چلانا پڑے گا۔ اس کا مطلب یہ بھی ہے کہ یہ کوڈ رینڈر بلاکنگ ہوگا۔ درحقیقت، یا تو کچھ بھی ظاہر نہیں ہوگا، یا چیزیں صحیح جگہوں پر یا صحیح سائز کی نہیں ہوں گی، جب تک کہ وہ JavaScript کوڈ چل نہ جائے۔ میسنری لے آؤٹ اکثر ویب صفحہ کے مرکزی حصے کے لیے استعمال کیا جاتا ہے، جس کا مطلب ہے کہ کوڈ آپ کے مرکزی مواد کو بعد میں ظاہر کر رہا ہو گا، بصورت دیگر، آپ کے LCP، یا Largest Contentful Paint میٹرک کو کم کر رہا ہے، جو سمجھی کارکردگی اور سرچ انجن کی اصلاح میں بڑا کردار ادا کرتا ہے۔ میں نے ایک سادہ ترتیب کے ساتھ اور DevTools میں ایک سست 4G کنکشن کی تقلید کرکے Masonry JS لائبریری کا تجربہ کیا۔ لائبریری بہت بڑی نہیں ہے (24KB، 7.8KB gzipped)، لیکن اسے میرے ٹیسٹ کے حالات میں لوڈ ہونے میں 600ms لگے۔ یہاں ایک پرفارمنس ریکارڈنگ ہے جس میں دکھایا گیا ہے کہ میسنری لائبریری کے لیے طویل 600ms لوڈ ٹائم ہے، اور یہ کہ جب ایسا ہو رہا تھا تو کوئی دوسری رینڈرنگ سرگرمی نہیں ہوئی:
اس کے علاوہ، ابتدائی لوڈ ٹائم کے بعد، ڈاؤن لوڈ کردہ اسکرپٹ کو پھر پارس کرنے، مرتب کرنے اور پھر چلانے کی ضرورت تھی۔ یہ سب، جیسا کہ پہلے ذکر کیا گیا، صفحہ کی رینڈرنگ کو روک رہا تھا۔ براؤزر میں بلٹ ان میسنری کے نفاذ کے ساتھ، ہمارے پاس لوڈ کرنے اور چلانے کے لیے اسکرپٹ نہیں ہوگا۔ براؤزر انجن صرف ابتدائی صفحہ رینڈرنگ مرحلے کے دوران اپنا کام کرے گا۔ بہتر ردعمل اسی طرح جب ایک صفحہ پہلی بار لوڈ ہوتا ہے، براؤزر ونڈو کا سائز تبدیل کرنے سے اس صفحہ میں ترتیب کو دوبارہ پیش کیا جاتا ہے۔ اس وقت، اگرچہ، اگر صفحہ میسنری جے ایس لائبریری کا استعمال کر رہا ہے، تو اسکرپٹ کو دوبارہ لوڈ کرنے کی ضرورت نہیں ہے، کیونکہ یہ پہلے سے موجود ہے۔یہاں تاہم، کوڈ جو اشیاء کو صحیح جگہوں پر منتقل کرتا ہے اسے چلانے کی ضرورت ہے۔ اب یہ مخصوص لائبریری صفحہ لوڈ ہونے پر ایسا کرنے میں کافی تیز دکھائی دیتی ہے۔ تاہم، یہ اشیاء کو متحرک کرتا ہے جب انہیں ونڈو کا سائز تبدیل کرنے پر کسی مختلف جگہ پر جانے کی ضرورت ہوتی ہے، اور اس سے بڑا فرق پڑتا ہے۔ یقیناً، صارفین اپنے براؤزر کی ونڈوز کا سائز تبدیل کرنے میں اتنا وقت نہیں گزارتے جتنا ہم ڈویلپرز کرتے ہیں۔ لیکن یہ متحرک سائز تبدیل کرنے کا تجربہ کافی پریشان کن ہوسکتا ہے اور صفحہ کو اس کے نئے سائز کے مطابق ڈھالنے میں لگنے والے وقت میں اضافہ کرتا ہے۔ استعمال میں آسانی اور آسان کوڈ ویب فیچر کو استعمال کرنا کتنا آسان ہے اور کوڈ کتنا آسان لگتا ہے وہ اہم عوامل ہیں جو آپ کی ٹیم کے لیے بڑا فرق لا سکتے ہیں۔ وہ کبھی بھی حتمی صارف کے تجربے کی طرح اہم نہیں ہو سکتے، یقیناً، لیکن ڈویلپر کا تجربہ برقراری کو متاثر کرتا ہے۔ بلٹ ان ویب فیچر کا استعمال اس محاذ پر اہم فوائد کے ساتھ آتا ہے:
ڈویلپرز جو پہلے سے ہی HTML، CSS، اور JS کو جانتے ہیں وہ اس خصوصیت کو آسانی سے استعمال کرنے کے قابل ہو جائیں گے کیونکہ اسے اچھی طرح سے مربوط کرنے اور باقی ویب پلیٹ فارم کے ساتھ مطابقت رکھنے کے لیے ڈیزائن کیا گیا ہے۔ خصوصیت کے استعمال کے طریقے میں متعارف کرائے جانے والے تبدیلیوں کے ٹوٹنے کا کوئی خطرہ نہیں ہے۔ اس خصوصیت کے فرسودہ یا غیر برقرار رہنے کا تقریباً صفر خطرہ ہے۔
بلٹ ان میسنری کے معاملے میں، کیونکہ یہ ایک ابتدائی ترتیب ہے، آپ اسے CSS سے استعمال کرتے ہیں، بالکل Grid یا Flexbox کی طرح، کوئی JS شامل نہیں ہے۔ اس کے علاوہ، دیگر ترتیب سے متعلق سی ایس ایس خصوصیات، جیسے گیپ، کام کرتی ہیں جیسا کہ آپ ان سے توقع کرتے ہیں۔ اس کے بارے میں جاننے کے لیے کوئی تدبیریں یا حل نہیں ہیں، اور جو چیزیں آپ سیکھتے ہیں وہ MDN پر دستاویزی ہیں۔ میسنری جے ایس لیب کے لیے، ابتداء قدرے پیچیدہ ہے: اس کے لیے کالم اور گیپ سائز سیٹ کرنے کے لیے چھپے ہوئے HTML عناصر کے ساتھ ایک مخصوص نحو کے ساتھ ڈیٹا وصف کی ضرورت ہوتی ہے۔ اس کے علاوہ، اگر آپ کالموں کو پھیلانا چاہتے ہیں، تو آپ کو مسائل سے بچنے کے لیے خود ہی گیپ کا سائز شامل کرنا ہوگا:
آئیے اس کا موازنہ کریں کہ بلٹ ان میسنری کا نفاذ کیسا نظر آئے گا:
آسان، زیادہ کمپیکٹ کوڈ جو صرف گیپ جیسی چیزوں کا استعمال کر سکتا ہے اور جہاں اسپیننگ ٹریکس span 2 کے ساتھ کیا جاتا ہے، بالکل گرڈ کی طرح، اور آپ کو صحیح چوڑائی کا حساب لگانے کی ضرورت نہیں ہے جس میں گیپ کا سائز شامل ہے۔ یہ کیسے جانیں کہ کیا دستیاب ہے اور کب دستیاب ہے؟ مجموعی طور پر، سوال یہ نہیں ہے کہ کیا آپ کو جے ایس لائبریری پر بلٹ ان میسنری استعمال کرنا چاہیے، بلکہ کب۔ میسنری جے ایس لائبریری حیرت انگیز ہے اور کئی سالوں سے ویب پلیٹ فارم میں اور بہت سے خوش کن ڈویلپرز اور صارفین کے لیے خلا کو پُر کر رہی ہے۔ اگر آپ بلٹ ان میسنری کے نفاذ سے اس کا موازنہ کریں تو اس میں کچھ خرابیاں ہیں، یقیناً، لیکن اگر یہ عمل درآمد تیار نہیں ہے تو یہ اہم نہیں ہیں۔ ویب پلیٹ فارم کی ان عمدہ خصوصیات کی فہرست بنانا میرے لیے آسان ہے کیونکہ میں ایک براؤزر وینڈر پر کام کرتا ہوں، اور اس لیے میں یہ جاننا چاہتا ہوں کہ کیا ہو رہا ہے۔ لیکن ڈویلپر اکثر سروے کے بعد سروے کا اشتراک کرتے ہیں، کہ نئی چیزوں پر نظر رکھنا مشکل ہے۔ باخبر رہنا مشکل ہے، اور کمپنیاں ہمیشہ سیکھنے کو ترجیح نہیں دیتیں۔ اس میں مدد کرنے کے لیے، یہاں چند وسائل ہیں جو سادہ اور کمپیکٹ طریقوں سے اپ ڈیٹ فراہم کرتے ہیں تاکہ آپ اپنی مطلوبہ معلومات کو تیزی سے حاصل کر سکیں:
ویب پلیٹ فارم ایکسپلورر سائٹ کی خصوصیات رکھتا ہے: آپ کو اس کے ریلیز نوٹس کے صفحے میں دلچسپی ہو سکتی ہے۔ اور، اگر آپ آر ایس ایس کو پسند کرتے ہیں، تو ریلیز نوٹس فیڈ کے ساتھ ساتھ بیس لائن نئے دستیاب اور وسیع پیمانے پر دستیاب فیڈز کو دیکھیں۔
ویبپلیٹ فارم اسٹیٹس ڈیش بورڈ: آپ کو اس کے مختلف بنیادی سال کے صفحات پسند آسکتے ہیں۔
کروم پلیٹ فارم اسٹیٹس کا روڈ میپ صفحہ۔
اگر آپ کے پاس تھوڑا اور وقت ہے تو، آپ کو براؤزر وینڈرز کے ریلیز نوٹس میں بھی دلچسپی ہو سکتی ہے:
کروم کنارہ فائر فاکس سفاری
مزید وسائل کے لیے، میری نیویگیٹنگ دی ویب پلیٹ فارم چیٹ شیٹ دیکھیں۔ میری بات ابھی تک نافذ نہیں ہوئی۔ یہ مسئلہ کا دوسرا رخ ہے۔ یہاں تک کہ اگر آپ کو ٹریک رکھنے کے لیے وقت، توانائی اور طریقے مل جاتے ہیں، تب بھی آپ کی آواز سننے اور آپ کی پسندیدہ خصوصیات کو لاگو کرنے سے مایوسی ہوتی ہے۔ ہوسکتا ہے کہ آپ برسوں سے کسی مخصوص مسئلے کے حل ہونے کا انتظار کر رہے ہوں، یا براؤزر میں بھیجنے کے لیے کوئی خاص خصوصیت موجود ہو جہاں یہ ابھی تک غائب ہے۔ میں کیا کہوں گا کہ براؤزر فروش سنتے ہیں۔ میں متعدد کراس آرگنائزیشن ٹیموں کا حصہ ہوں جہاں ہم ہر وقت ڈویلپر سگنلز اور فیڈ بیک پر تبادلہ خیال کرتے ہیں۔ ہم تاثرات کے بہت سے مختلف ذرائع کو دیکھتے ہیں، ہر براؤزر وینڈر کے اندرونی اور فورمز، اوپن سورس پروجیکٹس، بلاگز اور سروے پر بیرونی/عوامی۔ اور، ہم ہمیشہ ڈویلپرز کے لیے اپنی مخصوص ضروریات کا اشتراک کرنے اور کیسز استعمال کرنے کے لیے بہتر طریقے تخلیق کرنے کی کوشش کر رہے ہیں۔ لہذا، اگر آپ کر سکتے ہیں، تو براہ کرم براؤزر فروشوں سے مزید مطالبہ کریں اور ہم پر دباؤ ڈالیں کہ آپ کو درکار خصوصیات کو نافذ کریں۔ میں سمجھتا ہوں کہ اس میں وقت لگتا ہے، اور یہ ڈرانے والا بھی ہو سکتا ہے (داخلے میں بڑی رکاوٹ کا ذکر نہ کرنا)، لیکن یہ کام بھی کرتا ہے۔ یہاں کچھ طریقے ہیں جن سے آپ اپنی (یا اپنی کمپنی کی) آواز سن سکتے ہیں: سالانہ اسٹیٹ آف جے ایس، اسٹیٹ آف سی ایس ایس، اور اسٹیٹ آف ایچ ٹی ایم ایل سروے لیں۔ وہ اس میں ایک بڑا کردار ادا کرتے ہیں کہ براؤزر فروش اپنے کام کو کس طرح ترجیح دیتے ہیں۔ اگر آپ کو براؤزرز پر مستقل طور پر لاگو کرنے کے لیے ایک مخصوص معیاری پر مبنی API کی ضرورت ہے، تو اگلے Interop پروجیکٹ کی تکرار پر ایک تجویز پیش کرنے پر غور کریں۔ اس کے لیے مزید وقت درکار ہے، لیکن غور کریں کہ کس طرح Shopify اور RUMvision نے Interop 2026 کے لیے اپنی خواہش کی فہرستیں شیئر کیں۔ اس طرح کی تفصیلی معلومات براؤزر وینڈرز کو ترجیح دینے کے لیے بہت مفید ہو سکتی ہیں۔ براؤزر وینڈرز کو متاثر کرنے کے لیے مزید مفید لنکس کے لیے، میری نیویگیٹنگ دی ویب پلیٹ فارم چیٹ شیٹ کو دیکھیں۔ نتیجہ بند کرنے کے لیے، میں امید کرتا ہوں کہ اس مضمون نے آپ کے لیے سوچنے کے لیے کچھ چیزیں چھوڑی ہیں:
معمار اور دیگر آنے والی ویب خصوصیات کے لیے جوش و خروش۔ ویب کی چند خصوصیات جو آپ استعمال کرنا شروع کر سکتے ہیں۔ حسب ضرورت یا فریق ثالث کوڈ کے چند ٹکڑے جنہیں آپ بلٹ ان خصوصیات کے حق میں ہٹا سکتے ہیں۔ آنے والی چیزوں پر نظر رکھنے اور براؤزر وینڈرز کو متاثر کرنے کے چند طریقے۔
زیادہ اہم بات، مجھے امید ہے کہ میں نے آپ کو ویب پلیٹ فارم کو اس کی پوری صلاحیت کے ساتھ استعمال کرنے کے فوائد کے بارے میں قائل کر لیا ہے۔