PDA

View Full Version : حرفه ای: فریم ورک چیست و کدومش بهترین هست ؟



reza10wert
یک شنبه 14 اسفند 1390, 09:29 صبح
سلام و عرض ادب خدمت سروران گرامی

دوستان این 4 لینکی که ابتدای بخش PHP گذاشته شده چی هستند ؟

Prado Framework - Zend framework - CakePHP - CodeIgniter


میشه توضیح کاملی در مورد آنها داده بشه : 1- کارشون چیه این برنامه ها 2- به چه دردی میخورن 3- کدومشون بهترین و راحت ترین هستند و ...

خیلی ممنون میشم پاسخ بدهید

narsic
یک شنبه 14 اسفند 1390, 11:23 صبح
فریم ورک ها کد های آماده (کلاس ها و روش های) نشوته شده ایی هستن که به سریع تر و بهتر کد نوشتن شما کمک میکنن، اما در ابتدا برای یادگیری و آشنایی به کد نویسی با اونها نیاز به صرف زمان و یادگیری دارید، شاید هم این کار در ابتدا به نظر کار دشوار و بیهوده ایی باشه چون فریم ورک ها شما رو مجبور میکنن که نحوه کدنویسی قدیمی خودتون رو کنار بزارید و بر اساس اصول و قوايد جدید که اون ها به شما دیکته میکنن کد نویسی کنید که اغلب این کار باعث خسته شدن برنامه نویس و کنار گذاشتن اون ها میشه.
اما استفاده از فریم ورک ها در کجا به درد میخوره
بیشترین استفاده فریم ورک ها در پروژه های بزرگ و کارهای مشترک تیمی است.
شاید برای شما هم پیش اومده باشه که وقتی بعد از یک مدت طولانی به سراغ یک پروژه قدیمی میرید که به اون قابلیت های جدید اضافه کنید وقتی بین کد ها در حال گشتن هستید متوجه بشید که کد ها خیلی گنگ و نا مفهوم هستند و شاید خیلی از اون ها اصلا به کار نیان و وقتی اون قسمت ها از کد رو حذف میکنین در سیستم متوجه عمل کوچک یا بزرگ اون تیکه میشید و اقدام به برگرداندن اون تیکه کد میکنید.
یا حتی برای اضافه کردن یک قسمت ساده به سیستم مجبور شدید مقدار زیادی از کدهای قدیمی را بازخوانی (بررسی مجدد، تحلیل) کنید
و مشکلات زیاد دیگه ایی که وجود داره
این مشکلات یا استفاده از فریم ورک ها حل میشه اما خود فریم ورک ها هم مشکلات جدیدی رو به وجود میارن مثل اینکه شما نیاز دارید یک سری قوانین جدید رو یاد بگیرید، مقداری محدودیت جدید در کد نویسی به وجد میارن، و در مواردی پیچیدگی هایی هم به وجود میارن.
اما با تمام این مشکلات استفاده از فریم ورک ها به هر برنامه نویسی پیشنهاد میشه
از مزایای فریم ورک ها:
-کد نویسی سریع تر
-بالا بردن خوانایی کد
-قابلیت استفاده مجدد از کدهای نوشته شده
-و...

از معایب فریم ورکها:
-نیاز به یادگیری
-کم کردن جزئی انعطاف کد (در پروژه های بزرگ)
-و...

فریم ورک ها هم مثل زبان ها انواع مختلفی دارن که هر کدوم با یک سطح توان (کد های از پیش تعریف شده) و پیچیدگی های مخصوص خود برای یادگیری ارائه میشن.
از بین فریم ورک های معروف موجود
فریم ورک Cacke PHP دارای کاربران بیشتری هست که این موضوع هم بیشتر به خاطر سادگی در یادگیری است.
بعد از اون CodeInginter که اون هم بیشتر به خاطر سادگی یادگیری و قدرت معروف شده.
و در نهایت Zend Framework هست (البته Zend Framework کاملا با Zend Studio متفاوت هست هر دوی این محصولات توسط یک شرکت ارائه شدن اما در دو بخش مجزا از هم کار میکنن. Zend Studio یک برنامه برای کدنویسی به زبان PHP هست و کارهایی مثل کد کردن کدهای نوشته شده، اما Zend Framework یک فریم ورک (مجموعه ایی از کدها و استاندارد های نوشته شده) برای زبان برنامه نویسی PHP هست که به برنامه نویس در بهتر کد نوشتن کمک میکنه) که دارای پیچیدگی بیشتری نسبت به دیگر فریم ورک های معروف هست اما در این حال دارای قابلیت انعطاف بیشتر و قدرت بیشتر است. در شرکت هایی که پروژه های بزرگ انجام میدن معمولا از Zend استفاده میشود.
موفق باشید

mosi2007
یک شنبه 14 اسفند 1390, 15:25 عصر
اما استفاده از فریم ورک ها در کجا به درد میخوره
بیشترین استفاده فریم ورک ها در پروژه های بزرگ و کارهای مشترک تیمی است.

یعنی ما که داریم پی اچ پی رو یاد میگیریم بدردمون تو کارهای گروهی نمیخوره پس به چه درد میخوره تو کار تکی و پروژه های کوچیک؟
بعد این فریم ورکها را تو چند وقته یاد میگیریم؟

narsic
یک شنبه 14 اسفند 1390, 16:11 عصر
یعنی ما که داریم پی اچ پی رو یاد میگیریم بدردمون تو کارهای گروهی نمیخوره پس به چه درد میخوره تو کار تکی و پروژه های کوچیک؟
بعد این فریم ورکها را تو چند وقته یاد میگیریم؟
نه بدرد میخوره اما توی پروژه های بزرگ هم مشکل خاصی وجود نداره (من سال ها به همین روش ساده کد نویسی کردم (انفرادی و تیمی) هنوز هم مشکلی ندارم با برنامه هام) فقط همونجور که گفتم این فریم ورک ها کمک میکنن که سریع تر، استاندارد تر و بهتر کدنویسی کنیم همین.
کاملا بستگی به پشتکار خودتون داره از یک روز تا یک سال (البته یادگیری نه حرفه ایی شدن)
موفق باشید

idocsidocs
دوشنبه 15 اسفند 1390, 02:07 صبح
بنظرم برای شروع از یه معماری MVC استفاده کنید تا کدهاتون ماژولار بشن و قابلیت توسعه داشته باشن.

بعدا می تونید سر فرصت یه فریم ورک یاد بگیرید.

mosi2007
دوشنبه 15 اسفند 1390, 14:29 عصر
بنظرم برای شروع از یه معماری MVC استفاده کنید تا کدهاتون ماژولار بشن و قابلیت توسعه داشته باشن.

بعدا می تونید سر فرصت یه فریم ورک یاد بگیرید.
MVC چیه ماژولار چیه وای من که هیچی بلد نیستم؟:گیج: دارم کلی زورمو میزنیم php بگیرم روز به روز چیزای جدیدتری پیدا میشه که یاد بگیرم

idocsidocs
دوشنبه 15 اسفند 1390, 16:07 عصر
MVC چیه ماژولار چیه وای من که هیچی بلد نیستم؟:گیج: دارم کلی زورمو میزنیم php بگیرم روز به روز چیزای جدیدتری پیدا میشه که یاد بگیرم
خیالتون راحت باشه که حالا حالاها باید چیزای جدید یاد بگیرید.
کرل، سوکت، برنامه نویسه ماژولار، فریم ورک که خودش یه سال طول می کشه یاد بگیرید، کار با فایل htaccess و....
فعلا کار دارید.

Hell Lord
دوشنبه 15 اسفند 1390, 16:43 عصر
من Yii رو به همه ترجیه میدم هم سرعتش بهتره هم واقعا Object Oriented هست

alonemm
دوشنبه 15 اسفند 1390, 18:34 عصر
باسلام:
یکی از بهترین گزینه های فریم ورک ها در هر زبان برنامه نویسی این هست که مدیریت خیلی قسمت ها توسط اون انجام میشه.
از جمله مدیرت اتصالات به پایگاه داده و اطمینان از اینکه کدهای نوشته شده به درستی کار میکند و فقط ارسال پارامترها به توابع و گرفتن جواب از آن ها هست که دیگه ما هر بار عملیات اتصال و واکشی داده رو کد نمیکنیم و فقط با یک تابع سرو کار داریم.
بعضی از فریم وک ها کارایی رو خیلی ساده میکنند مثلا دستورات SQL رو خودشون میسازند.

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


موفق باشید.

mosi2007
دوشنبه 15 اسفند 1390, 21:01 عصر
خیالتون راحت باشه که حالا حالاها باید چیزای جدید یاد بگیرید.
کرل، سوکت، برنامه نویسه ماژولار، فریم ورک که خودش یه سال طول می کشه یاد بگیرید، کار با فایل htaccess و....
فعلا کار دارید.
یعنی اول باید php رو فول یاد گرفت و بعد رفت سراغ اینها یا باهم و در کنار هم میشه اموخت؟
بعدش اینکه اینا را یاد بگیرم 2 یا 3 سالی طول میکشه یعنی تو طول این چند سال نمیتونم وارد بازار کار بشم؟

idocsidocs
دوشنبه 15 اسفند 1390, 22:09 عصر
یعنی اول باید php رو فول یاد گرفت و بعد رفت سراغ اینها یا باهم و در کنار هم میشه اموخت؟
بعدش اینکه اینا را یاد بگیرم 2 یا 3 سالی طول میکشه یعنی تو طول این چند سال نمیتونم وارد بازار کار بشم؟ دست خالی که نمی تونید بازار خوبی داشته باشید. اگه تو شهر بزرگی هستید می تونید توی یه شرکت کار کنید ولی اگه توی شهر کوچیک هسصتید کلاهتون پس معرکه هست !

در مورد یاد گیری یه ساله می تونید پی اچ پی و MVC رو یاد بگیرید. منم توی همین مدت یاد گرفتم. البته بغیر از پی اچ پی باید ایجکس رو هم حرفه یاد بگیرید و بقیه زبانهای برنامه نویسی رو هم باید در حد کار راه انداختن بلد باشید.

من نسبتا پی اچ پی رو بلدم و برای خودم یه فریم ورک ساده نوشتم که کار کد نویسی و توسعه کار رو راحت می کنه.

مشکل اصلی پیدا کردن کار و بازار یابیه. اگه مشتری نداشته باشید خیلی زود سرد می شید و از این کار زده می شید.