فریم ورک ها از محبوبترين ابزارهاي كاربردي يك برنامه نويس حرفهاي ميباشند كه در كنار ساده سازي فرآيند برنامه نويسي، وي را در ارائه يك برنامه امن و قدرتمند ياري ميكند. در اين مقاله قصد داريم تا به مفهوم فريم ورك بپردازيم كه به طور حتم براي برنامه نويس يا توسعه دهنده وب اهميت به سزايي دارد.
فریم ورک FrameWork چیست؟
برنامه نويسان يا افرادي كه به اين حرفه علاقمند هستند، حتما بايستي مفهوم فریم ورک را درك كرده باشند؛ ابزاري كاربردي كه افراد را در يك پروژه موفق برنامه نويسي ياري ميكند.
كتابخانه يا نقشه برنامه نويسي شايد توصيفي مختصر براي فریم ورک به حساب آيند كه در ادامه به شرح دقيق تر آنها و البته كاربردهايشان خواهيم پرداخت.
فریم ورک يا Framework در واقع یک قالب کاربردی یا چهارچوب نرمافزاری بوده كه مانند اسكلت ساختمان به اجزاي آن نظم ميبخشد؛ به عبارتي فریم ورک مانند چارچوب به فرآيند كدنويسي نظم و ترتيب ميدهد.
همانطور كه پيشتر به آن اشاره شد ميتوان فریم ورک ها را به كتابخانه اي تشبيه كرد كه در آن كدها با ترتيب چيده شدهاند؛ در نتيجه نيازي نيست كه برنامه نويسان كد را از اول بنويسند؛ به اين ترتيب فرصت خواهند داشت تا به روي مواردي چون رابط كاربري و كدهاي ويژه برنامه خود بپردازند.
فریم ورک ها چگونه ساخته ميشوند؟
اين ابزار كاربردي به طور معمول طبق ساختاری با عنوان (MVC (Model View Controller طراحي و ساخته ميشوند. ميتوان گفت كه MVC درواقع یک ساختار برنامه نویسی شی گرا است كه شکل خاصی از ترکیب کدها را فراهم ميكند. در ساختار MVC كدها به سه دسته تقسيم ميشوند كه هركدام وظیفه خاصي دارند:
- بخش Model كه وظيفه ذخیره و بازیابی دادهها را دارند.
- بخش View كه موظف به ارائه و نمایش اطلاعات به کاربران هستند.
- بخش Controller كه مسئول دریافت اطلاعات از کاربران و پردازش آنها را بر عهده دارد.
براي مثال زمانی که كاربران از سایت شما بازدید میکنند بخش کنترلر را بكار ميگيرند و ويو را بررسي ميكنند. وقتی كاربران یکی از دستورات Create ، Read ، Update، Delete را انجام میدهند؛ مثلا با Create يك حساب كاربري ميسازند، با Read در سايت جستجو ميكنند، با Update در تنظيمات حساب كاربري خود تغيير ايجاد مي كند و با Delete حساب كاربري خود را حذف ميكنند.
لازم به ذكر است كه همه فریم ورک ها طبق شی گرایی ساخته نميشوند؛ به عبارتي سیستمهای مدیریت محتوايي نظير جوملا يا وردپرس ميتوانند درنهایت به یک فریم ورک مبدل شوند.
در مجموع ميتوان گفت هدف اصلی فریم ورک انجام فرآيند برنامه نویسی با حداکثر کارایی، در کمترین زمان و حداقل تعداد کد است؛ حالا هر ساختاري كه ميخواهد باشد.
فريم ورك ها در زبان هاي برنامه نويسي مختلف
Framework كتابخانهاي از هزاران هزار کد و اسکریپت است كه در زبانهای برنامه نویسی مختلف موجود هستند؛ درواقع هر زبان برنامه نويسي داراي فریم ورک خاص خود است.
براي مثال از جمله فریم ورک های زبانPHP ميتوان به Laravel ، Phalcon ، Symphony ، Kohana و CakePHP اشاره كرد.
همچنين از فريم ورك هاي زبان جاوا ميتوان به Spring ، Hibernate ، Java EE ، GWT و … اشاره كرد.
انواع فریم ورک ها
جدا از زباني كه فريم ورك ها طبق آن ساخته ميشوند، اين ابزار مفيد وكاربردي در دو دسته Backend و Frontend قرار ميگيرند. هركدام از اين فریم ورک ها اهميت خاص خود را دارند.
براي مثال فریم ورک هاي Backend فرآيند كدنويسي، نگهداري وگسترش آنها را آسان ساخته و در عين حال امنيت سايت را بالا ميبرد. در ادامه به معرفي برخي از فریم ورک هاي مهم و كاربردي خواهيم پرداخت.
Laravel
اين نوع، فریم ورک متن باز و رایگان و متعلق به دسته Backend مي باشد. Laravel مختص زبان برنامه نويسي PHP و البته ساختار MVC طراحي و ساخته شده است.
متن باز بودن اين فريم ورك این امکان را به برنامه نويسان ميدهد كه براساس نياز خود و اهدافي كه دنبال ميكنند، تغييرات لازم را اعمال كنند؛ به علاوه لاراول يك سيستم modular packaging بوده و امكان راه اندازي نرم افزار و تعمير و نگهداري آن را ارائه مي كند؛ به اين ترتيب براي طراحي انواع نرم افزارها بسيار مناسب است.
CakePHP
CakePHP از جمله فريم ورك هاي محبوب و متن باز براي برنامهنویسان است؛ چراكه با حداقل كد، قابليت ها منحصر به فردي ايجاد ميكند. CakePHP بر اساس MVC و البته نقشهبرداری دادههای ارتباطی ساخته شده اند.
كار با این فریم ورک به دليل داشتن راهنماي عملي دقيق بسيار آسان است؛ همچنين با قابلیتهایی مانند تایید اطلاعات کاربران، CSRF، حملات XXS و SQL Injection امنیت برنامه نیز به خوبي فراهم میگردد.
Yii
این فریم ورک مخفف عبارت Yes It Is بوده و چهارچوبی متن باز، امن و سریع بر اساس MVC است. اين فريم ورك مختص زبان برنامه نويسي PHP ميباشد.
برنامه نویسان با كمك Yii میتوانند سایر فریم ورک ها را نیز در هنگام برنامه نویسی، تركيب نمايند. دارا بودن پشتیبانی از AJAX در كنار امنیت بالا از ويژگي هاي مهم اين فريم ورك به شمار ميروند.
Django
این فریم ورک مختص زبان Python بوده و با ابزارهایی نظير Authenticationيا URI Routing جهت طراحی وب اپلیکیشن به كار ميروند. اين فريم ورك به دلیل كاربرد آسان، قابلیت توسعه سریع نرم افزار و البته کارایی بالا محبوبيت بسياري دارد.
لازم به ذكر است كه سیستم راهاندازی سایتهايي مانند Pinterest، اینستاگرام و فیسبوک از ابزارهای Django استفاد مينمايند.
React
اين فريم ورك محصول شرکت فیسبوک مختص زبان برنامه نويسي جاوا اسکریپت است. از این فريم ورك در وبسایتها جهت طراحی صفحههای کاربری دینامیک استفاده ميگردد. امكان استفاده ازDOM مجازی ديگر كاربرد مهم فريم ورك React محسوب ميشود.
Spring
از معروفترین فریم ورک ها در زبان برنامه نويسي جاوا ميتوان به فريم ورك Spring اشاره كرد. Spring نخستين فریم ورک بر مبناي MVC در حوزه برنامه نویسی بوده و به عنوان یک استاندارد غیررسمی در جاوا، يكfull stack از خدماتی مانند Dependency Injection، IOC، Security و … به حساب ميآيد.