1 فریمورک مناسب برای پروژه PHP خود انتخاب کنید
استفاده از FrameWorkها در توسعه وب مزایای بسیاری دارد که البته باید برای هر پروژه فریمورک مناسب آن کار را انتخاب کنیم تا بتوانیم از تمامی مزایای آن استفاده کنیم.
در این مطلب با مجیدآنلاین همراه باشید تا بتوانید یک فریم ورک مناسب برای کار خود انتخاب کنید.
دارالترجمه رسمی
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 60 زبان زنده دنیا
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 60 زبان زنده دنیا
افزونه های سئو وردپرس
بهترین افزونه های سئو وردپرس به صورت کاملا فارسی
بهترین افزونه های سئو وردپرس به صورت کاملا فارسی
افزونه فرم ساز آسان
فرم ساز آسان اولین فرم ساز کاملا فارسی وردپرس
فرم ساز آسان اولین فرم ساز کاملا فارسی وردپرس
خرید ورق گالوانیزه رنگی
خرید انواع ورق گالوانیزه رنگی با بهترین قیمت
خرید انواع ورق گالوانیزه رنگی با بهترین قیمت
کارگاه رویه کوبی در تهران
بهترین کارگاه رویه کوبی و تعمیر مبل راحتی و استیل در تهران با قیمت و کیفیت عالی
خودتان را اینجا معرفی کنید
بهترین کارگاه رویه کوبی و تعمیر مبل راحتی و استیل در تهران با قیمت و کیفیت عالی
FrameWork (فریمورک) چیست؟
فریم ورکها مجموعه ای از کدهای از قبل طراحی و نوشته شده هستند که توسط سایر توسعهدهندگان و غالبا بصورت OpenSource توسعه داده شده است. فریمورکهای PHP کدنویسیهای وب را با استفاده از componentهایی که دارند برای توسعهدهندگان آسانتر میکنند. به عنوان مثال برای احراز هویت کاربر (user authentication) نیازی نیست از ابتدا تحلیل و طراحی و برنامه نویسی کنید، چون از قبل کامپوننتهای زیادی برای اینکار در فریمورکها وجود دارد. به همین دلیل کدهایی که ما مینویسیم استاندارد خواهند بود و در نتیجه باعث میشه برای توسعه، بهینه سازی و رفع باگها کار برنامهنویس بسیار آسانتر شود و همانطوری که پیشتر هم گفته شد باعث میشود زمان و ذهن توسعهدهنده آزاد شود و در نتیجه بتواند برای مسایل پیچیدهتر و مهمتر تمرکز کند.یکی از فریمورکهای مشهور PHP به نام Symfony در وبسایت خودش میگه : "یک فریمورک یک تضمینی برای کیفیت بالا، قابلیت بهروزرسانی و قابلیت نگهداری نرمافزار با کمترین هزینه است" . در وصف این موضوع فریمورک لاراول (یکی از فریمورکهای قدرتمند PHP) هم در سایتش گفته که قول میده که با لاراول میتوانید نرمافزارهای کاربردی زیبایی رو با سرعت بالا توسعه دهید.
مزایای استفاده از FrameWork
اصولا زمانی که شما این مطلب را میخوانید، اهمیت استفاده از فریمورکها را درک کردهاید و نیازی به توضیح و تفسیر اینکه چرا ما باید از فریمورک استفاده کنیم نداریم! اما فقط برای اطمینان مجدد از اینکه هنوز پشیمان نشدهاید که از فریمورک استفاده کنید چند نکته رو یادآور خواهم شد.بطور کل استفاده از فریمورک بیشتر دارای مزیت است تا عیب ! همونطوری که در مقدمه این مطلب هم گفته شد، مهمترین مزیتی که برای استفاده از فریمورکها میتونیم بیاریم اختراع نکردن مجدد چرخ و تمرکز بر روی توسعه و بهینه سازی چرخ هستش، که اینجا منظور از چرخ، کدهای توسعهداده شده است.
ولی بطور کل مزایای استفاده از FrameWork در توسعهها برای توسعهدهندگان عبارتند از:
- نظم و سازماندهی شدن کدها و فایلهای پروژه
- استفاده از ابزارهای و کتابخانههای از پیش تعریف شده
- استفاده از الگوی MVC
- امنیت بالاتر
- کدنویسی کمتر و سرعت توسعه بیشتر
- امکان استفاده از کمک سایر توسعهدهندگان بدلیل استاندارد بودن روش توسعه
- موقعیتهای شغلی مشخص و تعریف شده
- ابزارهای بهینه سازی
- مناسب برای کار و توسعه تیمی
- کلا باحاله
سوالاتی که برای انتخاب فریمورک باید پرسیده شود
درسته که استفاده از فریمورکها مفیده، اما این خیلی مهمه که برای چه پروژهای، چه فریمورکی را انتخاب کنیم؟ برخی از فریمورکها برای تولید یک سری نرمافزارهای اختصاصی توسعه داده شدهاند و مسلما اگر ما آنها را اشتباه برای کار دیگری استفاده کنیم نه تنها برای ما مفید نخواهند بود بلکه کارها بسیار دشوارتر و پیچیدهتر خواهد شد.در اینجا ما ۵ سوال داریم که باید قبل از انتخاب یک فریمورک مناسب برای کار از خودمان بپرسم و به آنها پاسخ دهیم تا بتوانیم فریمورک مناسب را انتخاب کنیم.
- من چه کارایی و قابلیتی از فریمورک انتظار دارم؟ (من به دنبال چه کامپوننتها و کدهای از پیش تعریف شده ای هستم؟)
- اگر برایم سوالی بوجود آید آیا منابعی برای گرفتن پاسخم وجود دارد؟
- چه کسانی بر روی این فریمورک فعالیت دارند و آنرا توسعه میدهند؟
- چه مدت زمان درگیر یادگیری آن خواهم بود؟
- سایر کسب و کارهای حوزه کار من از چه فریمورکهایی استفاده کردهاند؟
چهار فریمورک محبوب PHP عبارتند از : تمامی فریمورکهای فوق بصورت Open Source منتشر میشوند و میتوانید هر کدام را که بخواهید انتخاب کنید.
برای اینگه بتونید برای پروژه بعدی خودتون یک فریمورک مناسب پیدا کنید، چهار فریمورک بالا رو مورد بررسی قرار میدیم.
فریمورک Symfony
Symfony توسط شرکت فرانسوی SensioLabs توسعه داده شده است، SensioLabs دورههای آموزشی به زبانهای مختلف و در مناطق محتلف برای آموزش Symfony دارد که در نهایت پس از گذارندن دورهها میتونید Symfony Certification را دریافت کنید.تیم توسعهدهنده Symfony بصورت متناوب و هفتگی وبلاگ خود را با موضوعاتی از جمله موارد مهم در زمینه برنامه نویسی با Symfony و همچنین موارد تازهای که در Community این فریمورک رخ داده و بوجود اومده، بهروز میکنه.
انجمن رسمی سیمفونی SensioLabsConnect نام داره که شامل گروههایی با بیش از ۳۰۰ هزار توسعهدهنده از بیش از ۱۲۰ کشور دنیاست و بیش از ۳۴ هزار سوال در سایت StackOverflow و سایر سایتهای مرتبط در خصوص این فریمورک پرسیده شده است.
مدت زمان لازم قابل توجهی برای یادگیری Symfony نیاز است (به دلیل قابلیتهای زیادی که سیمفونی دارد) ولی البته با وجود انجمنها و منابع زیاد و فعال Symfony میتوان زمان یادگیری آن را کمتر کرد.
چه زمانی Symfony را انتخاب کنم ؟
اگر این موارد برای شما مهم است:
- قابلیتها و امکانات واقعا کامل
- ثبات در مرحله enterprise
- انتشار بصورت LTS (انتشار بصورت ۶ ماهه که در نتیجه شما میتوانید همیشه از آخرین نسخه استفاده کنید)
- نیاز به تست واحد (Unit Test) برای تغییرات در نسخههای برنامه جهت بالابردن قابلیت اطمینان برنامه
- وجود roadmap مرتب و تمیز جهت نگهداری نسخههای مختلف Symfony
- دارا بودن بیشترین تعداد بستههای نرم افزار (Bundle) در بین تمامی فریمورکهای دیگر
- انعطاف بالا در پیادهسازی و تغییر کامپوننت مورد نیاز
- آموزش و مدرک رسمی
فریمورک Zend Framework 2
این فریمورک در سال ۲۰۰۶ توسط شرکت Zend که یک شرکت زیرساخت نرمافزاری و پشتیبان رسمی PHP میباشد، توسعه داده شد. دفتر مرکزی شرکت Zend در ایالت کالیفرنیا کشور آمریکا مستقر است.فریمورکهای Symfony و Zend با هم در رقابت هستند ولی این امکان وجود دارد که از المانهای هر دو فریمورک در یک پروژه استفاده کرد.
در سایت StackOverflow حدود ۲۰ هزار سوال در خصوص Zend Framework سوال پرسیده شده و در این زمینه فعالیت صورت گرفته است.
چه زمانی از Zend Framework استفاده کنم؟
اگر این موارد برای شما مهم است:
- ثبات عالی در مرحله enterprise
- شرکتهای بزرگی از جمله Google، IBM و Adobe در اون مشارکت داشته باشند
- sessionها رو بتونید خوب کنترل کنید
- performance نرمافزار
- با ZendStudio و یا ZendServer کار کنید
- آموزش و مدرک رسمی
فریمورک Yii
فریمورک Yii توسط توسعهدهندگان PHP در سرتاسر جهان توسعه و پشتیبانی میشود و شرکت خاصی پشت آن نیست. بر اساس گفته مجله Mashable فریمورک Yii از کش بسیار قوی پشتیبانی میکند و اساسا طراحی شده که با AJAX کار کند.شروع پروژه فریمورک Yii در سال ۲۰۰۸ بود و هم اکنون در سایت StackOverflow بیش از ۳۶ هزار سوال در زمینه این فریمورک پرسیده شده است.
چه زمانی از Yii استفاده کنم ؟
اگر این موارد برای شما مهم است:
- الگوی طراحی MVC
- مدیریت کارآمد خطاها
- پشتیبانی قوی از Ajax
- فریمورکی که توسط توسعهدهندگان ایجاد شده است
- performance بالا و سریع
فریمورک Laravel
فریمورک لاراول خود را "یک فریمورک PHP برای صنعتگران وب" معرفی میکند. این فریمورک بر پایه کامپوننتهای symfony ساخته شده است که میخواهد، شما به سمت فریمورکها بروید و به راحتی و به شکل تمیزی کد بزنید.فریمورک لاراول بسیار ساده و راحت است، اما این بدان معنا نیست که این فریمورک قابلیتهای زیادی ندارد و کارآمد نیست. لاراول هم، مانند همه فریمورکهای PHP یک فریمورک جدی و قدرتمند است که حتی توانسته در مدت چهار سال که از زمان انتشار آن میگذرد در بین محبوبترین فریمورکهای PHP قرار گیرد.
چه زمانی از Laravel استفاده کنم ؟
اگر این موارد برای شما مهم است:
- یک فریمورک که بتوان راحت آنرا یاد گرفت
- تست ساده Unit
- استفاده از Composer برای مدیریت dependencyها
- افزایش استفاده و محبوبیت در بین توسعهدهندگان PHP
- وجود منابع و ویدئوهای آموزشی مانند Laracast
بازدهی فریمورکهای PHP
اندازهگیری میزان بازدهی فریمورکها بسیار کار سختی هستش چون در حالت واقعی پارامترها و مقادیر بسیار متفاوتتر از مقادیر و پارامترهای در حالت تست هستند و بدیل تکنولوژیهای متفاوت بکار رفته در هر کدام کار مقایسه بسیار دشوار میشود.با این وجود و بر اساس مطالبی که در اینترنت منتشر شده است میشه گفت Laravel و Yii از لحاظ performance تا حدی سریعتر از Symfony و Zend هستند که البته میتوان یی از دلایل آنرا هم سبک بودن فریمورکهای Laravel و Yii به نسبت دو فریمورک دیگر دانست.
البته ممکن است در پروژهها و تستهای متفاوت نتایج متفاوتی حاصل شود، اما در یک شرایط یکسان این حالاتی که گفته شد رخ داده است.
فریمورکها مفید هستند اما اجباری نیستند
اینو به خاطر داشته باشید که استفاده از فریمورک در یک پروژه اجباری نیست، اما انتخاب یک فریمورک مناسب و استفاده صحیح از آن در یک پروژه میتواند تا حد زیادی در زمان و هزینه تمام شده پروژه نقش داشته باشد. به نظر من استفاده از فریمورک نشان دهنده حرفهای بودن یا نبودن توسعهدهنده نیست، یک توسعهدهنده حرفهای حتی ممکن است فریمورک شخصی خودش را داشته باشد و حتی برعکس، کسی که از فریمورک استفاده میکند لزوما یک فرد حرفهای به شما نمیآید. اما پیشنهاد میکنم اگر میخواهید سریعتر حس حرفهای بودن رو تجربه کنید و مانند حرفهای ها کار کنید، از ابزارهای حرفهای هم استفاده کنید. این ابزارهای میتوانند فریمورک، محیط توسعه، استفاده از منابع و... باشند.نتیجه گیری
اگر تاکنون از فریمورک استفاده کردهاید و همیشه برای همه پروژههای خود از همان فریمورک استفاده کردهاید، الان وقت آن است که کمی فکر کنید پروژه جدیدی که در دست دارید تا انجام دهید را آیا با همان فریمورک باید کار کنید یا اینکه فریمورک خود را باید تغییر دهید؟ در این مطلب فقط ۴ فریمورک محبوب PHP بشکل خیلی کلی مطرح شد و هدف من در اصل این بود که بگویم شما باید نحوه کار با فریمورک، برنامه نویسی MVC و بطور کل موارد برنامه نویسی را باید بلد باشید و نباید به یک فریمورک خاص وابسته باشید. زمانی که شما اصول برنامه نویسی را بلد باشید میتوانید هر زمان که خواستید، بر اساس پروژه مورد نظر خود فریمورک مناسب را انتخاب کنید و با صرف کمی وقت آنرا یاد بگیرید و از آن در پروژههای خود استفاده کنید.اگر شما هم نظری در مورد مزایا و معایب فریمورکهای PHP دارید از طریق فرم زیر با من و سایر خوانندگان این مطلب به اشتراک بگذارید.
نظرات و سوالات کاربران
من سالهاست برنامه نویس php هستم به نظرم CodeIgniter نیز هم پرطرفدار هست هم قدرتمند ولی در لیست نست.
برای این کار شما میتونی از پکیجهایی که وجود داره استفاده کنی.
مثلا یک نمونهاش این:
github.com/php-telegram-bot/core
yii ham alieh
از همه مهم تر CodeIgniter
عالی بود. لاراول انتخاب خیلی خوبیه، کار با مدلها رو خیلی آسون کرده.
میتونستید Phalcon رو هم توی لیستتون بیارید.