لعلك سمعت من قبل بمصطلح اطار العمل او Framework و تسألت عن ماهو Framework ونحن هنا اليوم للاجابة عن هذا السؤال ولكن قبل تعريف ماهو Framework او اطار العمل سنبدء بشرح ماهى البرمجة؟
محتوي المقال
ماهى البرمجة ؟
البرمجة هى مجموعة من الاوامر التى تنفذ مهمة معينة فى الحاسوب ولذلك لحل مشكلة معينة ولغات البرمجة هى مجموعة من الادوات التى تتيح للمبرمج كتابة التعليمات البرمجية بطريقة سهلة مفهومة للانسان , لان فى النهاية الحاسوب لايفهم إلا لغة 0 , 1.
وكلما كانت النتيجة المطلوبة للبرنامج معقدة كلما كانت الاكواد المستخدمة فى البرمجة اكثر تعقيدًا وتتكرر الكثير من المهام داخل البرنامج وهنا ظهرت الحاجة إلى اطار العمل لتهسيل حياة المبرمجين.
ماهو Framework او اطار العمل ؟
واطار العمل هو مجموعة من الادوات التى تتيح للمبرمج تنفيذ المهام الشائعة دون الحاجة لكتابة كل الكود المطلوب للمهمة من البداية إلى النهاية.
والسبب الاهم الذى يدفع المطورين لاستخدام اطر العمل هو توفير الوقت وهنالك العديد من الفوائد لاستخدام اطر العمل سنتطرق إليها لاحقًا فى هذا المقال.
من الذى ينشئ اطر العمل؟
يقوم غالبًا فرق العمل او الشركات التى تعمل فى مجال البرمجة غالبًا بتأسيس اطر عمل ليسهل عمل المطورين لديهم ويقلل فى الوقت ولاحقًا يقوموا بنشره للعلن للاستخدام من قبل المطورين حول العالم , وهنالك اطر عمل يتم بيعها والاستفادة منها تجاريًا ولكن اطر العمل الاكثر شهرة تلك المفتوحة المصدر او Open Source.
ما الهدف من اطر العمل؟
توفير الوقت
كما ذكرنا من قبل فان الميزة الاهم لاطر العمل هو توفير الوقت , فعملًا بالمبدئ المشهور فى البرمجة وهو لاتكرر نفسك او DRY Don’t repeat yourself او بمعنى اخر لاتعيد اختراع العجلة فمع وجود الحل المسبق للمشكلة البرمجية التى تعمل عليها لحاجة لاعادة التفكير فى حل لهذه المشكلة وبدلًا من ذلك يمكنك استخدام اطر العمل التى توفر لك حلول لتلك المشاكل والمهات الشائعة .
والتطبيقات البرمجية فى الغالب تحتوى على الكثير من المهمات الشائعة فعلى سبيل المثال فى تطبيقات الويب لا يخلو اي موقع ويب من اوامر الاتصال مع قاعدة البيانات او التعامل مع طلبات المستخدم فهذه المهات الشائعة لاحاجة لاعادة كتابتها فى كل مرة.
التأكد من اتباع أفضل الممارسات
ليس السبب الوحيد لاستخدام اطر العمل هو توفير الوقت , فميزة مهمة اخرى وهى الآمن Security , فهى من المهام الحساسة والتى تحتاج إلى الخبرة والفهم الصحيح للغة البرمجة للتغلب علي نقاط ضعف البرنامج , ولكن من الممكن دائمًا ان يرتكب المبرمج الاخطأ ويسمح بوجود نقاط الضعف فى برنامجه ولكن اطر العمل توفر طريقة .
تعمل أطر البرمجة على تسهيل ذلك من خلال تقديم ميزات أمان مضمنة. فعلى سبيل المثال ، يسهل إطار عمل Laravel على المطورين تنفيذ وظائف مهمة مثل المصادقة والتفويض والتحقق من البريد الإلكتروني والتعامل مع قواعد البيانات المختلفة هذه المميزات تجعل التطبيق اكثر امانًا بدلًا من كتابتها يدويًأ وارتكاب الاخطاء التى تجعل التطبيق غير آمن.
اهم اطر العمل المستخدمة فى تطبيقات الويب
يوجد نوعان لاطر العمل المستخدمة فى تطبيقات الويب فهناك جزء مسئول عن Backend او الواجهة الخلفية ومعظم هذه الاطر تتبنى مفهوم MVC وهى اختصار model-view-controller و يهدف نموذج MVC إلى جعل التطوير أسهل من خلال فصل العمل في التطبيق إلى ثلاث طبقات محددة وهى Model المسئول على التعامل مع قاعدة البيانات و View المسئول عن الواجهة التى يتعامل معها المستخدم و Controller وهو الوسيط بين الطبقتين Model و View ويمثل معالج للعمليات المنطقية. وامثلة على االأطر التي تستخدم نمط MVC تشمل :
- اطار عمل Django
- Laravel
- ASP.NET MVC
- Ruby on Rails
- NodeJS.
ام النوع الاخر من اطر العمل هى اطر العمل الواجهة الامامية Frontend وتلك اطر العمل تعمل على المتصفح للمستخدم ومعظمها اطر عمل للغة JavaScript وبعض اطر العمل لتصميمات CSS.
واشهرها اطر عمل جافاسكربت لتصميم SPA او Single Page Applications وتعنى تطبيقات الصفحة الواحدة واهم هذه الاطر:
وفى لتصميمات CSS يوجد اطر العمل المشهور Bootstrap الذى يوفر الكثير من المكونات والتى يمكن استخدامها فى تطبيق الويب الخاص بك بسهولة بدون الحاجة لاعادة كتابة CSS الخاص بهذه المكونات.
اطر عمل تطوير تطبيقات الموبيل
يعد سوق تطوير تطبيقات الموبيل سوق ضخم وواعد فى النمو ولذلك لاتعد مفاجاءة ان يكون هناك العديد من اطر العمل والتى تسهل حياة مبرمجى تطبيقات الموبيل واهم اطر عمل تطوير تطبيقات الموبيل هى :
- اطار عمل Flutter
- اطار عمل Xamarin
- اطار عمل Ionic
- اطار عمل React Native