فریم ورک Framework چیست ؟
فریم ورک ها کمک میکنند که ما کدنویسی سریعتر، بهتر، منظم تر و با تمرکز بیشتری داشته باشیم.
در ادامه سعی میکنیم که بیشتر در خصوص فریم ورک ها صحبت کنیم و به سوال فریم ورک چیست پاسخ دهیم و از شما بخواهیم که حتما برای یک بار هم که شده، باید کار با یک فریم ورک را یاد بگیرید تا متوجه شوید که چه نعمتهای بزرگی هستند این فریم ورکها!
آشنایی با مفهوم Framework در برنامه نویسی
اگر با زبان برنامه نویسی PHP آشنایی داشته باشید، (PHP چیست) حتما واژهی فریم ورک زیاد به گوشتان خورده است و اسم لاراول یا کداگنایتر را شنیدهاید. اگر بخواهیم بگوییم که فریم ورک چیست، میتوانیم آنرا به این گونه تعریف کنیم:
Framework ها چهارچوب و ساختار های کدنویسی هستند که توسط بهترین برنامه نویسان جهان بصورت مجموعهای از کدها، ابزارها و… ارائه شدهاند که تنها یک هدف دارند: برنامه نویسی را برای برنامه نویسان راحتتر و سریعتر کنند.
شما با استفاده از Framework ها میتوانید با سرعت، کیفیت و دقت بیشتری اقدام به توسعه محصولات نرمافزاری کنید.
چرا باید از فریم ورک ها استفاده کنیم؟
برای رسیدن به پاسخ سوال فریم ورک چیست، خوب است دربارهی این سوال صحبت کنیم که اصلا چرا باید از Framework ها استفاده کنیم؟ استفاده از فریم ورک ها چه ارزش افزودهای برای ما دارند؟
اولین فایل یک سیستم را از اول برنامه نویسی نکنید
یکی از مهم ترین نکات دربارهی کاربرد فریم ورک ها این است که کمک میکند که از ابتدا شروع به کدنویسی نکنید. امکانات بسیار زیادی در فریم ورک ها از قبل تهیه و برنامه نویسی شده است که باعث میشود که شما کارهای روتین و ابتدایی یک پروژه را رد کنید و مستقیم به سراغ انجام کارهای اصلی پروژه بروید.
برای مثال اگر شما بخواهید اقدام به نوشتن یک اپلیکیشن آنلاین با PHP کنید، کارهای روتین زیادی را در ابتدا باید انجام دهید:
فولدر های اصلی را بسازید
فایل index.php را بسازید
فایل مربوط به اتصال به دیتابیس را بسازید (دیتابیس چیست؟)
با شرط if چک کنید که اگر در اتصال به دیتابیس با خطا مواجه شدید، خطا را چاپ کند
در ابتدای فایل index.php فایل دیتابیس خود را وارد (require_once) کنید
و ده ها مرحلهی ابتدایی دیگر
مقالهی مرتبط: تفاوت متد GET و POST در PHP + مثال عملی
اینطور فکر کنید که برای انجام هر پروژهی جدید، شما نیاز هست که بخش زیادی از زمانتان را صرف کارهای حاشیهای، تکراری و روتین کنید و این برای شما به عنوان یک برنامه نویس فاجعه است. زیرا زمان شما را از بین میبرد.
اگر بخواهیم بگوییم که فریم ورک چیست ، میتوانیم بگوییم که فریم ورک ها ابزاری هستند که کار را برای شما راحت تر و ساده تر میکنند.
سرعت کدنویسی بیشتر میشود
یکی دیگر از مزایای فریم ورک ها این است که سرعت کدنویسی شما را افزایش میدهند. دلیل این امر این است که خیلی از کارهایی که در برنامه نویسی پروژه ها بدون استفاده از فریم ورک از شما وقت و زمان میگیرد، در فریم ورک ها بصورتی تعبیه و کدنویسی شده است که بسیار سریع انجام شود.
در فریم ورک ها هرگز وقت شما برای کارهای روتین، پیش پا افتاده و بی اهمیت صرف نمیشود. همه مقدمات در فریم ورک ها برای شما اماده است که تمام تمرکز خودتان را بر روی منطق (Logic) اصلی کدتان بزارید و به هیچ چیز دیگری فکر نکنید.
در یک فریم ورک بسیاری از امکانات از قبل وجود دارند
اگر بخواهیم بگوییم که بهترین دلیل وجود فریم ورک چیست ، میتوانیم بگوییم امکانات پیشفرض آن است. بسیاری از کارهایی که شما میخواهید بصورت دستی قابلیت آنرا به کدتان اضافه کنید، از قبل توسط فریم ورک ها نوشته شده است و شما فقط باید از آنها استفاده کنید.
برای مثال اگر شما بخواهید برای فرم های سرویستان Form Validation داشته باشید و چک کنید که اگر رمز کاربر کمتر از 5 کاراکتر بود، برای او خطایی نمایش داده شود، اینکار را میتوانید خیلی راحت با قابلیت های پیشفرض فریم ورک ها در چند دقیقه پیاده سازی کنید و دیگر نیازی به نوشتن چندین خط کد اضافه ندارید. این باعث میشود که وقت و انرژی بیشتری را ذخیره کنید.
تمرکز روی خودِ خودِ پروژه
فریم ورک ها به این دلیل که بسیاری از قابلیت ها را در دل خود دارند و نیازی به نوشتن دوباره توسط شما نیست، به شما کمک میکنند که روی خودِ خودِ پروژه تمرکز کنید.
شما اگر فریم ورکتان را هوشمندانه و خوب انتخاب کنید، تمام نیازهای شما را برای پروژهتان براورده میکند و وقتی که هر قابلیتی که نیاز داشتید را توانستید به سادگی پیاده کنید، آن موقع است که میتوانید زمانی که بدست آوردهاید را روی چیزهای مهمتری در پروژهتان صرف کنید.
توابع قابلیت استفادهی مجدد را دارند
نکتهی مهمی که در خصوص فریم ورک ها وجود دارد این است که به شما امکان استفادهی مجدد از کدها یا اصطلاحا reuse کردن کد ها را میدهد که این فوق العاده است.
کدهای منظم تر و بهتری خواهید داشت
بسیاری از فریم ورک ها به دلیل استفاده از معماریهایی مثل MVC کمک میکنند که کد بسیار منظم تر و مرتب تری داشته باشید.
خیلی سخت است اگر بخواهید که بدون استفاده از یک فریم ورک، کدی بنویسید که منظم، خوانا، تمیز و قابل فهم برای همگان باشد. اما فریم ورک ها به دلیل ساختاری که دارند، این امکان را برای شما فراهم میکنند که کدتان تا حد بسیار زیادی به یک کد منظم و خوانا و غیرکثیف تبدیل شود.
خودم یه فریم ورک خیلی بهتر مینویسم!
نکتهای که در بین برنامه نویسانی با تجربهی متوسط وجود دارد این است که به دلیل غروری که با آن دچار میشوند، هیچکدام از فریم ورک های موجود را قبول ندارند و همگی میخواهند که فریم ورک مخصوص خودشان را از صفر بنویسند و همه پروژههایشان را با آن فریم ورک انجام دهند.
نوشتن یک فریم ورک از صفر برای یادگرفتن حرفهای برنامه نویسی عالی است. اگر میخواهید که به هدف تمرین و افزایش مهارت های خودتان یک فریم ورک را از صفر بنویسید این فوق العاده است و مطمئن باشید که در حین نوشتن فریم ورک خودتان، نکات بسیار زیادی را یاد خواهید گرفت.
اما اگر میخواهید فریم ورکی بنویسید که بزند روی دست لاراول یا کداگنایتر و چیز بهتری بنویسید، راه بسیار سختی در پیش دارید. زیرا بهترین و حرفهای ترین برنامه نویسان جهان در حال کار بر روی این فریم ورک ها هستند.
ممکن است شما بگویید که فریم ورکی که میخواهید برای خودتان بنویسید، دقیقا نیازهای شما را برطرف میکند و مثلا لاراول نیازهای شما را برطرف نمیکند.
شما میتوانید بجای نوشتن یک فریم ورک از صفر، فریم ورک را انتخاب کنید که تطابق زیادی با نیازهای شما داشته باشد و بتواند نیازهای شما را به خوبی برطرف بکند.
بجای اینکه وقت بگذارید و بخواهید یک فریم ورک را از صفر بنویسید که از فریم ورک های موجود بهتر باشد، یک فریم ورک مناسب برای پروژهتان پیدا کنید و زمانی که ذخیره میکنید را روی کارهای مهمتری بگذارید. حتما نتیجهی بهتری خواهید گرفت.
معرفی چند فریم ورک معروف
اگر بخواهیم معروف ترین فریم ورک های این روزها را بدانیم، میتوانیم به چند مورد زیر اشاره کنیم:
- فریم ورک Laravel (مخصوص PHP)
- فریم ورک Codeigniter (مخصوص PHP)
- فریم ورک Zend (مخصوص PHP)
- فریم ورک Angular (مخصوص جاوا اسکریپت)
- فریم ورک Backbone (مخصوص جاوا اسکریپت)
- فریم ورک django (مخصوص پایتون)