پوسا ویب فریم ورک شائع ہو چکا ہے۔ یہ ایک ایسے تصور کو نافذ کرتا ہے جو جاوا اسکرپٹ کا استعمال کرتے ہوئے براؤزر میں فرنٹ اینڈ لاجک کو بیک اینڈ پر منتقل کرتا ہے۔ براؤزر اور DOM عنصر کے انتظام کے ساتھ ساتھ کاروباری منطق کو پسدید پر عمل میں لایا جاتا ہے۔ جاوا اسکرپٹ کوڈ براؤزر سائیڈ پر ایک یونیورسل مڈل ویئر سے بدل دیا جاتا ہے جو بیک اینڈ پر واقع ہینڈلرز کو کال کرتا ہے۔ فرنٹ اینڈ کے لیے جاوا اسکرپٹ کا استعمال کرتے ہوئے تیار کرنے کی ضرورت نہیں ہے۔ پوسا ریفرنس کا نفاذ PHP میں لکھا گیا ہے اور اسے GPLv3 لائسنس کے تحت تقسیم کیا گیا ہے۔ پی ایچ پی کے علاوہ، ٹیکنالوجی کو کسی بھی دوسری زبان میں لاگو کیا جا سکتا ہے، بشمول JavaScript/Node.js، Java، Python، Go، اور Ruby۔
Pusa کمانڈز کے کم سے کم سیٹ پر مبنی ایکسچینج پروٹوکول کی وضاحت کرتا ہے۔ جب کوئی صفحہ لوڈ ہوتا ہے، براؤزر بنیادی DOM مواد اور Pusa-Front JavaScript کور کو لوڈ کرتا ہے۔ Pusa-Front براؤزر ایونٹس (جیسے کلک، بلر، فوکس، اور کیپریس) اور درخواست کے پیرامیٹرز (ایونٹ کو متحرک کرنے والا عنصر، اس کی خصوصیات، یو آر ایل، وغیرہ) کو Ajax درخواستوں کے ذریعے Pusa-Back سرور ہینڈلر کو بھیجتا ہے۔ موصولہ ڈیٹا کی بنیاد پر، Pusa-Back کنٹرولر کا تعین کرتا ہے، پے لوڈ کو انجام دیتا ہے، اور کمانڈز کا جوابی سیٹ تیار کرتا ہے۔ درخواست کا جواب موصول ہونے پر، Pusa-Front DOM کے مواد اور براؤزر کے ماحول میں ترمیم کرتے ہوئے کمانڈز پر عمل درآمد کرتا ہے۔
فرنٹ اینڈ سٹیٹ تیار کی جاتی ہے لیکن بیک اینڈ کے ذریعے کنٹرول نہیں ہوتی، جس سے پوسا کی ترقی ویڈیو کارڈ یا کینوس کے کوڈ کی طرح ہوتی ہے، جہاں پر عمل درآمد کا نتیجہ ڈویلپر کے ذریعے کنٹرول نہیں ہوتا ہے۔ کینوس اور onmousemove پر مبنی انٹرایکٹو ایپلی کیشنز بنانے کے لیے، کلائنٹ کی طرف اضافی JavaScript اسکرپٹس کو لوڈ کرنا اور استعمال کرنا ممکن ہے۔ اس طریقہ کار کے نقصانات میں کچھ بوجھ کو فرنٹ اینڈ سے بیک اینڈ پر منتقل کرنا اور ڈیٹا ایکسچینج کی فریکوئنسی میں اضافہ بھی شامل ہے۔ سرور.
فوائد میں شامل ہیں: فرنٹ اینڈ جاوا اسکرپٹ ڈویلپرز کی ضرورت کو ختم کرنا، مستحکم اور کمپیکٹ کلائنٹ کوڈ (11 KB)، فرنٹ اینڈ سے مین کوڈ کی ناقابل رسائی، REST سیریلائزیشن یا gRPC قسم کے ٹولز کی ضرورت نہیں، اور فرنٹ اینڈ اور بیک اینڈ کے درمیان کوآرڈینیٹ ریکوسٹ روٹنگ کے مسائل کو ختم کرنا۔
ماخذ: opennet.ru
