در این مقاله قصد داریم شمارا با Framework آشنا کنیم و بگوییم که فریمورک چیست؟ و چرا باید از آن استفاده کنیم؟
در دوره رایگان آموزش سی شارپ فریمورک را آموزش داده ایم که در زیر یک ویدئو از این دوره که به معرفی فریمورک پرداخته ایم را قرار داده ایم.
فریم ورک ساختاری است که شما می توانید بر روی آن نرم افزار بسازید. فریم ورک ها معمولاً با یک زبان برنامه نویسی خاص مرتبط هستند و برای انواع مختلف وظایف مناسب هستند.
فرض کنید در حال ساختن خانه هستید. خودتان می توانید فونداسیون را بریزید و خانه را قاب کنید. زمان زیادی می برد، اما شما می توانید آن را انجام دهید. اگر همه اینها قبلاً برای شما انجام شده باشد، اگر توسط یک معمار متخصص ساخته شده براشد در زمان شما صرفه جویی می شود .
در توسعه نرم افزار، یک فریم ورک هدف مشابهی را دنبال می کند. و توسط دیگر توسعه دهندگان و مهندسان نرم افزار طراحی و آزمایش شده است، بنابراین یک ساختار قابل اعتماد را ایجاد می کنند
در نرمافزارها یکسری کارها هستند که ثابت هستند و در همه برنامهها باید آنها را انجام دهیم برای مثال مدیریت حافظه. رم سیستم محدود است و ما یک سیستم داریم با هشت گیگ حافظه رم و حالا میخواهیم یک برنامه بنویسیم که نیاز دارد اطلاعاتی را روی رم ذخیرهسازی کند. خب ما بهعنوان برنامهنویس باید مراقب باشیم که برنامه crash نشود و باید زمانی که در برنامه کارمان با دیتاها تمام شد باید از روی رم سیستم پاک شوند تا به مشکل بر نخوریم و بهصورت پیشفرض زبانها این کار را انجام نمیدهد و ما باید خودمان این کارها را انجام دهیم.
مشکلی که وجود دارد این است که برنامهنویس باید تمرکزش روی منطق بیزینسی برنامه باشد نه این موارد و این موارد بیشتر به سیستمعامل و سختافزار مرتبط هستند تصور کنید که مثلاً در مثال مقدمه میخواهید یک برنامه حسابداری بنویسید باید مراقب باشید که زمانی که یک متغیر تعریف میکنیم باید آن را بعد از کار از رم پاک کنیم که برنامه کرش نکند و حالا اینکارها را که وظیفه برنامهنویس است را فریمورکها انجام میدهند در اصل فریمورک یک چهارچوب است که به ما میگوید طبق این چهارچوب کد بزنید که یکسری موارد از پیش تعیین شده را برای ما انجام دهد و زمانی که از قابلیتهای یک فریمورک استفاده میکنیم باعث میشود که خیلی سریعتر برنامه را توسعه بدهیم بهعنوانمثال فریمورک دات نت کلی قابلیت در اختیار ما قرار میدهد که لازم نیست خودمان اضافهکاری انجام دهیم مثلاً همین کار مدیریت حافظه را بهخوبی انجام میدهد و ما برنامهنویسان دیگر نگران این موارد نیستیم.
اگر فریمورکها وجود نداشتند ما برنامهنویسان شاید باید بیشتر از پنجاهدرصد زمان و تمرکزمان را روی این کارها میگذاشتیم که اهمیت زیادی نداشتند اما حالا میتوانیم روی بیزینسمان تمرکز کنیم.
چرا از فریم ورک استفاده می کنیم؟
استفاده از فریمورک ها باعث صرفه جویی در زمان و کاهش خطا می شود ونیازی نیست همه چیز را از پایه بنویسیم، بنابراین احتمال کمتری برای ایجاد خطا وجود دارد. به علاوه، فریمورک ها قبلاً آزمایش شده اند، بنابراین جای نگرانی کمتری وجود دارد.
مزایای استفاده از فریمورک:
کد امن تر
جلوگیری از نوشتن کد تکراری
کدنویسی تمیز و به راحتی قابل تطبیق کردن کدها
افزایش سرعت کدنویسی
افزایش تمرکز بر روی نرمافزاری که میخواهیم طراحی کنیم
قابلیت استفاده مجدد بالاتر میرود
دادن نظم و ترتیب به پروژه
اگر بخواهیم در دنیای واقعی یک مثال از فریمورک بزنیم میتوانیم باشگاه بدنسازی را مثال بزنیم
باشگاه را با ورزشکردن در خانه در نظر بگیرید. اگر بخواهیم در خانه ورزش کنیم مجبوریم کلی وسیله خریداری کنیم و حالا درگیر میشویم که این وسایل کدامشان بهتر است و کدام یک به درد ما میخورد یا خیر و اگر خراب شود خودمان باید درست کنیم و اینکه ما مربیگری بلد نیستیم و خودمان باید یاد بگیریم و کلی دغدغه دیگر به وجود میآید. اما با واردشدن به باشگاه یک فریمورک آماده برای ما وجود دارد که همه چیز برای ما مهیا است و تمرکز اصلی بر روی خودمان است و هیچکدام از مشکلات بالا را نداریم و کلی امکانات داریم که میتوانیم به راحتی استفاده کنیم.
در برنامهنویسی فریمورکها همین کار را برای ما انجام می دهند و ما زمانی که داریم از یک فریمورک استفاده میکنیم از یک سری قابلیتهای از پیش تعیین شده بهرهمند میشویم ضمناً امکاناتی که در فریمورکها هستند توسط برنامهنویسان حرفهای نوشته شدهاند و ما این اطمینان را داریم که بهدرستی کار میکنند و اگر هم مشکلی داشته باشند خیلی سریع حل میشود.
انواع فریم ورک
از فریم ورک ها برای توسعه وبسایتها، برنامههای کاربردی تلفن همراه، علم داده و موارد دیگر میتوانیم استفاده کنیم .در این مقاله برخی از فریمورک های محبوب تر را معرفی میکنیم.
فریم ورک های توسعه وب
- AngularJS یک فریم ورک برای front end جاوا اسکریپت است. یکی از محبوب ترین فریم ورک های وب است و توسط گوگل پشتیبانی می شود.
- جنگو (Django)یک چارچوب توسعه وب open-source است که توسط بنیاد نرم افزار جنگو پشتیبانی می شود. این زبان با زبان پایتون، یک زبان برنامه نویسی محبوب، نوشته شده است و برای تشویق "توسعه سریع و طراحی تمیز و عملی" طراحی شده است. سریع، ایمن و مقیاس پذیر است.
- Rails نیز یک فریم ورک open-source است. به زبان برنامه نویسی Ruby نوشته شده است که برای استفاده آسان طراحی شده است. Rails به گونه ای طراحی شده است که شما کد کمتر و کدهای تکراری کمتری را می نویسید. از آن برای توسعه سایت هایی مانند Airbnb، Twitch و Hulu استفاده شده است.
- Express یک چارچوب Back-end برای Node.js است که به شما امکان می دهد سروری را با سربار بسیار کمی راه اندازی کنید. این چارچوب رایگان، open-source است و با جاوا اسکریپت نوشته شده است. اکسپرس به بسیار انعطاف پذیر بودن شهرت دارد.
فریم ورک های توسعه موبایل
- Flutter چارچوب اپن سورس گوگل است. از iOS و Android پشتیبانی می کند و دارای ویجت های کاملاً قابل تنظیم است.Flutter برای سرعت بخشیدن به توسعه برنامه و ایجاد برنامه های جذاب و کاربر پسند طراحی شده است. از یک لایه نازک کد C/C++ استفاده می کند، اما بیشتر سیستم آن در دارت است.
- Xamarin یک فریمورک محبوب مبتنی بر دات نت است که توسط مایکروسافت ارائه شده است. همچنین از iOS و Android پشتیبانی می کند و دارای 60000 مشارکت کننده است.
- React Native توسط فیس بوک توسعه یافته است. این فریم ورک open-source کراس پلتفرم است و با جاوا اسکریپت نوشته شده است. در بسیاری از برنامه های محبوب از جمله Discord، Instagram و Shopify استفاده می شود.
- NativeScript یک چارچوب open-source و چند پلتفرمی است. برنامههای NativeScript با استفاده از جاوا اسکریپت ساخته میشوند و از دیگر چارچوبهای جاوا اسکریپت مانند Angular و Vue پشتیبانی میکنند. و به دلیل پشتیبانی قوی آن محبوب است.
- Ionic یکی دیگر از چارچوب های open-source و چند پلتفرمی است. از جاوا اسکریپت، HTML و CSS استفاده میکند و شامل کتابخانهای از اجزای رابط کاربری، حرکات و ابزارهای بهینهسازی شده برای موبایل است. Ionic برنامههای سریع میسازد و با فریمورکهای front-end مانند Angular و Vue ادغام میشود.
فریمورک را با کتابخانه اشتباه نگیرید
بسیاری از افراد بهاشتباه framework را با کتابخانه و یا library اشتباه میگیرند و تفاوت این دو را نمیدانند
در جواب باید بگوییم که برخی برنامهنویسان کدهایی را مینویسند و این کدها را وارد یک کتابخانه میکنند و برنامهنویسان دیگر این کدها را نمیزند و از کدهایی که از قبل آماده شده استفاده میکنند به این صورت که از کتابخانهها استفاده میکنند که کدهایی از قبل درون آنها وجود دارد اما فریمورک یک چهارچوب است که به ما میگوید تحت این قوانین کد بزنید و در فریمورکها ممکن است کتابخانههایی نیز وجود داشته باشند
یک چارچوب در اصل یک اسکلت است و شما با اسکلت کار می کنید. یک فریمورک کد شما را فراخوانی می کند. کد شما با یک کتابخانه تماس می گیرد. به عبارت دیگر، زمانی که از یک کتابخانه استفاده می کنید، کد شما کنترل می شود، اما زمانی که از یک فریم ورک استفاده می کنید، کنترل آن در دست است.
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید