اگر با برنامه نویسی نسبتا آشنایی داشته باشید حتما واژهی فریم ورک ( framework ) را بارها شنیده اید و برایتان این سوال پیش آمده باشد که فریم ورک چیست و چه کاری انجام میدهد؟
من میلاد فتحی در ادامه این آموزش همراه شما خواهم بود.
میخواهیم در این مقاله به بررسی فریم ورک بپردازیم که بدانیم فریم ورک اصلا چی هست، چه کاری انجام میدهد و چه ویژگی هایی دارد.
فریم ورک یا Framework به معنای چارچوب است که برای درک بهتر میتوانید به این مثال توجه کنید:
فرض کنید ما یه عکس داریم که میخواهیم درون یک قاب عکس قرار بدهیم و بر زیبایی و کارایی عکس بیفزاییم حال برای اینکار باید طول و عرض این عکس را مطابق با قابی که در نظر گرفته ایم در بیاوریم چرا که اگر طول و عرض عکس از قاب بیشتر باشد یک نامنظمی زشتی ایجاد میشود که زیبایی عکس را از بین میبرد. بنابراین باید از یک چارچوب خاص که همان طول و عرض قاب است پیروی کنیم تا یک نظم و زیبایی بوجود بیاوریم. بنابراین در این جا میتوانیم بگوییم قاب یک فریم ورک است برای زیباتر نشان دادن عکس است.
فریم ورک ها در واقع چارچوبهای نرم افزاری هستند که شامل مجموعه ای از قوانین و کتابخانهها هستند و کمک میکنند تا عملیات کدنویسی با نظم بیشتر و به بهترین شکل صورت گیرد؛ دیگر برنامه نویسان مجبور نیستند یک سری کدهای تکراری را هر بار از اول بنویسند و به جای اینکار میتوانند انرژی و زمان خود را بیشتر به کدنویسی بخشهای دیگر برنامهای که در حال ایجاد آن هستند اختصاص دهند بنابراین کاملا میتوان متوجه شد که استفاده از فریم ورک سرعت انجام کار را نیز بالاتر میبرد.
همانطور که وجود اسکلت در هر ساختمان باعث به وجود آمدن یک ساختار منظم و بهتری میشود فریم ورکها هم همینکار را در ساخت یک برنامه انجام میدهند.
وقتی بحث پایگاه داده میشود اولین موضوعی که در ذهن نقش میبندد بحث امنیت است با توجه به اینکه فریم ورک های معروف در زبان های مختلف توسط یک یا چند برنامه نویس قدرتمند ساخته شده و دائم در حال بروزرسانی است پس می توانیم اطمینان داشته باشیم که از قبل آنان به این مباحث پرداخته اند و راه های مقابله را بکار بردهاند، البته پایگاه داده یک مثال بود جهت درک مسئله وگرنه آنان به شکل های مختلف حملات هکرها آشنا و در تلاش برای ایجاد و تقویت راه های مقابله با هکر ها هستند.
یکی از مزایای استفاده از فریم ورک ها بالا بردن سرعت کدنویسی است چرا که دیگر لازم نیست وقت زیادی رو برای نوشتن کارهای اولیه و تکراری پروژهها هدر بدهید به این دلیل که فریم ورک این کارها را برای شما انجام داده است و شما میتوانید به راحتی از آنها استفاده کنید.
با توجه به اینکه ساختار اصلی اکثر فریم ورک ها بر اساس معماری MVC طراحی شده است و هر عملی با توجه به عملکرد خاص خود در جای مناسب نوشته میشود اینکار موجب تمیز و خوانا شدن کدها میگردد به صورتی که اگر بعد از مدتی برای توسعه کدها برگردید و یا شخص دیگری بخواهد آنرا توسعه بدهد خیلی سریعتر متوجه کدها میشود و کار را شروع میکند.
ام وی سی یا MVC مخفف کلمات Model View Controller می باشد که در واقع یک معماری برنامه نویسی است که برنامه را به سه قسمت Model برای ارتباط با پایگاه داده، View رابط کاربری و نمای ظاهری برنامه، چیزی است که کاربر در هنگام تعامل با برنامه ما مشاهده میکند و Controller برای پردازش درخواست کاربران و ایجاد پل میان Model و View
یکی از ویژگی های هیجان انگیز فریم ورک ها آماده بودن تعداد زیادی از توابع لازم برای برنامه نویسی است به صورتی که میتوان در جاهای مختلف برنامه از آنها استفاده کرد که همین خود باعث جلوگیری از تکرار کدها (تمیز نگهداشتن کدها) و رعایت قانون DRY میشود و همچنین موجب بالا رفتن سرعت انجام پروژه میگردد.
یکی از اساسی ترین قواعد برنامه نویسی قانون DRY است که مخفف جمله Don't Repeat Yourself می باشد و به معنای « دوباره کاری نکن » است، این قانون توسط دو برنامه نویس به نام های Andy Hunt و Dave Thomas ابداع شد که بسیاری از دیزاین پترن ها ریشه در این قانون دارند و باعث میشود اگر یک کار مشخص در قسمت های مختلف برنامه تکرار میگردد بحای اینکه در هر کدام از آن قسمت ها این کد را کپی کنید آنرا در یک کلاس یا تابع قرار دهید و به صورت یکپارچه از آن استفاده کنید که اینکار حتی ویرایش آن در زمات های بعدی را هم راحتتر میکند.
فریم ورک های زبان برنامه نویسی PHP
فریم ورک های زبان برنامه نویسی جاوااسکریپت
فریم ورک های زبان برنامه نویسی جاوا
فریم ورک های زبان برنامه نویسی پایتون
و در نهایت متوجه شدیم که اگر بخواهیم به سوال فریم ورک چیست جواب بدهیم میتوانیم بگوییم فریم ورک ها یک چارچوب برای برنامه نویسان است که فرآیند برنامه نویسی را سریعتر و لذت بخش تر میکند، سرعت و دقت را بالا میبرد، امنیت برنامه را بیشتر میکند و به جای اتلاف وقت برای انجام کارهای اولیه و پیکربندی پروژه برنامه نویس میتواند بیشتر بر روی کدنویسی برنامه تمرکز کند به این ترتیب بازدهی و راندمان کار را بالاتر میبرد.
امیدوارم با این مقاله به جواب سوال های خود رسیده باشید.
من میلاد فتحی هستم و این اولین نوشته من در ویرگول بود.