چگونه یک فریم ورک php را انتخاب کنیم؟ بخش دوم

تاریخ انتشار: 9 سال پیش
آخرین بروزرسانی: 2 هفته پیش توسط Administrator
103 بازدید
0 نظر

در بخش اول مقاله سه فریم ورک محبوب لاراول ، ییی و سیمفونی را به صورت اجمالی بررسی کردیم حال موارد دیگری را مورد بازبینی قرار می دهیم.

مقایسه:

هر سه فریم ورک برای ساختن برنامه های کاربردی وب 2.0 عالی هستند، اما هر فریم ورک هدف خاصی مورد اهمیت قرار می دهند. بیایید به ویژگی های آنها نگاه کرده و چگونگی عملکرد آن ها را بررسی کنیم.

موتور های قالب:

موتورهای قالب سازی تلاش های توسعه دهنده را کمینه می کنند و قابلیت نوشتن کد در front-end را فراهم می کند. موتورهای قالب سازی دارای ویژگی هایی مانند فرار از HTML و فیلترهای خودکار و پر کردن شکاف موجود در PHP خام است.

سیستم قالب Symfony Twig

Twig یک سیستم قالب مدرن برای پی اچ پی است. Symfony از Twig استفاده می کند و توسعه دهندگان را قادر می سازد تا کد تمیز و مختصر با توانایی انجام کار بیشتر را با PHP خام انجام دهند.

برای کسب اطلاعات بیشتر در مورد ویژگی های آن، به سایت Twig مراجعه کنید.

سیستم قالب Laravel Blade

بر خلاف سایر سیستم های قالب بندی، Blade به شما اجازه می دهد که از کد پی اچ پی در نمایش استفاده کنید. همچنین، Blade فایل ها را با پسوند .blade.php ذخیره می کند. برای پردازش تمام کد موجود در فایل های blade تبدیل به کد خام PHP می شود.

سیستم قالب پیش فرضYii

Yii از هیچ سیستم قالب بندی به طور پیش فرض استفاده نمی کند، اما این بدان معنا نیست که این سیستم از این قالب بندی ها پشتیبانی نمی کند. انتخاب سیستم قالب بستگی به تیم توسعه دارد. Twig و Smarty به عنوان سیستم قالب بندی برای ییی توصیه می شود. Symfony از Twig استفاده می کند، بنابراین اگر از Symfony در گذشته استفاده کرده باشید، ممکن است بخواهید Twig را برای پروژه Yii خود بکار ببرید.در اینجا هیچ برتریتی بین سه فریمورک وجود ندارد. این سه فریم ورک از موتورهای قالب برای بهبود برنامه نویسی و نگهداری در بخش front-end استفاده می کنند. یک مزیت کوچک برای Yii این است یک سیستم قالب از پیش تعیین شده ندارد.

تفاوت های فریم ورک ها:

هر فریم ورک تفاوت هایی را ایجاد کرده اند. Symfony بر روی کامپوننت های قابل استفاده مجدد کار می کند و بهترین ماژولاریتی را فراهم می کند. Symfony همچنین از مدل و کنترل کننده برای توسعه یک برنامه وب استفاده می کند که ممکن است برای بسیاری از توسعه دهندگان جدید قدیمی باشد اما کار می کند. همچنین Symfony نمونه خوبی از فریم ورک ماژولار است. شما می توانید 30 کامپوننت ارائه شده توسط Symfony را در پروژه خود به صورت ماژول به کار ببرید.

Yii از چارچوب MVC استفاده می کند. (Symfony پشتیبانی از MVC را فراهم کرده، که در مورد Symfony2 در چارچوب MVC میتوانید به سایت blog.sznapka.pl مراجعه کنید.)

Symfony را می توان برای توسعه سریع و پروژه های پیچیده استفاده کرد.با این وجود بحث های مختلفی وجود دارد که کدام فریم ورک برای پروژه های پیچیده مناسب تر است. Yii همچنین از کامپوننت ها استفاده می کند، اما مانند Symfony ماژولار نیست. لاراول نیز به طور کامل رویکردی ماژولار ندارد.

اگر شما به دنبال یک چارچوب ماژولار هستید، به سراغ Symfony بروید. در غیر این صورت، laravel و yii هر دو گزینه عالی هستند.

نصب و راه اندازی

