إيجابيات وسلبيات جانغو

تقريبا. perev.: هذه المقالة مخصصة بشكل أساسي لأولئك الذين يختارون فقط إطارًا لتطوير الويب. من غير المرجح أن يتعلم مطورو Django المتمرسون أي شيء جديد.



يوصف دانغو بأنه "إطار عمل على شبكة الإنترنت من أجل الكمال مع تحديد مواعيد نهائية". تم إنشاؤه للانتقال من النماذج الأولية إلى الخدمات الجاهزة في أسرع وقت ممكن.


سوف يساعد إطار العمل على تطوير تطبيق تسليم المفتاح CRUD. جانغو ليس من الضروري إعادة اختراع العجلة. إنه يعمل خارج الصندوق ويسمح لك بالتركيز على منطق الأعمال والمنتجات للأشخاص العاديين.


إيجابيات جانغو


مبدأ "شاملة" ("البطاريات مشمولة")


تعني عبارة "شاملة" أن معظم الأدوات اللازمة لإنشاء تطبيق ما هي جزء من الإطار ، ولا تأتي في مكتبات منفصلة.


يحتوي Django على قدر كبير من الوظائف لحل معظم مهام تطوير الويب. فيما يلي بعض الميزات رفيعة المستوى في Django التي سيتعين عليك البحث عنها بشكل منفصل إذا كنت تفضل إطار عمل متناهي الصغر:


  • ORM
  • هجرة قاعدة البيانات
  • مصادقة المستخدم
  • لوحة الادارة
  • شكل

هيكل موحد


Django كإطار يحدد هيكل المشروع. يساعد المطورين على فهم مكان وكيفية إضافة وظائف جديدة.


بفضل نفس البنية لجميع المشاريع ، أصبح من الأسهل بكثير إيجاد حلول جاهزة أو الحصول على مساعدة من المجتمع. سيساعد عدد كبير من المطورين المتحمسين في التعامل مع أي مهمة بشكل أسرع.


تطبيقات جانغو


تتيح لك التطبيقات في Django تقسيم المشروع إلى عدة أجزاء. يتم تثبيت التطبيقات عن طريق إضافة إلى settings.INSTALLED_APPS . هذا النهج يجعل من السهل دمج حلول تسليم المفتاح.


المئات من الوحدات النمطية والتطبيقات العالمية سوف تسرع التنمية بشكل كبير. ألقِ نظرة على قائمتهم على djangopackages.org .


آمنة افتراضيا


يعتبر Django آمنًا من العبوة ويتضمن آليات لمنع الهجمات الشائعة مثل حقن SQL (XSS) وتزوير الطلبات عبر المواقع (CSRF). يمكنك قراءة المزيد حول هذا في دليل الأمن الرسمي .


إطار عمل REST لإنشاء واجهة برمجة التطبيقات


إطار عمل Django REST ، الذي يختصر في كثير من الأحيان بـ "DRF" ، هو مكتبة لبناء واجهات برمجة التطبيقات. لديها بنية معيارية وقابلة للتخصيص تعمل بشكل جيد لإنشاء واجهات برمجة تطبيقات بسيطة ومعقدة.


في DRF ، تتوفر سياسات المصادقة والإذن خارج الصندوق. لأنه يأتي مع فئات أساسية لعمليات CRUD وأداة مساعدة مدمجة لاختبار واجهة برمجة التطبيقات المتقدمة.


GraphQL API framework


غالبًا ما تتطلب واجهات برمجة تطبيقات REST الكبيرة عددًا كبيرًا من الطلبات للحصول على جميع البيانات اللازمة. GraphQL هي لغة استعلام تجعل تبادل البيانات ذات الصلة أسهل بكثير. اقرأ المزيد عن مفاهيم GraphQL الأساسية في الوثائق الرسمية .


يسهّل Graphene-Django إضافة الوظيفة المناسبة إلى مشروعك. يمكن استخدام نماذج Django والنماذج والمصادقة وسياسات الأذونات والوظائف الأخرى لإنشاء واجهة برمجة تطبيقات GraphQL. تأتي المكتبة أيضًا مع أداة مساعدة لاختبار النتيجة.


عيوب جانغو


جانغو orm


Django ORM اليوم أدنى بكثير من أحدث SQLAlchemy.


يستند Django ORM إلى قالب السجل النشط ، وهو أسوأ من قالب وحدة العمل المستخدم في SQLAlchemy. في الممارسة العملية ، يتم التعبير عن ذلك في حقيقة أنه في نماذج Django يمكن "حفظ" أنفسهم حسب الرغبة ، ويتم تعطيل المعاملات بشكل افتراضي. يمكنك قراءة المزيد حول هذا الموضوع في مقالة "الأشياء التي لا أحبها في جانغو" .


جانغو يتطور ببطء


جانغو هو إطار كبير ومتجانس. يسمح هذا للمجتمع بتطوير المئات من الوحدات النمطية والتطبيقات العامة ، ولكنه يبطئ من سرعة تطوير Django نفسها. بالإضافة إلى ذلك ، يجب أن يدعم الإطار التوافق مع الإصدارات السابقة ، لذلك فهو يتطور ببطء نسبيًا.


خلاصة القول: يجب أن أختار جانغو؟


على الرغم من أن Django ORM ليس مرنًا مثل SQLAlchemy ، وأن نظامًا بيئيًا كبيرًا من الوحدات والتطبيقات القابلة لإعادة الاستخدام يبطئ من تطوير البنية التحتية ، فمن الواضح أن Django يجب أن يكون المرشح الأول لدور إطار عمل الثعبان.


قد تتطلب الأطر خفيفة الوزن البديلة مثل Flask ، على الرغم من أنها تسمح لك أن تكون أكثر تحررا من Django في النظام البيئي والتكوين ، وقتا إضافيا للبحث / إنشاء مكتبات ووظائف إضافية على المدى الطويل.


نما استقرار جانغو والمجتمع المحيط به إلى حجم لا يمكن تصوره منذ صدوره لأول مرة. تعد الوثائق الرسمية والدروس التعليمية حول الإطار من أفضل الأنواع من نوعها. ومع كل نسخة جديدة من Django تواصل نمو الفرص.

Source: https://habr.com/ru/post/ar473042/


All Articles