آشنایی با فریم ورک
فریم ورک مجموعه ای است از مفاهیم، کاربردها و شاخص ها که جهت حل برخی مشکلات کدنویسی در فضای وب کاربرد دارد. البته با مطالعه ساختار یک فریم ورک و استفاده مستقیم از آن در پروژه، می توان با راه حل های مختلفی برای چالش های برنامه نویسی و اسکریپتینگ آشنا شد. فریم ورک در حوزه برنامه نویسی وب مانند یک کتابخانه در سایر زبان های برنامه نویسی است اما گسترده تر و کاربردی تر.
در دنیای طراحی سایت، فریم ورک فایلی حاوی مجموعه کدها و اسکریپت ها در زبان های مختلف توسعه وب سایت از جمله HTML , CSS , JS , PHP , … است که می توان از آن ها جهت حل برخی مشکلات توسعه وب سایت بهره برد یا حتی یک وب سایت را با کمک آن ها راه اندازی کرد.
انواع فریم ورک
فریم ورک ها دو نوع هستند: فریم ورک های توسعه Back-end و فریم ورک های توسعه Front-end وب سایت .
فریم ورک های مربوط به توسعه Front-end: فریم ورک های front-end اصولا از بسته هایی شامل فایل های ساختاری و فولدرهای حاوی کدهای استاندارد شده تشکیل شده اند. اجزاء آن معمولا شامل منبع کد CSS برای ایجاد یک گرید، تعریف استایل های تایپوگرافی برای عناصر HTML، ارائه راه حل هایی برای اسکریپت هایی که در بروزرها پشتیبانی نمی شوند و ایجاد کلاس های استاندارد جهت استفاده در استایل دادن به اجزاء واسط کاربری است.
تکنیک های طراحی وب سایت ریسپانسیو – که در آن توسعه دهنده وب سایت، سایت را اصطلاحا موبایل فرندلی می کند- خیلی افزایش داشته و توسعه دهندگان جهت راحتی کار یک سری فریم ورک ریسپانسیو درست کرده اند و کار طراحی سایت ریسپانسیو با بهره گیری از این فریم ورک ها خیلی ساده تر از پیش شده است.
فریم ورک های زبان برنامه نویسی PHP
- Laravel
- Phalcon
- Symphony
- Yii
- Codelgniter
- CakePHP
- Kohana
- FuelPHP
میکرو فریم ورک PHP
- Flight
- Sliex
- Limonade
- Slim
فریم ورک های زبان برنامه نویسی Ruby
- Ruby on Rails
- Lotus
- Rack
- Sinatra
- Padrino
- Cuba
- Scorched
- Grape
فریم ورک های زبان برنامه نویسی Python
- Django
- Flask
- TurboGears
- Web2py
- Pyramid
- Bottle
فریم ورک زبان های مایکروسافتی
فریم ورک های زبان برنامه نویسی Perl
مزایای استفاده از فریم ورک
- سادگی بیشتر
- نتیجه بهتر
- کارایی بالا
- قابلیت ادغام پذیری
- بازار کار بهتر
- حرفه ایی بودن
- امنیت بالاتر
- قابلیت توسعه
- بروز رسانی و ارتقا آسان برنامه
- کد نویسی سریع تر
- قابلیت استفاده مجدد از کدهای نوشته شده
- منبع باز
ساختار MVC در فریمورک
عبارت MVC یا Model View Controller واژهای است که در هنگام کار کردن با فریم ورکها مورد استفاده قرار میگیرد. این عبارت شکلی خاص از ترکیب کدهای برنامهنویسی است. در این شکل از برنامهنویسی کدهای برنامه به سه بخش تقسیم میشوند. با تقسیم و طبقه بندی کدها، برنامه به صورت سه لایه مجزا از هم در میآید. در برنامه نویسی MVC بخش View وظیفهی نمایش اطلاعات به کاربر را بر عهده دارد. بخش Controller دریافت اطلاعات از کاربر و پردازش آن را به انجام میرساند. و بخش Model کار ذخیره و بازیابی اطلاعات را عملی میکند. اغلب فریمورکهای برنامهنویسی شامل ابزاری به نام ORM برای بهبود روش ارتباط با پایگاه داده هستند.
انتخاب فریم ورک مناسب
انتخاب فریم ورک مناسب کار سختی است. چون هر وب سایتی نیازمند مشخصات و عناصر خاص خودش است و در حال حاضر بیشتر فریم ورک ها کارکرد مناسبی دارند و تفاوت چندانی بین آن ها نیست .با در نظر گرفتن سرعت بارگذاری و سهولت استفاده، راحتی فهم عملکرد آن، گزینه های ارائه شده، سازگاری با سیستم مورد استفاده، ارائه پشتیبانی بلند مدت بهتر، راحت تر می توان در مورد انتخاب فریم ورک تصمیم گرفت. الزاما استفاده از فریم ورک در طراحی سایت توصیه نمی شود. در واقع توسعه دهنده وب سایت است که نهایتا باید تصمیم بگیرد برای پیش برد کار و پیاده سازی طرح وب سایت از چه راه حل هایی استفاده کند.
بهترین فریم ورک هایPHP
معروفترین فریم ورک در آمریکا، لاراول، و در شوروی سابق و آسیا، Yii است. بهترین فریم ورک از نظر بالاترین سطح پشتیبانی، سیمفونی است و از نظر امکانات و کارایی فریم ورک PHP، Yii عالی است.
Laravel
توسعه دهنده لاراول ، آقای تیلور اوتول (Taylor Otwell)، میگوید:
"من احساس میکنم سرعت بالای توسعه، آسان بودن یادگیری و گسترده بودن جامعه هدف از مهمترین ویژگیهایی است که استفاده از لاراول را در هر پروژهای جذاب میکند. امنیت بالا و اشغال کردن فضای کم در سرور، هم بسیار مهم است و موضوعی است که شرکتهای بسیاری باید به آن توجه کنند."
ویژگیهای مهم لاراول:
- جامعهی توسعهدهندهی فعال (۴۱۸ مشارکتکننده در توسعهی فریم ورک)
- داکیومنت سازی (ارائه توضیحات و راهنماییهای لازم) فوقالعاده
- ساختار قرارداد به جای تنظیمات
- سیکلهای سریع توسعه
Codeigniter
این از همه سریع تر است، شفاف تر است و حداقل شبیه یک فریم ورک خوب عمل میکند. علاوه بر این، Codeigniter سریعترین فریم ورک موجود در این لیست است. Rasmus Lerdorf، سازنده PHP
ویژگیهای مهم:
- بالاترین کارایی (۷۵۳ درخواست در ثانیه و ۴۲/۰ پیک استفاده از حافظه )
- استفاده حداقلی از حافظه و فضای ذخیره سازی
- شروع آسان و نیاز کم به پیکربندی
- جامعهی توسعهدهندهی فعال (۴۲۰ مشارکتکننده در توسعهی فریم ورک)
Yii
Yii یک فریمورک PHP بسیار کابردی است. توسعه وب با Yii بسیار سریع است چون از کدساز Gii و الگوهای طراحی ActiveRecord استفاده میکند. این فریم ورک، امکاناتی فراهم میکند که بیش از حد انتظار شما است. Alexander Makarov، از توسعه دهندگان هسته مرکزی Yii
ویژگیهای مهم:
- سرعت عملکرد بالا (۴۱۸ درخواست در ثانیه و ۳۲/۱ پیک استفاده از حافظه)
- سرعت بالا در توسعه (کدساز و چارچوبسازی)
- تست کردن آسان (رسیدگی به خطاها و نوار ابزار برطرف کردن باگها)
- جامعه توسعهدهندهی فوقالعاده (۷۸۲ مشارکتکننده در توسعهی فریم ورک)
Symfony
در وهله اول، سیمفونی۲ مجموعه ای از کامپوننتهای مستقل، جدا از هم و منسجم است که مشکلات عمومی توسعهدهندگان را برطرف میکند. بر پایهی این کامپوننتها سیمفونی۲ یک چارچوب کامل توسعه وب است. Fabien Potencier، سازنده سیمفونی
ویژگیهای مهم:
- جامعه توسعهدهندهی بزرگ (۱۴۹۴ مشارکتکننده در توسعهی فریم ورک)
- محیطی خوب و مناسب تست به دلیل وجود ساختار «قرارداد بهجای تنظیمات» و...
- پشتیبانی از نسخههای باثبات پیشین
- پشتیبانی طولانی
- داکیومنت سازی خوب
CakePHP
CakePHP به من این امکان را می دهد که کدهای کمتری برای نتیجههای یکسان نسبت به سایر برنامهنویسها بنویسم. این به معنی آن است که من وقت بیشتری پیدا میکنم و از آن برای تست بیشتر و اطمینان از کارایی نرمافزار استفاده میکنم Jose Diaz-Gonzalez ، از توسعهدهندگان هسته مرکزی CakePHP
ویژگیهای مهم:
- سرعت بالا در توسعه (کدساز و چارچوب ساز شبیه Yii)
- یادگیری آسان
- جامعه توسعهدهندهی بزرگ (۴۸۲ مشارکتکننده در توسعهی فریم ورک)