قبل سنوات, حينما كنت أرى التطبيقات العملاقة مثل instagram وyoutube, خصوصاً أنها تحتوي على عدة خصائص مثل:
- نظام تسجيل مستخدمين (تسجيل دخول, تسجيل جديد, إستعادة باسورد… إلخ).
- رفع صور أو فيديوهات.
- عرض المحتوى (منشورات/فيديوهات).
- التفاعل مع هذا المحتوى (لايك, كومنت… إلخ).
… إلخ
كنت أتسائل وقتها:
" كيف أنجزت هذه المواقع مع كبر حجمها في وقت وجيز, وهل كتبوا كل سطر برمجي بأنفسهم ؟؟ "
هنا تمكن الإجابة يا صديقي, أغلب التطبيقات العملاقة لم تنجز من الصفر لأنها مضيعة للوقت والجهد…
لكن كيف؟ من أين أتى المبرمجين بأدوات جاهزة؟
لا تقم بإعادة اختراع العجلة
هنا يأتي دور إطارات العمل أو الـ frameworks.
بإمكانك تخيلها مثل الهيكل الذي تبني عليه موقعك تماماً مثل الصورة بالأعلى.
بحيث يأتي إطار العمل ليوفر لك العديد من الوظائف المشتركة في أغلب البرمجيات مثل:
- تسجيل مستخدم user registration.
- التعامل مع قواعد البيانات.
- استقبال الطلبات لفتح صفحة معينة.
… إلخ
إطارات العمل تساعد المبرمجين لإنجاز برمجياتهم بسهولة وسرعة, بدلاً من تضييع الوقت في كتابة كل الأسطر البرمجية من الصفر, ليحصلوا في الأخير على البيت الفعلي (المبني على الهيكل - إطار العمل):
ماهي أشهر إطارات العمل ؟
كل لغة برمجة لديها إطارات عمل خاصة بها, سأستعرض معكم أشهر إطارات عمل لكل من لغتي Python و JavaScript كونها أشهر لغات
إطارات عمل بايثون Python Frameworks
لغة بايثون تهتم بجانب النظم الخلفية للمواقع الإلكترونية back-end, أي أنها تتعامل مع قواعد البيانات, تسجيل المستخدمين, وما إلى ذلك.
إطارات العمل التي لها أكبر صدى للغة البايثون هما:
1. جانقو Django
يأتي إطار العمل جانقو مشبع بالأدوات المدمجة, لا يوجد أي شيء تحتاجه فيه إلا وتجده, وغالباً تجد هذه الأدوات مع هذا الإطار.
وإذا أردت نظام تسجيل المستخدمين (مع دمج خصائص التسجيل عبر السوشال, مثل فيسبوك انستقرام… إلخ), ستجد باكج متكاملة اسمها django-all-auth
وفي حال أردت تطوير RESTful API فستجد باكج متكامل يقوم بمساعدتك في إنجازها وهو django-rest-framework
2. فلاسك Flask
لدى هذه الفريمورك فلسفة مختلفة, لأنها تعتبر إطار عمل مصغر micro web framework.
بإمكانك النظر إليها كالنسخة المعاكسة لجانقو, فهي تحتوي على أقل عدد من الأدوات المدمجة, ولكن هذا لا يعني وجود الأدوات.
أغلب الأدوات التي تحتاجها مع فلاسك هي غالباً باكجات تم تطويرها من قبل مجتمع المطورين (أغلبها على github).
مثلاً للتعامل مع قواعد البيانات لا يوجد باكج مدمجة كما هو الحال في جانقو, وإنما ستحتاج إلى SQL Alchemy
إطارات عمل جافا سكربت JavaScript Frameworks
صدقني, لا يمكن لأي لغة أن تغلب جافا سكربت في أي حال من الأحوال
لأنها اللغة الرسمية الوحيدة في بناء الواجهات الأمامية للمواقع الإلكترونية front-end, صحيح أنها قادرة على القيام أيضاً بوظائف back-end ولكن الاستخدام السائد هو في مجال الواجهات الأمامية.
سأذكر لك هنا أقوى اثنين إطارات لهذه اللغة المتعلقة بالـ front-end:
1. مكتبة React
نعم, هي مكتبة library وليست إطار (أدرجناها ضمن القائمة لأنها تقوم بوظيفة مشابهه).
تعرف لما هذه أشهر مكتبة حالياً ؟
ببساطة, لأن شركة فيسبوك هي من قامت بتطويرها
هذه المكتبة تعتمد على جعل كل الكود الذي تكتبه في الواجهة الأمامية مكون من JavaScript بشكل رئيسي.
أي أنك ستكتب أكواد HTML داخل JavaScript (وليس العكس, كما هو السائد في الطريقة الإعتيادية).
بإمكانك الإطلاع على بعض الأمثلة المكتوبة في هذه المكتبة هنا:
2. إطار Vue
لا شيء أجمل من السهولة !
إذا كنت تعرف أساسيات HTML CSS JavaScript, فأنت جاهز لتعلم هذا الإطار… بهذه البساطة
الصيني Evan You كان يعمل في شركة قوقل وكان يستعمل إطار العمل خاصتهم AngularJS, لاحظ Evan أن إطار العمل خاصتهم معقد وبالإمكان جعله أسهل وأجمل.
وفي عام 2014, قرر بناء إطار العمل Vue.js ليصبح من أشهر أطر العمل في لغة جافا سكربت.
ماهي المتطلبات لتعلم إطارات العمل frameworks ؟
للدخول على أطر العمل في أي لغة برمجة, فأنت تحتاج لفهم أساسيات لغات البرمجة.
العديد من المبرمجين الجدد يخطأوا بالبدء بتعلم اطار عمل, ثم يتفاجئ أنه لا يفهم الكثير من الأمور… هذه الأمور هي الأساسيات يا صديقي
إذا كنت تريد تعلم أساسيات البرمجة, فأكثر مكان أنصحك به هو أكاديمية كورتابز لتدريب المبرمجين: