لقد قمنا ببعض التغييرات هنا !

اسمح لنا أن نعرفك على موقع نقرة بحلته الجديدة ! اختر القسم من القائمة لنوضح لك ما الذي حدث !

تنمية المحتوى العربي

الآن , أصبح تركيزنا الأكبر في نقرة على صناعة المحتوى وتعميمه , نعمل بشكل يومي لتوفير مقالات ذات جودة عالية من مصادر موثوقة لتحسين واقع الانترنت العربي, نحن في مهمة - كما الجميع - لتنمية التواجد العربي على الانترنت

لماذا ؟

قمنا ببحث بسيط , و وجدنا نتائج مخيفة ! يتحدث اللغة العربية ما يقارب 310 مليون شخص في حين أن المحتوى العربي لا يزيد عن 0.7% من محتوى الانترنت العام , و نصف هذا المحتوى محتوى غير هادف و أدنى من الجودة الحقيقية للمجتمع العربي , لذا كان لابد لأحدنا أن يتقدم في مسيرة لتحسين واقع الانترنت العربي .

خدمة سؤال و جواب

ملتزمون بدعمنا لجميع خدماتنا السابقة , لا تزال خدمة سؤال و جواب فعالة كما كانت من قبل , الفرق الوحيد هو انتقالها الى رابط فرعي على الموقع

لا تزال هذه الخدمة محل اهتمامنا كما هي محل اهتمام الكثير من مستخدمي الموقع , يمكنكم زيارة موقع خدمة سؤال و جواب من هنا , كل شيئ سيعمل كما كان في الماضي

qa.naqrah.net

ماذا عن حسابي ؟

كل شيئ تماماً كما تركته ! لا يوجد أي تغييرات في حسابات المستخدمين نهائياً

يمكنك تسجيل الدخول , تسجيل الخروج , تعديل بيانات الحساب , الاشتراك بالقائمة البريدية تماماً كما كنت تفعل سابقاً

حسابك الشخصي

تحديث السياسات

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

سياسة الخصوصية و شروط الاستخدام

الخطوات التالية

الآن , بعد أن تعرفت على التحديثات الحاصلة في الموقع , سننتقل للخطوة التالية

نستطيع توفير مقالات مخصصة لك و تتمحور حول اهتماماتك , نحتاج منك أن تعرفنا باهتماماتك! سنفعل ذلك في الصفحة التالية ...

اختيار الاهتمامات
  • تنمية المحتوى العربي
  • خدمة سؤال و جواب
  • ماذا عن حسابي ؟
  • تحديث السياسات
  • الخطوة التالية

كيف أختار أفضل اطار عمل php لمشروعي ؟

كيف أختار أفضل اطار عمل php لمشروعي ؟

لغة PHP هي واحدة من أكثر لغات البرمجة شهرة وانتشاراً , وهي أكثر لغة برمجة مستخدمة في برمجة مواقع الويب ( وظيفتها الأساسية بطبيعة اﻷحوال) , فحتى اللحظة لم تستطع لغات قوية ك Python او Node.js التغلب عليها .

PHP واسعة الانتشار بشكل رهيب , فمن أهم الأمثلة التي تستخدم هذه اللغة هو موقع Facebook و أيضاً ووردبريس , وتمثل ووردبريس ما يقارب 28% من الويب أما php فتحتل مكانة متقدمة بما يقارب ال 82% (يشمل هذا الاحصاء المواقع التي يمكن معرفة لغة ال Server-Side الخاصة بها) .

في هذه المقالة , سنتحدث عن أهم أطر عمل PHP وأشهرها : Laravel , Symphony , Yii وسنوضح كيف يمكننا المقارنة بينهم لاكتشاف ايهم الأفضل لاتمام مشروعك!

لم علي استخدام اطار عمل PHP ؟

ما الهدف من استخدام اطار عمل PHP بدلاً من العمل باستخدام اللغة الأصلية ؟ اليك بعض الفوائد:

1- اطار عمل PHP يجعل تطوير المشروع أسرع وأكثر انتاجية : كمثال , لن تكون مضطراً لكتابة استعلام قاعدة بيانات طويل و معقد لاستخراج حقل معين أو معلومة معينة, اطر عمل PHP تأتي مجهزة لاتمام هذه المهمة بسطر واحد.

2- أطر العمل تساعد المبرمج على تطوير المشروع بسهولة : عند استخدامك لاطار عمل ستجد بيئة منظمة , سيسهل الأمر عليك تكبير حجم منتجك لاحقاً دون تعقيدات أو أخطاء , وهذا الأمر يصعب تحقيقه باستخدام لغة البرمجة بشكل مباشر لما يتطلبه من تخطيط معمق وجهد كبير

3- صيانة الكود تصبح أسهل في أطر العمل : كما السبب السابق , طالما ان اطار العمل منظم وواضح المعالم فلن تواجه مشاكل عند صيانة الكود , ففكرة التنظيم هنا بحد ذاتها كافية لتسهيل الكثير من المهام

4- بيئة MVC تضمن تطوير سريع وجودة عالية : أطر العمل غالباً ما تأتي بمبدأ MVC والذي يرمز الى Model , View , Controller وهو نظام تنظيم برمجيات شهير , يسمى اصطلاحاً باللغة الانجليزية MVC Pattern

5- الحماية العالية : تأتي أطر عمل PHP مجهزة ومحمية من الثغرات و المشاكل المعروفة ك SQL Injection وغيره من الاساسيات وحتى بعض المشاكل المتقدمة ك CSRF وغيرها , وهذه ميزة ايجابية جداً لا يمكنك تجاهلها

مقال مرتبط : أهم أساليب الحماية من الاختراق لابد لكل مالك موقع أن يعرفها

6- لا تكرر نفسك , Don't Repeat Yourself : على مبدأ اختراع العجلة تقريباً , يشمل علم البرمجة مبدأ يختصر ب DRY لا تكرر نفسك , لا تكرر كتابة نفس الكود مرة أخرى بل ضعه في Function واستخدمه من خلالها , توفر أطر العمل قفزة نوعية في هذا المجال بالذات

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

كيف أختار اطار عمل PHP الأنسب لمشروعي ؟

أجب عن الأسئلة الآتية , ستساعدك على اختيار اطار العمل المناسب...

ما هي مميزات اطار العمل هذا ؟

اسأل نفسك هذا السؤال , هل يحتوي اطار عمل لارافل Laravel مثلاً على نظام توجيه Routing ؟ هل يحتوي على أنظمة حماية كافية لمشروعي ؟ هل نظام التوجيه في سيمفوني Symphony أفضل منه في لارفل Laravel ؟

هل تعلم اطار العمل هذا سيأخذ وقتاً كبيراً ؟

هل اطار العمل يدعم زيادة حجم المشروع Scalable ؟

هل اطار العمل لازال قائماً ومدعوماً من قبل مطوريه الأساسيين ؟

هل يوفر اطار العمل دعم طويل المدى LTS ؟

ما هو وضع جمهور اطار العمل ؟ هل هو متفاعل ويجيب على الأسئلة ؟

ستجد أن أجابات الأسئلة السابقة ستعطيك فكرة جيدة عن الأفضل , والأمر في النهاية عائد لمشروعك فأي الاجابات كانت أكثر ايجابية من غيرها ؟ هكذا ستحدد اطار العمل الأنسب.

لارافل Laravel , سيمفوني Symphony و Yii ييي

قبل أن ندخل في التفاصيل العميقة , سنطرح الان بعض المعلومات الاساسية عن أطر العمل السابقة

سيمفوني Symphony

سيمفوني Sympony هو عبارة عن اطار عمل مكون من عدة اجزاء قابلة لاعادة الاستخدام Components , توفر للمبرمج انشاء تطبيقات عالية الجودة و قابلة للتوسع و التكبير بسهولة عبر الاختيار من 30 حزمة تتكون منها Symphony , الكثير من المواقع المعروفة تستخدم اطار عمل سيمفوني Symphony مثل دوربال Durpal و phpBB

في الواقع , اطار عمل لارافل Laravel الذي يعتبر أشهر اطار عمل PHP مبني في الأساس على سيمفوني Symphony !

لارافل Laravel

لارافل , المعروف باسم "اطار عمل PHP لفناني الويب" يوفر مجتمع ممتاز ومتفاعل جداً , وربح جائزة أشهر اطار عمل php لأعوام على التوالي , و اعتباراً من عام 2015 بدأ فريق تطوير لارافل Laravel باطلاق اصدارات تحمل دعم على المدى الطويل لمدة سنتين , توفر عدة شركات استضافة شهيرة اضافات الى لوحة التحكم تسهل التعامل مع لارافل Laravel

من المميزات الرائعة في لارافل انها تحترم قلوب المصممين ! فتوفر حزمة Laravel-mix لمعالجة SASS و ES6 , كما تأتي مضمنة معها اطار عمل Vue.js , و ان أردت التعرف بعمق أكثر على لارافل فاليك هذا المقال : ما هو لارافل Laravel ؟ تعرف على أهم اطار عمل للغة PHP

ييي Yii

من أصعب أطر العمل في نطق اسمها :) , انشئها شيانغ شو عام 2008 , Yii آمنة وسريعة وعالية الأداء , تستخدم Yii كومبوزر Composer لادارة حزمها , وتعتبر Yii أسرع اطار عمل PHP والشكر طبعاً لتقنية التحميل المستخدمة فيها Lazy Loading.

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

كيف تتم المقارنة بين أطر عمل PHP

جميع أطر العمل السابقة ممتازة لبناء تطبيقات ويب حديثة , يأتي كل منها على ميزات مخصصة سنعمل على المقارنة بينها

محرك النماذج Templating Engine

سيمفوني Symphony يستخدم محرك Twig

يستخدم سيمفوني محرك Twig ,وهو محرك نماذج حديث في PHP , يستخدم لكتابة اكواد نظيفة وسهلة الصيانة وقابلة للتوسع طبعاً , وهذا مثال بسيط على الكتابة باستخدام Twig

{{ var }} {{ var|escape }} {{ var|e }} {{# shortcut to escape characters # }}

يمكنك التعرف أكثر على محرك Twig عبر موقعهم الرسمي : https://twig.symfony.com

لارافل Laravel يستخدم محرك Blade

على عكس باقي محركات النماذج , يسمح لك محرك Blade بكتابة أكواد php مباشرة داخل ملف ال فيو View , كذلك , محرك Blade لا يسبب أي مشاكل في سرعة و أداء الموقع لانه يخزن ضمن ملف من نوع blade.php ويتم تحويل جميع الأكواد الى أكواد php عادية خلال عملية المعالجة.

مثال على Blade لعرض متغير :

@php 
 $siteheading = "Site Title";
@endphp
<h1>{{ siteheading }}</h1>

يي Yii لا يستخدم محرك بشكل مباشر

لا يوفر يي Yii أي محرك من جهة خارجية كما الأمر في لارافل وسيمفوني , لكن هذا لا يعني عدم توفر هذه الميزة في يي Yii , يمكنك استخدام المحرك الذي يناسبك وتضمينه في مشروعك ! يوفر اطار عمل يي Yii دعم لمحرك Twig أيضاً , فان كنت من مبرمجي سيمفوني السابقين فيمكنك استخدام محركك المفضل ضمن مشروع يي Yii القادم !

اذاً من الفائز هنا ؟ لا يبدو لي أن هناك فائز واضح فجميع المشاركين متقاربي النتائج , ربما هناك نقطة اضافية ل يي Yii كونه يسمح باستخدام محرك النماذج الي تفضله ولا يلزمك بمحرك معين.

اختلافات اطارات العمل في PHP

تم انشاء كل اطار عمل بشكل مختلف , يعمل سيمفوني Symphony على نمطية المكونات Components القابلة لاعادة الاستخدام مما يوفر أفضل نمطية للمشروع , يدعم سيمفوني طريقة عمل Model Controller التي قد تبدو صعبة قليلاً للمبتدئين , لكنها في الواقع من أفضل الطرق في هيكلة المشاريع , أيضاً سيمفوني هو مضرب المثل عند الحديث عن معيارية البنية , فتوفر لك 30 مكون يمكنك استخدمهم بطريقة معيارية وسليمة.

يستخدم يي Yii و لارافل Laravel مبدأ MVC كم ان سيمفوني تدعم ذلك أيضاً , ويوجد الكثير من النقاش حول أيهم أفضل اطار عمل للمشاريع الضخمة و أغلب الآراء تنحاز ل سيمفوني و لارافل على حساب يي , تستخدم يي المكونات و لكن ليس بنفس الطريقة التي يستخدمها سيمفوني , فان كنت تبحث عن المعيارية فسيمفوني هو الخيار الأفضل , عد عن ذلك فلارافل و يي خياران ممتازان أيضاً

طريقة التنصيب

توفر اطر العمل الثلاثة طرق تنصيب متعددة , وان كنت من محبي الملحن Composer فالخبر السعيد ان جميع أطر العمل المذكورة توفر امكانية التنصيب عبره!

بالنسبة لسيمفوني فان دور الملحن أكثر أهمية , أفضل طريفة للتعامل مع مكونات سيمفوني هي مدير الحزم Composer

مقال متصل : ما هو Composer ؟ تعرف عليه و على طرق استعماله

وهناك طرق أخرى لتثبيت أطر العمل , فان كنت تكره سطر الأوامر يمكنك ببساطة تنصيبه عبر فك ملف مضغوط في جذر الموقع , جميع الأطر السابقة توفر مشروع تجريبي للعمل عليه يتكون من صفحة بسيطة وبعض المكونات الأساسية , وبالنسبة لتنصيب لارافل يمكنك ذلك عبر كومبوزر او حزمة تنصيب لارافل نفسها , يمكنك التعرف على مزيد من التفاصيل عبر توثيق لارافل او عبر المقال التالي: ما هو لارافل ؟ تعرف على أهم اطار عمل للغة PHP

سرعة التطوير وانجاز المهام

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

الأداء

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

مواقع التواصل الاجتماعي هي أفضل مثال عن تطبيقات الوقت الفعلي , فعند الحديث عن هذا النوع من التطبيقات نحتاج اطار عمل عالي الاداء , فيبرز هنا اطار يي كأسرع اطار عمل ضمن مجموعتنا.

أداء لارافل يمكن التفصيل و النقاش فيه بصورة كبيرة , لكن الواقع أنه الأبطأ , لكن هل هذا مهم حقاً ؟ يوجد الكثير من الاضافات على Github يمكنها تسريع اطار عمل لارافل ونقله الى المستوى التالي.

التعامل مع قواعد البيانات

سيمفوني هو الأفضل في دعم قواعد البيانات , فهو يدعم كمية أكبر من انواع قواعد البيانات عن منافسيه , يدعم سيمفوني انواع كثيرة ك noSql , MongoDB , Mysql , Microsoft BI وغيرها , ويدعم باقي اطر العمل جميع قواعد البيانات الأساسية , لكن يبقى سيمفوني في المقدمة عن الحديث عن قواعد البيانات

مجتمع المطورين و موارد التعلم

المعيار الأساسي لدوام نجاح اطار عمل معين هو قوة وتفاعل مجتمع المبرمجين ورائه , وبما ان سيمفوني ناضج أكثر من منافسايه فيتصدر القائمة في هذه النقطة ولكن ليس لوقت طويل , فلارافل منطلق بقوة نحو المقدمة حيث ينمو مجتمع مبرمجيه بشكل متسارع في الآونة الأخيرة , ولا يتخلف يي عن الركب كثيراً لكنه يحمل المركز الأخير في هذه المقارنة.

مواد التعليم الرسمية للأطر الثلاثة:

Laravel documentation

Symfony documentation (3.0)

Yii documentation

قابلية التحسين و الاضافة

أطر العمل عبارة عن هياكل يمكن تحسينها وتغذيتها بالاضافات و الحزم , و عند الحديث عن أرقام الحزم فيتصدر لارافل المعركة هنا , فيوجد ل لارافل ما يزيد عن 9 آلاف حزمة مسجلة وهو تقريباً ضعف ما تقدمه سيمفوني و يي مجتمعين , لذا ان كان هناك منافسة في هذا الصدد فتفوز لارافل بلا منازع.

في النهاية ...

اذا نتيجة معركتنا السابقة لم ولن يتم حسمها , فنجد ان النتائج متقاربة ما بين أطر العمل الثلاث لذلك سيكون الحكم في النهاية للتجربة , كرأي شخصي فأنا افضل التعامل مع لارفل كونها الاسهل و الأكثر نشاطاً وسرعة في التطور , وبما اني قادم من خلفية تصميمة فأجد اهتمام لارفل بموقعهم أمر ميميز بالنسبة لي !

شاركنا رأيك حول اطار العمل الأفضل برأيك في التعليقات!