جستجو برای:
  • خانه
  • مقالات
    • مقالات مشاوره‌ای/توضیحی
    • HTML5
    • CSS3
    • PHP & MySQL
    • پایگاه داده (database)
  • شروع برنامه نویسی از صفر تا کسب درآمد
  • درباره ما
  • تماس
    • تماس با ما
    • پیشنهاد آموزش
یادیفای
  • خانه
  • مقالات
    • مقالات مشاوره‌ای/توضیحی
    • HTML5
    • CSS3
    • PHP & MySQL
    • پایگاه داده (database)
  • شروع برنامه نویسی از صفر تا کسب درآمد
  • درباره ما
  • تماس
    • تماس با ما
    • پیشنهاد آموزش
0
ورود / عضویت

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

10 ژانویه 2019
ارسال شده توسط مهدی خسروی
PHP & MySQL ، برنامه نویسی وب ، بک اند (Back End)
302 بازدید
فریمورک چیست

اگر با برنامه نویسی آشنایی داشته باشید حتما واژه‌ی فریم ورک به گوشتان خورده است و این سوال برایتان پیش آمده است که فریم ورک چیست و چه کاری انجام میدهند. من به فریم ورک ها فرشتگان برنامه نویسی میگویم. زیرا به شما کمک میکنند که برنامه نویسی را به لذت بخش ترین کار دنیا تبدیل کنید. در این مقاله و فیلم آموزشی بصورت کامل با مفهوم Framework ها آشنا میشویم و میفهمیم که چطور Framework ها برنامه نویسی را برای ما لذت بخش میکنند. پس با من همراه باشید.

 

فریم ورک چیست؟

 

دانلود صوت این فایل آموزشی با حجم ۱۰ مگ


دیدن ویدئوی بالا میتواند به خوبی به سوال فریم ورک چیست پاسخ دهد. اما خواندن متن زیر نیز خالی از لطف نیست.

 

یک قاب عکس یا اسکلت‌بندی ساختمان را تصور کنید

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

هر دوی این ابزار، کمک میکنند که محتویات آن‌ها، ساختار منظم‌تر و بهتری داشته باشد!

برای مثال اگر بخواهیم که عکسی را درون قاب عکس قرار دهیم، باید آن عکس را به اندازه‌ی آن قاب عکس درآوریم. یا مثلا در ساختمان سازی، اسکلت بندی ساختمان به عنوان یک قاب (Frame) به ما کمک میکند که آن ساختمان را اصولی‌تر، بهتر و منظم تر بسازیم.

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

فریم ورک ها کمک میکنند که ما کدنویسی سریع‌تر، بهتر، منظم تر و با تمرکز بیشتری داشته باشیم.

در ادامه سعی میکنیم که بیشتر در خصوص فریم ورک ها صحبت کنیم و به سوال فریم ورک چیست پاسخ دهیم و از شما بخواهیم که حتما برای یک بار هم که شده، باید کار با یک فریم ورک را یاد بگیرید تا متوجه شوید که چه نعمت‌های بزرگی هستند این فریم ور‌ک‌ها!

مقاله‌ی مرتبط: چگونه زبان های برنامه نویسی سایت های مختلف را کشف کنیم؟

 

آشنایی با مفهوم Framework در برنامه نویسی

اگر با زبان برنامه نویسی PHP آشنایی داشته باشید، (PHP چیست) حتما واژه‌ی فریم ورک زیاد به گوشتان خورده است و اسم لاراول یا کداگنایتر را شنیده‌اید. اگر بخواهیم بگوییم که فریم ورک چیست، میتوانیم آ‌ن‌را به این گونه تعریف کنیم:

Framework ها چهارچوب و ساختار های کدنویسی هستند که توسط بهترین برنامه نویسان جهان بصورت مجموعه‌ای از کدها، ابزارها و… ارائه شده‌اند که تنها یک هدف دارند: برنامه نویسی را برای برنامه نویسان راحت‌تر و سریع‌تر کنند.

شما با استفاده از Framework ها میتوانید با سرعت، کیفیت و دقت بیشتری اقدام به توسعه محصولات نرم‌افزاری کنید. در ادامه میخواهیم بیشتر درباره‌ی سوال فریم ورک چیست صحبت کنیم و بگوییم که چرا باید از فریم ورک ها استفاده کنیم و فریم ورک ها چه مزیت‌هایی را برای ما فراهم میکنند؟

فریم ورک چیست

 

چرا باید از فریم ورک ها استفاده کنیم؟

برای رسیدن به پاسخ سوال فریم ورک چیست، خوب است درباره‌ی این سوال صحبت کنیم که اصلا چرا باید از Framework ها استفاده کنیم؟ استفاده از فریم ورک ها چه ارزش افزوده‌ای برای ما دارند؟ در چند موردی که در ادامه صحبت میکنیم، سعی داریم به این سوال پاسخ دهیم.

 

چرخ را از اول اختراع نمیکنید

یکی از مهم ترین نکات درباره‌ی کاربرد فریم ورک ها این است که کمک میکند که چرخ را از اول اختراع نکنید. امکانات بسیار زیادی در فریم ورک ها از قبل تهیه و برنامه نویسی شده است که باعث میشود که شما کارهای روتین و ابتدایی یک پروژه را رد کنید و مستقیم به سراغ انجام کارهای اصلی پروژه بروید.

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

  1. فولدر های اصلی را بسازید
  2. فایل index.php را بسازید
  3. فایل مربوط به اتصال به دیتابیس را بسازید (دیتابیس چیست؟)
  4. با شرط if چک کنید که اگر در اتصال به دیتابیس با خطا مواجه شدید، خطا را چاپ کند
  5. در ابتدای فایل index.php فایل دیتابیس خود را وارد (require_once) کنید
  6. و ده ها مرحله‌ی ابتدایی دیگر
مقاله‌ی مرتبط: راهنمای جامع تفاوت فرانت اند و بک اند (Front End vs Back End)

اینطور فکر کنید که برای انجام هر پروژه‌ی جدید، شما نیاز هست که بخش زیادی از زمان‌تان را صرف کارهای حاشیه‌ای، تکراری و روتین کنید و این برای شما به عنوان یک برنامه نویس فاجعه است. زیرا زمان شما را از بین میبرد.

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

 

سرعت کدنویسی بیشتر میشود

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

در فریم ورک ها هرگز وقت شما برای کارهای روتین، پیش پا افتاده و بی اهمیت صرف نمیشود. همه مقدمات در فریم ورک ها برای شما اماده است که تمام تمرکز خودتان را بر روی منطق (Logic) اصلی کدتان بزارید و به هیچ چیز دیگری فکر نکنید.

 

بسیاری از امکانات از قبل وجود دارند

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

برای مثال اگر شما بخواهید برای فرم های سرویس‌تان Form Validation داشته باشید و چک کنید که اگر رمز کاربر کمتر از ۵ کاراکتر بود، برای او خطایی نمایش داده شود، اینکار را میتوانید خیلی راحت با قابلیت های پیشفرض فریم ورک ها در چند دقیقه پیاده سازی کنید و دیگر نیازی به نوشتن چندین خط کد اضاف ندارید. این باعث میشود که وقت‌ و انرژی بیشتری را ذخیره کنید.

 

تمرکز روی خودِ خودِ پروژه

فریم ورک ها به این دلیل که بسیاری از قابلیت ها را در دل خود دارند و نیازی به نوشتن دوباره توسط شما نیست، به شما کمک میکنند که روی خودِ خودِ پروژه تمرکز کنید. 

مقاله‌ی مرتبط: پایگاه داده یا Database چیست؟ همه چیز درباره‌ی دیتابیس (صفر تا صد)

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

 

توابع قابلیت استفاده‌ی مجدد را دارند

نکته‌ی مهمی که در خصوص فریم ورک ها وجود دارد این است که به شما امکان استفاده‌ی مجدد از کدها یا اصطلاحا reuse کردن کد ها را میدهد که این فوق العاده است.

 

کدهای منظم تر و بهتری خواهید داشت

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

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

 

خودم یه فریم ورک خیلی بهتر مینویسم!

