واژه ی فریــــــــــــــــــم ورکـــــــــــــــــــ به معنای چارچوب است و در نرم افزارها و برنامه های کامپیوتری بواسطه امکانات و ساختار های فراهم شده از سمت یک زبان برنامه نویسی ساختاری ایجاد میکند تا برنامه نویسان با استفاده از آن سریع تر و با صرف زمان کمتری به توسعه و پردازش نرم افزار ها اقدام کنند .
بطور کلی فریم ورک مجموعه ایی از ماژول ها ، ساختار ها و ابزار های گوناگون برای استفاده جهت توسعه برنامه هاست .
استفاده از فریم ورک ها به سهولت کار برنامه نویسان منجر میشود و علت این امر جلوگیری از نوشتن کد های مشابه در روند برنامه نویسی است.
در واقع درفریم ورک ها ابزاری هایی طراحی شده است تا نیازی به برنامه نویسی از صفر نباشد.
بعنوان مثال اگر نخواهیم از فریم ورک ها استفاده کنیم برای تولید و توسعه یک وب اپلیکیشن نیاز هست تا کد های چارچوب ، فایل و فولدر های مورد نیاز و بدنه و ساختار کلی را ایجاد کنیم سپس در بخش های مهم تری از پروژه تمرکز داشته باشیم .
استفاده از فریم ورک باعث میشود تا حین روند توسعه تمرکز شما روی سطح بالای برنامه باشد زیرا که سطح های پایینی توسط خود فریم ورک ایجاد شده اند.
یکی از نیاز های دیگر که توسط فریم ورک ها برطرف میشود احراز هویت است که بطور کامل در دسترس قرار میگرد تا نیازی به ثبت اطلاعات مکرر در سیستم نباشد .
بدون استفاده از فریم ورک ها برنامه نویسان با استفاده از الگوی ذهنی و خلاقیت خود شروع به ایجاد یک ساختار و چارچوب کلی برای پروژه میکند و این اتفاق باعث میشود تا در طول زمان و روند توسعه امکان همکاری یا اپدیت پروژه بدون حضور برنامه نویس اصلی نباشد استفاده از فریم ورک بعلت جمع شدن کدهای بهینه ی بهترین برنامه نویسان و تعریف یک الگوی ثابت و مشخص از این امر جلوگیری میکند و امکان کار گروهی و توسعه در زمان های بعدی بر اساس استاندارد های موجود در فریم ورک کلی را ایجاد میکند .
استفاده از کدهای بهینه و استاندارد و تست شده ی موجود در فریم ورک ها باعث صرفه جویی در زمان و انرژی برنامه نویسان میشود .
امنیت که مهم ترین بخش روند توسعه یک نرم افزار می باشد تا حدود زیادی توسط فریم ورک ها با استفاده از ویژگی های امنیتی ایجاد میشود تاجای راه حل های شخصی و بدون تست برنامه نویسان مختلف را بگیرد.
مزیت بعدی امکان استفاده از کد ها و الگوهای از پیش تعیین شده است . در همین راستا امکان استفاده مجدد از کدها وجود دارد که باعث ایجاد نظم و کارایی در پروژه میشود.
وجود مستندات فریم ورک ها باعث میشود تا هنگامی که در روند برنامه نویسی به ایرادی برخوردید بتوانید آنرا پیدا کنید و روند عیب یابی و حل مساله را کوتاه تر کنید.
زبان های برنامه نویسی به کامپیوتر ها میگوید چه کارهایی انجام دهد و دارای یک نحو و قوانین خاصی است که سیستم را موظف میکند بعد از نوشته شدن کد صحیح ایجاد شود اما یک فریم ورک بر روی زبان برنامه نویسی نوشته میشود و با استفاده از قواعد آن زبان برنامه نویسی یک سری ابزار ها و ساختار ها ایجاد میکند.
بعنوان مثال JavaScript یک زبان برنامه نویسی است و Angular یک فریم ورک ساخته شده بر روی JavaScript است.
در مقاله ی معرفی فریم ورک Angular بطور کامل به ویژگی های این فریم ورک و کاربردهایش پرداختیم خوبه که این مقاله رو هم برای درک بهتر فریم ورک مطالعه کنیم ...
بطور کلی از کتابخانه برای اضافه کردن یک امکان یا خاصیت خاص یا برطرف کردن یک مشکل در پروژه استفاده میشود در حالی که فریم ورک ها سطوح عمیق تر و چارچوب اساسی پروژه را در بر میگیرند . فریم ورک ها حاوی استاندارد و کد های ثابت هستند و برنامه نویس بدون تغییر کد های اصلی میتواند کد های جدیدی به پروژه اضافه کند.
کدهای غیرقابل تغییر مفهومی بسیار ساده ایی دارندو بیان ساده برای کدهای غیر قابلتغییر این است که فریم ورکها مجموعهای از کدها را تولید میکنند که در بیشتر مواقع در دسترس برنامه نویسها و توسعه دهندگان نیستنداما کدهایی که به وسیله کتابخانهها در برنامه ایجاد میشوند، کاملاً قابل لمس هستند.
Functionality : بهینه و سریع تر کردن روند برنامه نویسی با استفاده از فریم ورک های استاندارد و با عملکرد بالا.
توانایی ایجاد امنیت پروژه باید توسط فریم ورک تامین شود.
فریم ورک انتخابی باید دارای کد های ساده و قابل فهم باشد.
فریم ورکی قابل قبول است که دارای جامعه بزرگی از کاربران و برنامه نویسان فعال باشد و مشارکت و پشتیبانی خوبی از توسعه پروژه ها انجام دهد.
فریم ورک خوب تست شده و در فضاهای بسیار گوناگونی و در شرایط خاص مورد امتحان قرارگرفته باشد و متناسب با کارایی و شکل تولید فریم ورک مستندات آن فراهم باشد.
قبل از استفاده از فریم ورک باید از پایداری آن مطلع شویم تا در روند توسعه در آینده آن دچار مشکل نشویم .
1.Django برای برنامه نویسان پایتون
2.Laravel برای برنامه نویسان php
3.CakePHP برای برنامه نویسان php
4.Ruby on rails برای برنامه نویسان Ruby
5.ASP.Net Core برای برنامه نویسان Net.
6.Express.js for برای برنامه نویسان JavaScript
7.Spring Framework + Spring boot برای برنامه نویسان JavaScript
Frontend Development Frameworks
1.Angular
2.React
3.Vuejs
4.Emberjs
5.Backbonejs
6.Semantic-UI
7.Foundation
8.Svelte
9.Preact
10.Blade
11.jQuery
1.Ionic
2.Xamarin
3.Flutter
TensorFlow
Apache Spark
PyTorch بر اساس زبان برنامه نویسی پایتون