Architecture Decision Record

Active theme: Light

← فیصلہ ریکارڈ کی مثالیں

Python Django فریم ورک کے لیے آرکیٹیکچر فیصلے کا ریکارڈ

فیصلے کی تاریخ: 2021-07-15

حالت: قبول شدہ

سیاق و سباق

ہماری تنظیم ایک ویب ایپلیکیشن تیار کرنے کا منصوبہ بنا رہی ہے جو صارفین کا ڈیٹا منظم کرتی ہے۔ ہم نے پروگرامنگ زبان کے طور پر Python کا انتخاب کیا ہے اور ایپلیکیشن کی ڈویلپمنٹ کے لیے ویب فریم ورک کے طور پر Django پر غور کر رہے ہیں۔

فیصلہ

ہم نے ویب ایپلیکیشن کی ڈویلپمنٹ کے لیے Django ویب فریم ورک استعمال کرنے کا فیصلہ کیا ہے۔ Django ویب ایپلیکیشنز کو تیزی اور مؤثر طریقے سے بنانے کے لیے ٹولز اور خصوصیات کا مضبوط سیٹ فراہم کرتا ہے۔

عوامل

ہمارے فیصلے پر اثر انداز ہونے والے کچھ عوامل میں شامل ہیں:

  1. آبجیکٹ-ریلیشنل میپنگ (ORM): Django میں اندرونی ORM ہے جو ہمیں SQL کوئریز لکھے بغیر ڈیٹا بیس سے تعامل کرنے دیتی ہے۔ یہ ایپلیکیشن کو ڈویلپ کرنا اور طویل مدت میں اس کی دیکھ بھال کرنا آسان بناتی ہے۔

  2. MVC فریم ورک: Django ماڈل-ویو-کنٹرولر (MVC) آرکیٹیکچر کی پیروی کرتا ہے، جس سے ایپلیکیشن کی کاروباری منطق اور پیشکش کی تہوں کو الگ کرنا آسان ہو جاتا ہے۔

  3. وسعت پذیری: Django اپنی وسعت پذیری کی صلاحیتوں کے لیے جانا جاتا ہے، جو اسے بڑے پیمانے کی ایپلیکیشنز کی ڈویلپمنٹ کے لیے بہترین انتخاب بناتا ہے۔

  4. سیکیورٹی: Django میں اندرونی سیکیورٹی خصوصیات ہیں، جیسے cross-site scripting (XSS) اور SQL injection جیسے عام ویب حملوں سے تحفظ۔

  5. کمیونٹی سپورٹ: Django کی بڑی اور فعال کمیونٹی ہے جو معاونت فراہم کرتی ہے اور فریم ورک کی ڈویلپمنٹ میں حصہ ڈالتی ہے۔

زیرِ غور متبادل

ہم نے Flask اور Pyramid جیسے دیگر ویب فریم ورکس پر غور کیا۔ تاہم ہم نے پایا کہ Django زیادہ پختہ اور اچھی طرح قائم فریم ورک ہے جس کی خصوصیات کا مضبوط سیٹ ہے۔

ہم نے ویب فریم ورک کے بغیر ایپلیکیشن تیار کرنے اور SQLAlchemy اور Flask-RESTful جیسی لائبریریاں استعمال کرنے پر بھی بحث کی۔ تاہم ہم نے پایا کہ Django وسیع تر فعالیت پیش کرتا ہے، جو اسے مکمل ویب ایپلیکیشن کے لیے بہتر انتخاب بناتا ہے۔

نتائج

Django اپنانے کے درج ذیل نتائج ہوں گے:

  1. Django کے اندرونی ٹولز اور خصوصیات کی بدولت ایپلیکیشن کو ڈویلپ کرنا اور اس کی دیکھ بھال کرنا آسان ہوگا۔

  2. کاروباری منطق اور پیشکش کی تہہ کی علیحدگی، جس سے زیادہ منظم اور دیکھ بھال میں آسان کوڈ ملے گا۔

  3. ایپلیکیشن کی وسعت پذیری اور مضبوطی۔

  4. اندرونی سیکیورٹی خصوصیات جو ایپلیکیشن کو عام ویب حملوں سے بچانے میں مدد دیتی ہیں۔

  5. معاونت کے لیے بڑی اور فعال کمیونٹی تک رسائی۔

ہم سمجھتے ہیں کہ Django کا سیکھنے کا خم دوسرے فریم ورکس سے زیادہ کھڑا ہے، لیکن ہمارا خیال ہے کہ یہ اس کے فراہم کردہ طویل مدتی فوائد کے لیے سرمایہ کاری کے قابل ہے۔

اختتامیہ

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