نکته‌ای که در بین برنامه نویسانی با تجربه‌ی متوسط وجود دارد این است که به دلیل غروری که با آن دچار میشوند، هیچکدام از فریم ورک های موجود را قبول ندارند و همگی میخواهند که فریم ورک مخصوص خودشان را از صفر بنویسند و همه پروژه‌هایشان را با آن فریم ورک انجام دهند.

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

فریم ورک چیست

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

مقاله‌ی مرتبط: برنامه نویسی وب چیست؟ درباره‌ی برنامه نویسی وب سایت (Web Development)

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

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

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

 

معرفی چند فریم ورک معروف

اگر بخواهیم معروف ترین فریم ورک های این روزها را بدانیم، میتوانیم به چند مورد زیر اشاره کنیم:

  • فریم ورک Laravel (مخصوص PHP)
  • فریم ورک Codeigniter (مخصوص PHP)
  • فریم ورک Zend (مخصوص PHP)
  • فریم ورک Angular (مخصوص جاوا اسکریپت)
  • فریم ورک Backbone (مخصوص جاوا اسکریپت)
  • فریم ورک django (مخصوص پایتون)

 

جمع بندی

در نهایت اگر بخواهیم درباره‌ی سوال فریم ورک چیست یک جمع بندی داشته باشیم، میتوانیم بگوییم که فریم ورک ها مثل فرشتگان برای برنامه نویسان هستند که کمک میکنند فرایند برنامه نویسی برای شما لذت بخش تر، سریع تر و با بازدهی بیشتر باشد و باعث شود که  وقت خودتان را روی چیزهایی بگذارید که ارزش وقت گذاشتن دارند!

نظر شما درباره‌ی فریم ورک ها چیست؟ بنظرتان استفاده از Farmework ها چقدر میتواند مفید باشد؟

 

اشتراک گذاری:
برچسب ها: frameworkفریم ورکفریمورک
درباره مهدی خسروی

۸ سال پیش که یادگیری برنامه نویسی رو آغاز کردم، با یک مشکل بزرگ مواجه شدم: کمبود منابع آموزشی حرفه‌ای و کاربردی به زبان فارسی. به همین دلیل، بعد از چندین سال فعالیت حرفه‌ای در زمینه‌ی برنامه نویسی، تصمیم گرفتم دانسته‌ها و تجربیات خودم را با شما عزیزان به اشتراک بگذارم. پیشنهاد میکنم به آدرس yadify.com/gifts حتما سر بزنید :)

نوشته های بیشتر از مهدی خسروی

مطالب زیر را حتما مطالعه کنید

کسب درآمد با برنامه نویسی تلگرام
MVC چیست و چه کاربردی دارد؟ + مثال
لاراول یا کداگنایتر؟ کدوم رو برای یادگیری انتخاب کنیم؟
چرا HTML و CSS زبان برنامه نویسی نیستند؟
API چیست و چه کاربردی دارد؟ (راهنمای جامع ویدئویی)
تفاوت فرانت اند و بک اند
راهنمای جامع تفاوت فرانت اند و بک اند (Front End vs Back End)
قدیمی تر جی کوئری چیست؟ هر آن چیزی که باید درباره‌ی jQuery بدانید
جدیدتر تفاوت جاوا و جاوا اسکریپت - هرکدام چه کاربردی دارند؟