هر سه فریم ورک، روشهای نصب مختلفی را ارائه می دهند. اگر از composer برای کار با پکیج ها استفاده می کنید، قطعا خوشحال خواهید شد که همه ی فریم ورک ها با کامپوزر نصب خواهند شد.

برای Symfony، نقش Composer مهم تر است.

راه های دیگری برای نصب فریم ورک های مربوطه وجود دارد. برای مثال، شما می توانید با استفاده از روش آرشیو ساده (simple archive)، فریم ورک ها را نصب کنید.

پس از نصب، Yii به شما یک برنامه وب و یک قالب پایه برای کار می دهد. Symfony 2 نیز یک برنامه نسخه ی نمایشی برای شروع آماده کرده است.

Laravel نیز با استفاده از Composer create-project یا از طریق Laravel Installer عملیات نصب را بسیار آسان کرده است. برای جزئیات بیشتر، راهنمای نصب Laravel را ببینید.

توسعه سریع

از دیدگاه شرکت یا مشتری، ورود سریع نرم افزار به بازار برای پاسخگویی به تقاضای مصرف کنندگان وضربه به رقبا اهمیت زیادی دارد. Symfony به دلیل داشتن یک چارچوب قوی با یک جامعه قوی که پشت آن ایستاده اند، شما را غافلگیر خواهد کرد. همچنین لاراول به سرعت در حال رشد است، اما پیش از اینکه به عنوان انتخاب واقعی برای توسعه پی اچ پی در نظر گرفته شود، هنوز راهی برای پیشبرد آن وجود دارد. از سوی دیگر، اگر شما هیچ ضمینه ای از PHP ندارید و می خواهید در اسرع وقت شروع کنید، Laravel بهترین انتخاب شما خواهد بود. لاروال یک منحنی یادگیری آسان دارد و شما می توانید آموزش های آنلاین زیادی را برای شروع به کار کردن پیدا کنید. Yii انتخاب بعدی خواهد بود و چارچوب های کد برای تولید و توسعه سریع را برای شما فراهم می کند.

کارایی

اگر برنامه ای به صورت real-time بوده و بر روی داده های حساس و بحرانی کار می کند عملکرد آن بسیار مهم می باشد. چند برنامه کاربردی مبتنی بر وب به عملکرد بالا بستگی دارد؟ قطعا زیاد نمی باشند، اما عملکرد فریم وردک ها می تواند نقش مهمی در بسیاری از پروژه ها ایفا کند.

شبکه های اجتماعی نمونه ای از رویدادهای real-time هستند و به طور مثال، jadson، یک شبکه اجتماعی برای تلفن های همراه با استفاده از Yii2 ایجاد کرد. هنگامی که به دنبال انتخاب بهترین فریم ورک برای برنامه نویسی با عملکرد بالا می آیید،قطعا Yii به عنوان سریع ترین فریم ورک PHP انتخاب خواهد شد.

عملکرد Laravel بسیار بحث برانگیز است. سرعتش کم تر است، ولی آیا این مهم است؟ شما منابع آنلاین زیادی برای سرعت بخشیدن به عملکرد آن پیدا خواهید کرد، از جمله راهنمای GitHub. همچنین میکرو فریم ورک lumen که برگرفته از فریم ورک لاراول است و از سرعت بالایی برخوردار است و برای توسعه میکروسرویس ها و توسعه ی api ها بکار می رود.

پشتیبانی از پایگاه داده

Symfony 2 پشتیبانی بهتری برای پایگاه داده ها ارائه می دهد. شما می توانید با مجموعه ای از پایگاه داده ها، از جمله NoSQL و DynamoDB کار کنید. Yii و Laravel نیز در این زمینه فعال می باشند، اما از پایگاه های کمتری نسبت به Symfony پشتیبانی می کنند. پایگاه داده پشتیبانی شده توسط هر فریم ورک در جدول زیر نشان داده شده است.

Framework Laravel Yii Symfony 2
Database Microsoft BI
MongoDB
MySQL
PostgreSQL
Redis
SQLite
Microsoft BI
MongoDB
MySQL
Oracle
PostgreSQL
SQLite
Apache Jackrabbit
CouchDB
DynamoDB
GemFire
GraphDB
MemBase
MemCacheDB
Microsoft BI
MongoDB
MySQL
NoSQL
Oracle
PostgreSQL

جامعه و منابع

