
رؤية النفق
لقد حدث أن العديد من تطبيقات الويب مكتوبة بلغة بيثون. تمت مشاركة مكان تطوير بيثون تقريبًا بالكامل بين لاعبين يتمتعان بصحة جيدة - جانغو وفلسك. لذلك ، هناك نسبة كبيرة من المبرمجين بيثون مكرسون للعمل مع هذين الإطارين.
لهذا السبب ، لدى العديد من مطوري Python نوع من رؤية النفق - مقاربة الهندسة الخاصة بهم مغلقة بين المكتبتين.
لا يقتصر بعض المبرمجين على Djano و Flask ويضيفون كل أنواع الأشياء الجديدة إلى أدواتهم القتالية. على سبيل المثال ، إطار ساني المألوف.
التحول التكتوني: من WSGI إلى ASGI
خلال فترة التكيف السريع لبيثون مع احتياجات تطوير الويب ، توصل المجتمع إلى معيار WSGI - Web Server Gateway Interface. يصف هذا البروتوكول كيف يمكن لخادم الويب إرسال طلبات HTTP للمعالجة في تطبيق Python وتلقي الردود من هناك.
مهدت WSGI الطريق لتطوير العديد من أطر تطوير المكتبات والمكتبات. كانت جميعها مختلفة في بنيتها ، ولكن نفس الشيء في طريقة التواصل مع خادم ويب خارجي. تم تقديم WSGI من قِبل المجتمع منذ عام 2003 ، وما زالت جميع أطر الويب الشهيرة التي تعمل بالحيوانات الأليفة (بما في ذلك Django و Flask) تدعمها.
بدأت مشاكل WSGI بعد ظهور أدوات قوية لتنفيذ التعليمات البرمجية بشكل غير متزامن و coroutines في بيثون الأساسية. WSGI قديم ولا يركز على الإطلاق على العمل مع ميزات اللغة الجديدة. لذلك ، كانت هناك حاجة لبروتوكول جديد غير متزامن لتوصيل خادم الويب ببرامج Python. هكذا ظهرت ASGI (واجهة بوابة الخادم غير المتزامنة) - سليل أيديولوجي من WSGI ، ولكن مع coroutines وغير متزامن.
تم وضع مطوري الأطر القديمة كرهائن من قِبل جمهورهم - فهم ببساطة لا يمكنهم أخذ إطاراتهم ونقلها إلى النهج غير المتزامن (سيؤدي ذلك إلى كسر الشفرة وتدمير التوافق) ، لذلك تركز كل التطوير باستخدام ASGI في أطر عمل جديدة تم إصدارها في العامين الماضيين ، و جانغو.
Starlette - إطار رائع

Starlette هو إطار جديد ، ذكي ورائع ينفذ نهج ASGI. كل شيء عن ذلك يركز على رقائق غير متزامنة وجديدة لفرع بيثون الثالث.
بالإضافة إلى ذلك ، Starlette لديه مجموعة كاملة من الأشياء الجيدة خطيرة.
- GraphQL من خارج منطقة الجزاء. نعم ، تبدأ هذه الطريقة الجديدة لتطوير تفاعلات خادم العميل في دفع REST وتأخذ مكانها في عالم إطارات الويب.
- مآخذ الويب مدمجة بالفعل وجاهزة للعمل.
- مجموعة جاهزة من الوسيطة للعمل مع الترخيص / المصادقة ، CORS.
- المدمج في المهام غير المتزامنة.
غسول صلب - FastAPI

بعض مبرمجي Starlette أعجبوا بشدة وقاموا بإنشاء امتداد لهذا الإطار - FastAPI
في الواقع ، يعد تطبيق FastAPI بمثابة وصمة عار على فصول Starlette الأصلية ، مما يضيف مجموعة من الميزات الجديدة إلى الإطار الجيد بالفعل.
- الكعك لإنشاء خدمات REST API + وثائق Swagger للأساليب. تركز Starlette على GraphQL العصري ، فاستبابي يهتم بمن شاهدوا REST .
- أدوات مريحة مبنية على أنواع تلميحات الأدوات من المتغيرات. على سبيل المثال ، أجهزة التحقق من صحة البيانات المضمنة.
- فائدة لطيفة لعمليات المصادقة والتوثيق - دعم JWT ، OAuth2.
وعدد من وسائل الراحة والمرافق الصغيرة.
في المخلفات الجافة
حان الوقت لتغوص في عالم ASGI وأطرها (ما لم تكن قد فعلت ذلك بالفعل). لا تزال الحلول غير المتزامنة بعيدة عن السيطرة على السوق ، ولكنها تتقدم بنشاط. وأولا وقبل كل شيء - بسبب سرعته.