9 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • زینب گفت:
    ۴ اسفند ۱۳۹۷ در ۱۶:۴۰

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

    پاسخ
    • شادی سجادی - مسئول امور مشتریان گفت:
      ۶ اسفند ۱۳۹۷ در ۱۱:۵۹

      سلام دوست گرامی
      از انتقاد بجا و صحیح شما ممنونیم. حتما سعی میکنیم در آموزش های آینده این مورد را لحاظ کنیم.

      پاسخ
  • محیا گفت:
    ۲۵ خرداد ۱۳۹۸ در ۱۱:۰۴

    دمتون گرم خیلی جالب و ساده توضیح دادین کیف کردم

    پاسخ
  • حسن توسلی گفت:
    ۵ مرداد ۱۳۹۸ در ۲۲:۲۸

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

    پاسخ
    • مهدی خسروی گفت:
      ۱۳ آبان ۱۳۹۸ در ۱۷:۱۹

      سلام حسن گرامی
      بله دقیقا. فریمورک ها هم از کلاس ها و توابع و… تشکیل شدن. و شما میتونید فریمورک هارو برای خودتون شخصی سازی (Customize) کنید. البته به دلیل پیچیدگی بعضی از فریم ورک ها، انجام اینکار زیاد منطقی نیست و کمتر کسی اینکار رو انجام میده

      پاسخ
  • محمد گفت:
    ۱۱ مرداد ۱۳۹۸ در ۱۷:۴۰

    سایتتون عالیه. ممنون بابت آموزش

    پاسخ
  • علی گفت:
    ۲۵ مرداد ۱۳۹۸ در ۲۳:۴۰

    سلام
    اول یه تشکر و خسته نباشید بگم خدمتتون که اینقدر ساده و عالی مطالب رو انتقال میدید.
    خواستم خواهش کنم اگر امکانش بود یه ویدیو هم درباره تفاوت بین فریم ورک و کتابخانه تهیه و منتشر کنید.

    پاسخ
    • مهدی خسروی گفت:
      ۱۲ آبان ۱۳۹۸ در ۲۲:۴۰

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

      پاسخ
  • من گفت:
    ۲۷ مهر ۱۳۹۸ در ۲۲:۴۴

    ممنون خیلی خوب بود

    پاسخ

دیدگاهتان را بنویسید لغو پاسخ

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

مطالب مرتبط

کسب درآمد با برنامه نویسی تلگرام

MVC چیست و چه کاربردی دارد؟ + مثال

لاراول یا کداگنایتر؟ کدوم رو برای یادگیری انتخاب کنیم؟

چرا HTML و CSS زبان برنامه نویسی نیستند؟

API چیست و چه کاربردی دارد؟ (راهنمای جامع ویدئویی)

جستجو برای:
.: روی یادگیری‌تان سرمایه‌گذاری کنید :.
  • مكان گيرنده
    فول کورس مسترکلاس توسعه وب
.: نظرات کاربران :.
  • مهدی خسروی در طراحی وب چیست؟ همه چیز درباره‌ی طراحی وب سایت (Web Design)
  • فاطمه در طراحی وب چیست؟ همه چیز درباره‌ی طراحی وب سایت (Web Design)
  • دوست در Stack Overflow چیست؟ همه چیز درباره‌ی استک اورفلو
  • مهدی خسروی در با ۱۴ پیش نیاز برنامه نویسی آشنا شوید! (+فیلم)
  • مهدی خسروی در PHP چیست؟ همه چیز درباره‌ی PHP و کاربرد آن
  • مهدی خسروی در Stack Overflow چیست؟ همه چیز درباره‌ی استک اورفلو
.: تماس با ما :.

ما به داشتن دوستان خوبی مثل شما افتخار میکنیم و بسیار خوشحال میشویم که پاسخگوی سوال‌هایتان باشیم. برای تماس با ما میتوانید از راه‌های زیر استفاده کنید:

+ آیدی پشتیبانی تلگرامی: yadify_support@

داستان یادیفای

از سال 1393 که فریلنسری برنامه نویسی رو شروع کردم، همیشه دوست داشتم که چیزهایی که یاد میگیرم رو با بقیه به اشتراک بذارم. که هم خودم بهتر یاد بگیرم و هم بتونم به بقیه کمکی کرده باشم.
مخصوصا اون موقع که محتوای تخصصی برنامه نویسی به زبان فارسی خیلی کم بود.
با xanbil.com شروع کردم به تولید محتوا و بعد از 3 سال به yadify.com رسیدیم.
جایی که در کنار هم سعی میکنیم برنامه نویسی رو به عنوان یه تخصص درآمدزا و خفن باهم یاد بگیریم و پیشرفت کنیم ...

دسترسی سریع
  • مقالات آموزشی
  • نقشه مسیر برنامه نویسی
  • مسترکلاس توسعه وب
  • درباره یادیفای
  • تماس با ما
چنل یوتوب برنامه نویسی پیج اینستاگرام
ساخته شده با و در یادیفای - از 1395
ورود
استفاده از موبایل
آیا هنوز عضو نیستید؟ اکنون عضو شوید
بازنشانی رمز عبور
استفاده از موبایل
عضویت
قبلا عضو شدید؟ اکنون وارد شوید

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت