Knockout (web framework)
ناک آؤٹ ٹیمپلیٹس کے ساتھ ماڈل-ویو-ویو ماڈل پیٹرن کا ایک اسٹینڈ لون جاوا اسکرپٹ نفاذ ہے۔ اس لیے بنیادی اصول یہ ہیں: ڈومین ڈیٹا کے درمیان ایک واضح علیحدگی، ویو اجزاء اور ڈیٹا کو ظاہر کرنے کے لیے ویو اجزاء کے درمیان تعلقات کو منظم کرنے کے لیے خصوصی کوڈ کی واضح طور پر متعین پرت کی موجودگی۔ مؤخر الذکر جاوا اسکرپٹ زبان کی مقامی ایونٹ مینجمنٹ خصوصیات کا فائدہ اٹھاتا ہے۔ یہ خصوصیات ویو اجزاء کے درمیان پیچیدہ تعلقات کی تفصیلات کو ہموار اور آسان بناتی ہیں، جو بدلے میں ڈسپلے کو زیادہ ذمہ دار اور صارف کے تجربے کو بہتر بناتی ہیں۔ ناک آؤٹ کو تیار کیا گیا تھا اور اسے اسٹیو سینڈرسن نے ایک اوپن سورس پروجیکٹ کے طور پر برقرار رکھا ہے۔ خصوصیات ناک آؤٹ میں درج ذیل خصوصیات شامل ہیں: ڈیکلیریٹو بائنڈنگز آٹومیٹک UI ریفریش (جب ڈیٹا ماڈل کی حالت بدلتی ہے تو UI خود بخود اپ ڈیٹ ہوجاتا ہے) ڈیپینڈینس ٹریکنگ ٹیمپلیٹنگ (ایک مخصوص ٹیمپلیٹ انجن پر مشتمل ہوتا ہے، لیکن دیگر ٹیمپلیٹنگ انجن استعمال کیے جا سکتے ہیں) مثال اس مثال میں، دو ٹیکسٹ باکس ڈیٹا ماڈل پر قابل مشاہدہ متغیرات کے پابند ہوتے ہیں۔ "مکمل نام" ڈسپلے ایک منحصر قابل مشاہدہ سے منسلک ہوتا ہے، جس کی قیمت قابل مشاہدہ کے لحاظ سے شمار کی جاتی ہے۔ جب کسی بھی ٹیکسٹ باکس میں ترمیم کی جاتی ہے، تو "مکمل نام" ڈسپلے خود بخود اپ ڈیٹ ہو جاتا ہے، جس میں کوئی واضح ایونٹ ہینڈلنگ نہیں ہوتی ہے۔ ویو ماڈل (جاوا اسکرپٹ) فنکشن ویو ماڈل () {this.firstName = ko.observable ("") ؛ this.lastName = ko.observable ("") ؛ this.fullName = ko.computed (فنکشن () {واپسی this.firstName + "+ this.lastName () ؛}، یہ) ؛} ko.applyBindings (نیا ویو ماڈل () ؛ حوالہ جات بیرونی روابط امیر ویب ایپلی کیشن فریم ورک ایجیکس (پروگرامنگ) جاوا اسکرپٹ لائبریریاں