برای پیش بینی طول عمر یک فریم ورک منبع باز باید به قدرت جامعه آن توجه کنید. هر سه فریم ورک دارای جوامع بزرگی هستند، هرچند ممکن است Symfony کمی بالاتر باشد. جوامع هر کدام رو به رشد بوده و تعیین میزان آن مساله ای چالش برانگیز می باشد

هنگامی که به یادگیری مطالب و اسناد و مدارک می پردازد،لاراول برجسته می شود، هرچند Symfony و Yii عقب نمانده اند

قابلیت انعطاف پذیری

فریم ورک ها ساختارهایی هستند که می توانند با extension ها یا package ها گسترش یابند و قابلیت و گستره آنها را افزایش دهند. هنگامی که به دنبال extension میگردید،لاراول برنده خواهد بود. Packalyst، یک مجموعه از بسته های Laravel است، که بیش از 9000 extension ارائه می دهد. از سوی دیگر Yii و Symfony، حدود 2800 extension و 2830 بسته نرم افزاری را ارائه می دهند. به نظر می رسد که لاراول با سه برابر تعداد extension، بهترین فریم ورک در این زمینه باشد.

شباهت ها:

در قسمت قبل به تفاوت های بین فریم ورک های مطرح شده پرداختیم حال شباهت های آن ها را بیان خواهیم کرد:

· هر سه فریم ورک، دارای چارچوب کاملی از PHP هستند و قابلیت های لازم برای ایجاد برنامه های کاربردی وب، از نوشتن کد های front-end تا بازیابی اطلاعات back-end را دارند.

· این پروژه ها منبع باز هستند و می توانید کد منبع آنها را در GitHub پیدا کنید و همکاری و کمک برای بهبود هر کدام بسیار آسان می باشد:

· فریم ورک ها به خوبی مستند شده و توسط جوامع بزرگی پشتیبانی می شوند.

· آنها هر یک از ORM (Mapping Relationship Object) پشتیبانی می کنند. ORM برای نوشتن کد OO مورد درخواست شما بسیار مفید است و برای ساخت برنامه های کاربردی وب 2.0 قوی، امن و قابل اعتماد هستند.

همچنان درگیر هستید؟ شاید این چک لیست به شما کمک کند که یک گزینه را محدود کنید:

Symfony :

LTS را ارائه می دهد

در حال حاضر پایدار ترین فریم ورک است

یک فریم ورک مبتنی بر کامپوننت است و ماژولاریتی گسترده ای را ارائه می دهد

دارای یک جامعه بزرگ با منابع آموزشی زیاد می باشد.

Yii:

از Ajax پشتیبانی میکند

برای توسعه برنامه های کاربردی real-time عالی است و عملیات را سریع تر انجام می دهد

بسیار قابل گسترش است

خطا را در همان نقطه نشان می دهد

برای ایجاد Restful Web Services خوب می باشد

دارای یک جامعه عالی با منابع آموزشی زیاد می باشد.

:Laravel

محبوب ترین فریم ورک در سال های 2015-2016 است

از مدیریت پکیج ها توسط composer پشتیبانی میکند

واحد آزمایش خوبی دارد

دارای هزاران پکیج برای گسترش قابلیت های خود می باشد ،

دارای یک جامعه عالی با منابع آموزشی زیاد می باشد.

نتیجه گیری

در مقایسه Symfony با Laravel در مقابل Yii، هر سه فریم ورک گزینه های عالی هستند که محیط توسعه کاملی را برای توسعه دهندگان فراهم می کنند. برای من، لاروال یک برنده است که به عنوان یک ستاره ای ظاهر می شود که هیچ نشانه ای برای توقف آن وجود ندارد.با این حال، Symfony و Yii هر دو فریم ورک های عالی ای هستند. Symfony به خوبی تاسیس شده و با جامعه بزرگتر و بالغ تر. Yii یک فریم ورک منحصر به فرد است که قوی و امن می باشد.برای دیدن فریم ورک در عمل، باید بررسی کنید و ببینید که چه توسعه دهندگانی از آن ها برای Livecoding.tv استفاده می کنند، که دارای کانال های Symfony، Yii و Laravel است. توسعه دهندگان همچنین در چت یا اسکایپ در دسترس هستند.توسعه دهندگان را دنبال کنید، سوالات خود را از آنها بپرسید و پاسخ ها را در کمترین زمان دریافت کنید.

اشتراک‌گذاری:

دیدگاه‌ها (0)

💬

هنوز دیدگاهی ثبت نشده است. اولین نفری باشید که نظر می‌دهید!

ارسال دیدگاه