• 2 رای - 4.5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نگاهی به فریم ورک ها
#1
Star 
با سلام خدمت تمام عزیزان و استادان گرامی
راستش اسمش رو نمی دونستم چی بذارم شاید حتی الان هم کمی این اسم براش بی معنی باشه اما به زودی درست می شه.
توی این مقاله قصد دارم که با گفتن یک سری از مقدمات وارد مبحث فریم ورک ها بشم و شاید هم بتونم با همین مقاله دوستانی رو علاقه مند به استفاده از فریم ورک خاصی کنم.
قبل از شروع بگم که من سعی کردم خیلی خیلی ساده (در حد درک و فهم خودم) مطالب رو بیان کنم و از حاشیه رفتن و آوردن مطالب اضافی و بیش از حد حرفه ای (البته به نظرم در این حد اصلا نمی شه مطالب حرفه ای رو قاطی کرد) خودداری کردم .
این اولین باری هست که دارم برای php مقاله می نویسم بنابراین از تمام استادن و عزیزان صاحبنظر می خوام که اگر کم و کاستی در این مقاله می بینن من رو راهنمائی کنند .

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

کد نویسی آماتور یا معمول PHP
بر خلاف اکثر زبان های برنامه نویسی که باید برای کوچکترین کار حداقل یک تابع نوشت در PHP می توان کارهای بسیاری را بدون استفاده از توابع انجام داد.
ماژول گرایی با استفاده از کدنویسی ساخت یافته
با استفاده از PHP می توان برای هر کار ماژولی را تعریف کرد که این ماژول ها در بسیاری از مواقع و در کارهای کوچک به صورت ساخت یافته(شیءگرا نیستند) هستند. که این موضوع در پروژه های کوچک خوب است اما در مورد پروژه های بزرگ کار را قدری دشوار می کند.
چرا کدنویسی شیء گرا ؟
شیءگرائی در PHP برای پروژه های کوچک مثل کشتن پشه با چکش است!
اگر پروژه بزرگی را بخواهیم با استفاده از ماژول نویسی ساخت یافته بنویسیم شاید کار امکان پذیر باشد اما در آینده امکان توسعه و نگهداری برنامه بسیار دشوار خواهد شد.
همچنین با استفاده از برنامه نویسی شیءگرا می توانیم ساختاری منحصر به فرد را برای خود یا اعضای تیم خود تعیین کنیم و سپس بر اساس این ساختار پروژه با پروژه هایی خود را بنا کنیم.
فریم ورک چیست ؟
بطور کلی می‌توان فریم ورک را مجموعه‌ای از ابزارها، کتابخانه‌ها، قراردادها و بهترین شیوه‌ها تعریف کرد بطوریکه سعی می‌کنند وظایف روتین را به سوی مدل‌های جامعی سوق دهند که دوباره می‌توانند مورد استفاده قرار بگیرند. هدف این است که به یک طراح یا توسعه دهنده اجازه داده شود تا بر روی وظایفی که در انجام پروژه مهم هستند تمرکز کند. (منبع: http://saleh.soozanchi.ir/tag/%D9%81...88%D8%B1%DA%A9/)
چرا فریم ورک ؟
استفاده از فریمورک ها باعث می شود تا برنامه نویسانی که برروی پروژه خاصی در حال کار هستند راحتتر متوجه شوند که برنامه نویس همکار آنها یک قطعه کد خاص را برای چه منظوری استفاده کرده است. (درک کار راحتتر شده و کار سریعتر پیش می رود)
اگر پروژه ای با استفاده از فریم ورک خاصی نوشته شود در آینده توسعه و نگهداری پروژه خیلی بهتر و راحتتر خواهد شد.
همچنین با استفاده از فریمورک ها از انجام دادن یکسری از کارهای تکراری جلوگیری می کنیم.

کدام فریم ورک ؟
این موضوع رو به زودی به صورت یک مطلب جامعتر و همچینین با استفاده از یک جدول که حاوی مقایسه فریمورک هاست ارائه می کنم.

ادامه به زودی .......
  پاسخ
تشکر شده توسط : hosseintdk775 payam shgninc hidensoft
#2
نمردیم و بک یار هم شدیم منبع Smile)
  پاسخ
تشکر شده توسط : amirdd payam shgninc hidensoft
#3
منبع بودن خوبی که داره، ولی خوب اگرم بد نوشته شده باشه اینجا دیگه بدیش خیلی واسه نویسنده نمی مونه بیشترش می ره برای منبع البته این تعریف شما تعریف خوبی هست و بعید می دونم کسی به این تعریف ایرادی بگیره امیدوارم منم بتونم این مقالم رو بدون ایراد پیش ببرم البته اگر دوستان توی این انجمن یاری کنند.
تا حالا که ندیدم امیوارم ببینم ....امان از اون روزهایی که این اکانت آدم کوچیک هست و کسی برای حرف آدم تره هم خورد نی کنه !!!
موفق باشید
  پاسخ
تشکر شده توسط : zoghal
#4
دوست عزیز به بزرگی و کوچیکی نیست. درضمن اگر می خواهید به امید دیگران باشید. کلا در زندگی باید بیخیال همه چیز بشید.
مطمئن باشید. اولین کسی که سود می بره توی این کارها کسی جز خودتون نخواهید بود. و بعدش از همین به اشتراک گذاشتن ها سود زیادی خواهید برد.

