فریم ورک چیست؟ what is Framework

فریم ورکشاید یکی از واژه هایی که امروزه بیشتر در حوزه برنامه نویسی میشنوید، فریم ورک Framework باشد. میخواهیم درباره این که اصلا فریم ورک چیست، چه کاربردی دارد،و چه مزایا و معایبی دارد صحبت کنیم.

برای مشاهده متن کامل پست فریم ورک چیست؟ what is Framework به ادامه مطلب مراجعه نمایید.

فریم ورک چیست؟ what is Framework

واژه فریم ورک در حوزه های دیگر به جز کامپیوتر هم کاربرد دارد مثل : Government Framework, Education Framework. اما ما  در اینجا می خواهیم درباره Computer Framework صحبت کنیم.

واژه فریم ورک به معنی یک چارچوب و یا یک قاعده و قانون است. در بسیاری از شرکت ها و کارهای تیمی، وقتی یک عضو مسئول یک بخش میشود، مثلا بخش کدهای PHP، معمولا به این صورت است که کدهای او با چارچوب و قاعده ی خود او نوشته می شوند و فهم، درک و عیب یابی یا حتی تغییر آن برای یک فرد دیگر یا حتی فردی از اعضای همان تیم بسیار مشکل است.

با ظهور و ایجاد فریم ورک ها یک چارچوب برای کدنویسی یا برنامه نویسی ایجاد شده به طوری که مثلاً فریم ورک Codeigniter برای زبان Php دارای یک قاعده و قانون مشخص است و کسی که این فریم ورک را بلد باشد و به آن تسلط داشته باشد، به راحتی می تواند کدها را بفهمد، آن را رفع عیب کرده و حتی آن ها را تغییر دهد. که این خود یک مزیت بسیار بزرگ است.

اما مزیت بعدی یک فریم روک این است که برای ساخت یک برنامه یا وب سایت، نیازی به نوشتن همه کدها از اول نیست. نوشتن کدها  از ابتدا بسیار زمانبر است و در زمانی که پروژه های متععد برای یک تیم وجود دارد وقت زیادی از آن ها می گیرد. اما فریم ورک ها کار را بسیار ساده کردند. چون بسیاری از کدها  آماده شده اند و نیازی به نوشتن همه کدها از ابتدا نیست و به سرعت بخشیدن و انجام پروژه ها کمک می کند.

هدف فریم ورک:

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

The aim of frameworks is to provide a common structure so that developers don’t have to redo it from scratch and can reuse the code provided

دسته بندی کلی فریم ورک ها:

به طور کلی فریم ورک ها به دو دسته Back-end Framework و Front-end Framework تقسیم میشوند.

Back-end Framework:

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

Front-end Framework:

این دسته از فریم ورک ها بر خلاف دسته ی قبلی به بخش نمایشی و وضعیت ظاهری برنامه برمیگردند و اصطلاحا در دید کاربر هستند. به عبارت دیگر این دسته مربوط با لایه نمایش می شوند. مانند فریم ورک های CSS.

معایب فریم ورک:

اما با این همه مزیت هایی که برای فریم ورک گفتیم، متأسقانه فریم ورک ها دارای معایبی هستند. اولین عیب فریم ورک این است که باید آن را فرا گرفت. مثلاً در یک تیم اگر اعضا به یک فریم ورک خاص مسلط نباشند بازهم همان مشکلات به وجود می آید.

مشکل دوم این است که اگر فریم ورک مورد استفاده دارای باگ یا مشکل باشد، همه برنامه هایی که با آن فریم ورک نوشته شده اند، دچار مشکل هستند و امنیت آن ها به راحتی به خطر می افتد.

در پست های بعدی به توضیح و معرفی فریم ورک های موجو در دو دسته فوق می پردازیم.

برای کسب اطلاعات بیشتر می توانید به Wikipedia, .techtarget, codeproject و stackoverflow  مراجعه نمایید.