شعار زيفيرنت

Flask vs Django: أيهما يجب أن تتعلم؟

التاريخ:

صورة

صورة الملف الشخصي صوفيا رودريغواز هاكر نون

@com.noeticsophiaصوفيا رودريغواز

أنا متحمس للتكنولوجيا وأكتب عن أي شيء وكل شيء عن التكنولوجيا في أوقات فراغي.

يتم استخدام كل من Django و Flask من قبل المؤسسات لتطوير مواقع الويب وتطبيقات الصفحة الواحدة والخلفية للتطبيق والخدمات المصغرة وواجهات برمجة التطبيقات بشكل عام.

يمكن للمرء استخدام Django أو Flask في مشروع تطوير الويب ولكن هناك العديد من الاختلافات بسبب اختيار المطورين أحدهما على الآخر في مواقف مختلفة.

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

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

لنبدأ بمقدمة موجزة عن Flask و Django.

ما هو Django؟

تم إنشاء Django في لورنس جورنال وورلد صحيفة بقلم سايمون ويليسون وأدريان هولوفاتي في عام 2005. اعتبارًا من اليوم ، تديرها مؤسسة دجانغو للبرمجيات ومتاحة للاستخدام العام مجانًا بموجب ترخيص BSD.

تحظى Django بشعبية كبيرة بين المطورين لتطوير التطبيقات السريعة لأنها تأتي مليئة بالعديد من المكونات الجاهزة للاستخدام لتحقيق مهام البرمجة الشائعة.

مع Django ، يتقلص الاهتمام الرئيسي للمطورين عمومًا إلى منطق الأعمال ويتم الاهتمام بالباقي من خلال إطار العمل نفسه.

لن يكون من المستغرب أن نقول إنه يمكن للمرء أن يجمع تطبيق ويب يعمل بكامل طاقته في غضون ساعات.

هل من الممكن إنشاء تطبيق في غضون ساعات؟

إذا وضعنا منطق الأعمال والإبداع جانبًا ، فإن معظم تطبيقات الويب تقدم أنواعًا متشابهة من الميزات ، وبعضها يقدم ميزات أكثر من غيرها.

مع وضع ذلك في الاعتبار ، قام مطورو Django بعمل رائع وأنشأوا مكونات لخدمة جميع الميزات المطلوبة تقريبًا لإنشاء تطبيق ويب متكامل ، بما في ذلك واجهة الإدارة.

عند الحديث أكثر قليلاً عن هذا الأمر ، يقوم Django تلقائيًا بإنشاء واجهة إدارة بناءً على نموذج تطبيق الويب الخاص بك. توفر الواجهة التي تم إنشاؤها في الغالب جميع الميزات المطلوبة لعمليات CRUD ويمكن تخصيصها بشكل أكبر وفقًا لاحتياجات المشروع.

يتم أيضًا إنشاء ميزات مواقع الويب الشائعة الأخرى مثل موجز RSS ومصادقة المستخدم والترخيص وخرائط الموقع وذاكرة التخزين المؤقت للصفحة وما إلى ذلك دون كتابة الكثير من التعليمات البرمجية.  

عند الحديث عن الأتمتة حول نموذج التطبيق ، يوفر Django مخططًا للعلاقات بين الكائنات يُستخدم لتعريف تخطيط قاعدة البيانات في صيغة شفرة Python بسيطة جدًا.

يمكن تثبيت التخطيط بنقرة واحدة لمنحك مخطط قاعدة البيانات وواجهات برمجة تطبيقات Python الغنية للوصول إلى البيانات.

يُعرف Django أيضًا بميزات الأمان التي يقدمها. يمكنك الحصول على حماية خارج الصندوق ضد الثغرات الأمنية مثل حقن SQL و clickjacking و CSRF وغيرها.

من يستخدم Django؟

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

يمكن أن تنبثق شعبية Django من حقيقة أن تطبيقات مثل Instagram و Spotify و Pinterest و Mozilla و Netflix و Disqus تستخدم Django في المجموعة التقنية الشاملة لتحقيق مهام البرمجة المختلفة.

صورة

بينما نواصل مناقشة Flask vs Django ، ستلاحظ أنه بينما يتم استخدام كليهما في تطوير الويب ، هناك اختلافات كبيرة من حيث كيفية استخدام المطورين والمؤسسات لهذه الأطر.

اقرأ المزيد عن Django هنا - مسؤول Django. ابحث عن البرامج التعليمية والدورات لتعلم Django: دروس جانغو.

ما هو إطار القارورة؟

Flask هو أيضًا إطار عمل قائم على Python ، مثل Django العظيم ، ويستخدم بكثرة في تطوير تطبيقات الويب. تم إنشاؤه بواسطة Armin Ronacher مرة أخرى في عام 2010 وهو متاح حاليًا بموجب ترخيص BSD للاستخدام المجاني.

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

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

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

من يستخدم Flask؟

ظهر Flask بعد خمس سنوات من Django ولكنه سرعان ما أصبح الإطار المفضل لمطوري ويب Python. إذا أعطتك نجوم GitHub أي إشارة ، حتى كتابة هذه السطور ، فإن Flask لديه 56 ألف نجمة مقابل 58 ألف نجمة لـ Django. بالنظر إلى فجوة الخمس سنوات ، يبدو أن Flask يثير إعجاب المطورين أكثر من Django. 

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

على سبيل المثال ، استخدمت Airbnb Flask لإنشاء مكتبة إدارية لمشروع Airflow. Twilio من ناحية أخرى ، يستخدم Flask لواجهات برمجة التطبيقات الخلفية. تشمل المنظمات الأخرى التي تستخدم Flask أمثال Uber و Pinterest و Netflix.

اقرأ المزيد عن Flask هنا: مسؤول قارورة. ابحث عن البرامج التعليمية هنا: دروس قارورة.

Flask vs Django: عنيد أم لا؟

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

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

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

جانغو

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

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

قد تواجه العديد من المناطق في Django عندما لا يكون من الممكن لمس طرق ذلك وعليك اتباع النهج الموصوف فقط.

هناك أيضًا مناطق يمكنك من خلالها الاختيار من بين الخيارات المحددة المتنوعة لتحقيق مهمة البرمجة المحددة ، ولكن لا يزال بإمكانك تجاوز حدود Django. 

كملاحظة جانبية ، رأيي الشخصي هو أن إبداء الرأي أو عدمه لا يؤثر بشكل كبير على قرار Flask vs Django في المشروع ولكن استمر في القراءة لإبداء رأيك.

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

في حين أن أفضل طريقة لتسريع التطوير هي المضي قدمًا في وضع الرأي ، إلا أن المطورين ذوي الخبرة يميلون إلى الانحراف مع مراعاة احتياجات المشروع الإجمالية وقابلية التوسع.

قارورة

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

إذن ، ما هي الحاجة إلى Flask؟ احتاج المطورون إلى إطار عمل أكثر مرونة ليناسب المكدس الحالي وحل جزء من اللغز بسهولة.

صورة

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

مع Flask ، كل شيء مرتبط بشكل فضفاض للغاية ، وغير مرن للغاية ، ويترك بأيدي المطورين. يحدث هذا أيضًا ليكون الفرق الرئيسي بين Flask و Django من بين العديد من الآخرين.

منحنى التعلم: Flask vs Django Python Framework

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

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

لهذا السبب ، إذا تركنا حجم التطبيق وتعقيده جانبًا ، فسيكون تعلم Flask أسهل بكثير.

قابلية التوسع وأداء التطبيق

تعتمد قابلية التوسع على لغة البرمجة الأساسية وبناء / معمارية التطبيق وتكوين الأجهزة. نظرًا لأن كلا الإطارين يعتمدان على Python ونظرًا لأننا نعتزم توفير تكوين أجهزة مماثل ، فإن مناقشتنا تتقلص في الغالب إلى بنية التطبيق وبنيته.

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

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

إذا كنت تعمل على تطبيق ضخم في Flask ، فيجب عليك اتخاذ جميع الخيارات الصحيحة لإنشاء تطبيق قابل للتطوير.

من ناحية أخرى ، يمنحك Django أداءً ثابتًا للتطبيق وقابلية التوسع إذا التزمت بوصفة Django ولم تنحرف كثيرًا.

بعد أن قلت كل هذا ، لن تكون قادرًا على تمييز Django كفائز واضح على Flask أو العكس.

وفي الختام

Django هو الأخ الأكبر من حيث الحجم والعمر ولهذا السبب له بصمة أكبر بشكل عام. ومع ذلك ، فإن شعبية Flask تنمو بسرعة ومعدل نمو Flask أسرع بكثير من Django.

مع الاتجاه الحالي ، يمكن أن يتفوق Flask على Django من حيث الشعبية وعدد الطلبات والوظائف والراتب في العامين المقبلين. 

هذا يقودنا إلى نهاية هذه المقارنة. سنكون سعداء لقراءة رأيك حول الاختلافات الرئيسية بين Flask و Django. لذا ، يرجى التعليق ومشاركة المعرفة مع الآخرين عبر قنوات التواصل الاجتماعي. شكرا لقرائتك!!

قد يعجبك ايضا -

دروس ودورات إطار عمل Django

دروس ودورات Flask

ظهرت أيضًا في

جار التحميل…

الاوسمة (تاج)

انضم إلى Hacker Noon

قم بإنشاء حسابك المجاني لفتح تجربة القراءة المخصصة الخاصة بك.

أفلاطون. Web3 مُعاد تصوره. تضخيم ذكاء البيانات.
انقر هنا للوصول.

المصدر: https://hackernoon.com/flask-vs-django-which-should-you-learn-7j3637i8؟

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة