گھر فارورڈ سوچنا کلائنٹ سرور کمپیوٹنگ کی واپسی؟

کلائنٹ سرور کمپیوٹنگ کی واپسی؟

ویڈیو: Nếu bạn bị say máy bay: Đây là những mẹo hay bạn nên “dắt túi”-NTM (اکتوبر 2024)

ویڈیو: Nếu bạn bị say máy bay: Đây là những mẹo hay bạn nên “dắt túi”-NTM (اکتوبر 2024)
Anonim

مجھے پچھلے کچھ مہینوں سے ترقیاتی دنیا میں دلچسپ چیزوں میں سے ایک چیز یہ ملی ہے کہ جدید ایپلی کیشنز سرور کی بجائے کلائنٹ میں زیادہ سے زیادہ ذہانت رکھنے کی طرف واپس جارہی ہیں۔ کلائنٹ سرور ماڈل یقینا کوئی نیا نہیں ہے: روایتی ایپلی کیشنز سالوں سے بنائے جارہے ہیں ، کلائنٹ کی بھرپور ایپلی کیشنز سرور سائڈ ایپلی کیشنز سے گفتگو کر رہے ہیں۔ لیکن ویب ، اور یہاں تک کہ ویب 2.0 کے دور میں ، توجہ کا اطلاق ویب ایپلیکیشنز پر ہو گیا جس میں انٹیلی جنس کا زیادہ تر حصہ ویب سرور (عام طور پر جاوا پر مبنی ایپلی کیشن سرورز میں) پر تھا اور مؤکل صرف ایک عام ویب صفحہ تھا۔ ایک براؤزر جہاں ہر بار آپ کلک کرتے ، آپ نے ایک نیا صفحہ لوڈ کیا۔

لیکن حال ہی میں ایچ ٹی ایم ایل 5 ، سی ایس ایس ، اور خاص طور پر جاوا اسکرپٹ کی پختگی ڈویلپرز کو ویب پیج میں ہی اصلی انٹلیجنس اور اصلی پروسیسنگ ڈالنے کی رہنمائی کررہی ہے۔ خاص طور پر ہم نے متعدد کلائنٹ سائڈ جاوا اسکرپٹ پر مبنی فریم ورک کا عروج دیکھا ہے جو جدید ویب براؤزر میں مکمل طور پر چلنے والے ذہین فرنٹ اینڈز بنانا آسان بناتے ہیں۔ اس میں شامل براؤزر عموما those ویب کٹ انجن پر مبنی ہوتے ہیں ، بشمول کروم اور سفاری ، لیکن زیادہ تر ایپس فائر فاکس اور انٹرنیٹ ایکسپلورر کے موجودہ ورژن میں بھی ٹھیک چلتی ہیں۔ آپ کا اختتام ایک پیچیدہ ویب صفحے کے ساتھ ہوتا ہے جو متحرک طور پر تبدیل ہوتا ہے ، اور ضرورت کے مطابق سرور سے ڈیٹا کھینچتا ہے۔

ایسا لگتا ہے کہ خاص طور پر تین ایم وی سی فریم ورک پر زیادہ تر توجہ دی جا رہی ہے: بیک بون. جے ایس ، امبر.جے اور اینگولر.جے۔ (ایم وی سی کا مقصد ماڈل ویو-کنٹرولر ہے۔ یہ بنیادی طور پر ویب کلائنٹ کمپیوٹنگ کے پیچھے فن تعمیر ہے۔ "جے ایس" کا مطلب جاوا اسکرپٹ ہے۔) بنیادی طور پر یہ سب AJAX (اسینکرونوس جاوا اسکرپٹ اور ایکس ایم ایل) نقطہ نظر کا پچھلے عشرے سے مشہور ہے یا لہذا ، لیکن زیادہ پختہ اور تقریبا معیاری ہو رہا ہے۔ خیال یہ ہے کہ براؤزر میں ریاست اور ذہانت کا زیادہ سے زیادہ حصہ ڈالیں ، پھر براؤزر کو سرور کی طرف سے REST APIs کے ساتھ جوڑیں۔

ریڑھ کی ہڈی شاید ان فریم ورک کا سب سے بنیادی اور کم سے کم ہے۔ یہ بہت ساری مقبول سائٹوں کے ذریعہ مختلف بیانات کے لئے استعمال ہوتا ہے۔ امبر نے اسپرٹکور نامی فریم ورک کی شکل اختیار کی جس کا استعمال ایپل نے کیا ، اور یہ ایک بہت زیادہ جامع فریم ورک ہے جو آپ کو ڈیسک ٹاپ طرز کی ایپلی کیشنز کرنے دیتا ہے۔ یہ اکثر بوٹسٹریپ کے ساتھ استعمال ہوتا ہے۔ یہ HTML اور CSS کے لئے ٹیمپلیٹس کا ایک مجموعہ ہے جو اصل میں ٹویٹر کے ملازمین کے ذریعہ بنایا گیا تھا۔ انگولر گوگل کا متبادل ہے جو لگتا ہے کہ کہیں کے درمیان ہے۔ کچھ لوگوں کا خیال ہے کہ یہ امبر سے تھوڑا سا زیادہ لچکدار یا کم از کم "کم رائے دہندگان" ہے لیکن بیک بون سے زیادہ جامع ہے۔ (نوٹ گوگل کوڈنگ کے معیار کو بہتر بنانے کے ل develop ڈویلپرز کو انگولر استعمال کرنے پر زور دے رہا ہے ، لیکن اندرونی طور پر فریم ورک کا ایک مختلف ، ملکیتی سیٹ استعمال کرتا ہے۔) یہاں تک کہ مائیکروسافٹ نے ان فریم ورک کے لئے بصری اسٹوڈیو میں ہکس شامل کردیئے ہیں۔


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


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


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


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


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


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

کلائنٹ سرور کمپیوٹنگ کی واپسی؟