پس این حرف ها رو ملاک ادامه کارهاتون قرار ندید.
  پاسخ
تشکر شده توسط :
#5
آقا صالح عزیز در جریانم من اینجا تازه واردم توی مجید آنلاین یه سری توی سرا دارم (البه نه توی پی اچ پی کاراش) Wink

و اما ادامه مطلب
کدام فریم ورک ؟
همیشه این سوال مطرح می شود که کدام فریم ورک بهترین است یا اینکه با چه فریم ورکی کار کنم در همین راستا هم سایت های بسیاری از نظر خودشان و کاربرانشان فریم ورک ها را رتبه بندی کرده اند اما خوب به علت اینکه سلیقه های شخصی در این رتبه بندی ها بسیار تاثیر گذار بوده است در وب هیچ دو رتبه بندی را نمی توانید ببینید که مشابه هم باشند. من هم در بین سایت های معروفی که رتبه بندی کرده اند جستجو کردم و لیستی کامل تهیه کردم که در آن، لیست 10 فریم ورک برتر از نظرهر وب سایت برتری که فریم ورک ها را رتبه بندی کرده اند آورده ام و سپس بر اساس این لیست 5 فریم ورک برتر را امتیاز دهی کرده ام که در ادامه می توانید نتیجه را مشاهده کنید. در زیر این لیست را مشاهده می کنید.
[عکس: top10.jpg]
بعد از جمع آوری این لیست فریم ورک های برتر را با توجه به رتبه ای که دارند امتیاز دهی کردم پنج فریم ورک برتری که تقریبا در همه ی این رتبه بندی ها بودند و بالاترین امتیازها را گرفتند عبارتند از :
1- CodeIgniter با امتیاز 55
2- CakePHP و Symfony با امتیاز 53
3- Yii با امتیاز 44
4- Zend با امتیاز 42
خوب همانطور که دیدید امتیاز دهی ها کاملا متفاوت هستند و همانطور که گفتم علل مختلفی در این رتبه بندی ها موثر هستند. اما من بدون هیچ تعصب خاصی با جمع اوری این اطلاعات از سایت های معتبر این رتبه بندی را انجام دادم شاید جالب باشد که بدانید من خودم شخصا از فریم ورک Zend استفاده می کنم که در رتبه دهی خودم پایین ترین امتیاز را دارد. شاید در اینجا CodeIgniter بالاترین رتبه را داشته باشد اما دلیل نمی شود که شما با این فریم ورک بتوانید بهترین را بسازید ممکن کسی حتی با استفاده از یک فریم ورک که در این لیست وجود ندارد و یا حتی بدون استفاده از فریم ورک بتواند محصولی بسازد که حتی شما تصور آن را هم نمی توانید بکنید. بنابراین مهمترین عنصر در اینجا برنامه نویس است نه فریم ورک! یادتان باشد که فریم ورک ها تنها ابزاری هستند برای پیشرفت هرچه بهتر کار شما.

ادامه دارد .....
موفق باشید
امیر درجه
  پاسخ
#6
زند آخر شد :دی رونوشت به وحید Smile)
[عکس: logo-small.jpg]
  پاسخ
تشکر شده توسط : scooter
#7
مخالف پر و پا قرصش هستم
Big Grin
مقایسه Zend با دیگر فریم ورکها در حالت کلی مثل مقایسه ماشین با خونست.
می تونید Zend رو با ez مقایسه کنید ( در حالت کلی ) اما در حالت کلی نمی تونید با Cakephp یا سیمفنونی مقایسه کنید
همینطور CI رو نمی تونید با Zend یا کیک پی اچ پی یا سیمفونی مقایسه کنید. (همه اینها مقایسه در حالت کلی گفتم)
  پاسخ
تشکر شده توسط : shgninc hidensoft
#8
بدبختی من اخرش نتونستم تصمیم بگیرم کدوم رو یاد بگیرم البته الان مدت هاست دارم CI کار می کنم اما قصد دارم مهاجرت کنم چون امکانات و انعطاف زیادی نداره ولی مزیت های خودش رو هم داره . یه لیست تهیه کردم که باید یکی از اون ها رو انتخاب کنم

1 - zend(اینقدر سخت بود که بیخیال شدم Big Grin)
2 - symfony

3 - yii

4 - cakephp

حالا کدوم الله و اعلم Big GrinBig Grin

لطفا راهنمایی کنید
  پاسخ
تشکر شده توسط :
#9
من با وحید هم نظرم. زند رو اصلا نباید تو لیست آورد باید بندازی تو سطل آشغال Smile)))

وحید تا تو باشی همدان اومدی سری به ما بزنی Big GrinTongue
  پاسخ
تشکر شده توسط :
#10
توی شهر ما قدیما یه مغازه داری یه سبد پرتغال تو سرخ گرفته بود. بعد که یکیش رو دید داخلش قرمز هست فکر کرد خونیه کلش رو انداخت توی سطل آشغال
حکایت همونه Big Grin
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان