Framework به معنای چارچوب کاری است و این واژه در حوزه‌های متنوعی مورد استفاده قرار می‌گیرد ولی در این مطلب قصد داریم به مفهوم فریم ورک در زبان‌های برنامه نویسی بپردازیم.

فریم ورک یا چارچوب کاری در زبان‌های برنامه نویسی به مجموعه‌ای از قوانین و کتابخانه ها گفته می‌شود که کار برنامه نویسی را نظام مند و قدرتمند پیش می‌برند.

تقریبا هر زبان برنامه نویسی چند فریم ورک قدرتمند برای خود دارد، البته ذکر این نکته ضروری است که در تمام زبان‌های برنامه نویسی استفاده از فریم ورک‌ها هر چند ضروری است ولی بدون فریم ورک نیز باید بتوان کار توسعه نرم افزار را انجام داد.

مقایسه php با asp.net

بسیار شنیده ایم که کاربران به عنوان مثال برنامه نویسی PHP را با برنامه نویسی دات نت مقایسه می‌کنند. این مقایسه از اساس اشتباه است. چون PHP یک زبان مستقل برنامه نویسی است ولی دات نت یک فریم ورک است که برای زبان برنامه نویسی C# و یا ASP پیاده سازی شده است. پس درست این است که PHP را با زبان C# مقایسه کنیم.

اگر قصد یادگیری زبانی مانند C# را دارید شاید گزینه‌ای بهتر از .net ندارید هر چند فریم ورک‌های BFC ،MonoRail و دیگر فریم ورک‌ها نیز وجود دارند ولی کمتر کسی سراغ آن‌ها می‌رود.

در PHP فریم ورک‌ها بسیار متنوع و قدرتمند هستند. مانند فریم ورک های:

  • لاراول
  • سیمفونی
  • زند فریم ورک
  • کیک
  • Codeigniter

آموزش کامل و کاربردی فریم ورک لاراول

آموزش کامل و کاربردی فریم ورک قدرتمند سیمفونی

زبان python نیز فریم ورک‌های قدرتمندی دارد که معروف ترین آن‌ها جنگو است.

زبان Ruby نیز از فریم ورک قدرتمندی به نام Ruby on Rails بهره می‌برد.

چرا باید از فریم ورک‌ها استفاده کرد؟

به طور خلاصه فریم ورک‌ها کار ساخت نرم افزارهای حرفه‌ای و امن را بسیار ساده تر و قدرتمند تر می‌کنند.

فریم ورک‌ها توسط برنامه نویسان قدرتمندی نوشته می‌شوند که علاوه بر تعریف چارچوب کاری نظام مند کتابخانه‌های قدرتمندی نیز به فریم ورک خود متصل می‌کنند که شما را از نوشتن بسیاری از کتابخانه‌های بی نیاز می‌کند.

مثلا تقریبا در تمام فریم ورک‌ها کتابخانه‌هایی برای ارتباط با پایگاه داده وجود دارد که فرایند ارتباط با پایگاه داده شامل دریافت و ذخیره اطلاعات را تسهیل می‌کنند.

پایگاه‌های داده به دلیل آسیب پذیری بالایی که دارند در معرض حجم وسیعی از تهدیدها هستند که کمتر برنامه نویسی می‌تواند برنامه خود را با رعایت کلیه نکات امنیتی پیاده سازی کند.

متخصصانی که فریم ورک‌ها را پیاده می‌کنند برای حل این چالش از کتابخانه‌ای به نام ORM استفاده می‌کنند که تقریبا تمام نکات امنیتی ارتباط و استفاده از پایگاه داده را رعایت می‌کنند.

ORM چیست؟

ORM‌ها و یا Object-relational mapping  ها شاید مهم ترین بخش هر فریم ورک باشند ولی پیاده سازی آن‌ها نیازمند دانش، تجربه و تخصص بالاست که با استفاده از ORM در نرم افزار خود میزان زیادی از دغدغه‌های شما را حل می‌کند.

ORM باعث تبدیل داده‌های ساده به Object‌های مناسب برای استفاده در برنامه می‌شود.

اطلاعات در سیستم‌های پایگاه داده رابطه‌ای به صورت غیر شی گرا هستند و برای سهولت در استفاده از داده‌های پایگاه داده در برنامه‌های شی گرا از ORM استفاده می‌شود تا این داده‌ها تبدیل به داده‌های مناسب برای استفاده در زبان‌های شی گرا شوند.

معروف ترین ORM‌های .net عبارتند از LINQ و Entity.

در زبان برنامه نویسی PHP شاید هیچ ORM‌ای به اندازه Doctrine معروف و مهم نباشد. ولی ORM‌های داخلی Cake PHP و ZendFramework و Laravel نیز بازدهی خوبی دارند.

زبان برنامه نویسی جاوا شاید بیشترین تنوع ORM‌ها را دارد که از این بین می‌توان به athena framework و Ebean اشاره کرد.

زبان برنامه نویسی Python نیز از Peewee و Tryton و همچنین ORM داخلی Django استفاده می‌کند.

زبان برنامه نویسی Ruby از iBaTIS و زبان برنامه نویسی Go از SQLBoiler بهره می‌برند.

یکی از مزیت‌های مهم استفاده از ORM‌ها وجود امکان کوچ ساده در بین سیستم‌های مدیریت دیتابیس است. مثلا شما کار توسعه نرم افزار خود را با سیستم پایگاه داده MySQL شروع می‌کنید. در ادامه کار سیستم خود ممکن است مجبور باشید به جای MySQL از MongoDB استفاده کنید. در اکثر ORM‌ها تغییر سیستم مدیریت دیتابیس به راحتی امکان پذیر است. در صورتی که اگر از ORM استفاده نکنید تغییر سیستم پایگاه داده به معنای دوباره نوشتن حجم بزرگی از کدهای خود و تست‌های مکرر برای اطمینان از صحت عملکرد نرم افزار با سیستم پایگاه داده جدید می‌باشد.

MVC در فریم ورک‌ها به چه معناست؟

ام وی سی، در واقع یک مدل ارتباطی برای ارتباط اجزاء درونی یک فریم ورک است.

MVC در واقع خلاصه عبارات Model ،View و Controler است. model مربوط به بخش پایگاه داده، View مرتبط با لایه نمایشی و ارتباط با کاربران و Controler برای ایجاد ارتباطات درون نرم افزار بین View و Model است.

البته خلاصه کردن فعالیت‌های فریم ورک به MVC خیلی کلی است و هر فریم ورک تعریف خاصی از MVC برای خود دارد.

و در خاتمه باید بگم این مطلب برای کامل بودن اطلاعات درون سایت و ارجاع دادن دوستان به مفهوم فریم ورک تولید شده که امیدوارم مفید بوده باشه.

اگر نقد، پیشنهاد و یا انتقادی در مورد مطالب گفته شده دارید خوشحال می‌شویم با شما در بخش نظرات در ارتباط باشیم.

تگ ها: golangدیتابیس و پایگاه دادهلاراول / Laravelسیمفونی / symfonyکدایگنایتر / Codeigniterpython / پایتونORM