برنامه نویسیمیم تک 24

Framework و دلایل استفاده از آن چیست ؟

Framework  در زبان برنامه نویسی به چه معناست ؟

Framework تشکیل شده از دو کلمه frame , work که درواقع نمایانگر کاری که انجام می‌دهد ، می باشد.

frame چهارچوبی و قالبی است که از آن استفاده می‌شود.

framework برای برنامه نویسان که همانند ی قاب عکس یا اسکلت یک ساختمان عمل می کند که قالب بندی برنامه را بر اساس برنامه ای که می خواهیم ایجاد کنیم به ما اختصاص میدهد و باعت نظم دهی برنامه میشود ،framework  قانون های را که هر برنامه نویس باید رعایت کند را به گونه ای به ما نشان و یاداوری می کند.

در واقع واسط بین برنامه نویسان و سیستم عامل می باشد.

همانند یک کتابخانه که قوانین برنامه نویسی را درخود رعایت کرده عمل میکند.

چرا باید از framework استفاده کنیم ؟

1. وارد نکردن پیش نیاز ها :

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

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

برای مثال اگر شما بخواهید اقدام به نوشتن یک اپلیکیشن آنلاین با PHP کنید، کارهای روتین زیادی را در ابتدا باید انجام دهید:

  1. فولدر های اصلی را بسازید
  2. فایل index.php را بسازید
  3. فایل مربوط به اتصال به دیتابیس را بسازید
  4. با شرط if چک کنید که اگر در اتصال به دیتابیس با خطا مواجه شدید، خطا را چاپ کند
  5. در ابتدای فایل index.php فایل دیتابیس خود را وارد (require_once) کنید
  6. و ده ها مرحله‌ی ابتدایی دیگر

و زمان بسیار زیادی می برد تا مسیر اولیه را دوباره طی کرده و به روند اصلی کارمان برسیم .

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

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

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

2. بالا بردن سرعت کدنویسی :

برای نمونه اگر نیاز به کدی داریم که باید یک سری اطلاعات را به پایگاه داده اضافه کنیم قبل از آن باید اطلاعات را از کاربر گرفته ، از لحاظ امنیتی چک شود و ….و محتویات داخل دستور SQL قرار گیرد که اگه موفق بود این شود که اگه نبود و… اما زمانی که داخل framework انجام می شود ، اطلاعات به راحتی گرفته و داخل تابع قرار می دهیم که از قبل کدنویسی شده و اون تابع در هسته فریم ورک همه کارهای لازم را انجام می دهد از لحاظ امنیتی ، اجرای دستور و…سرعت کدنویسی را بالا می برد.

3. داشتن امکانات اولیه :

اگر بخواهیم بگوییم که بهترین دلیل وجود فریم ورک چیست ، می توانیم بگوییم امکانات پیش‌فرض آن است.

بسیاری از کارهایی که شما میخواهید بصورت دستی قابلیت آن‌را به کدتان اضافه کنید، از قبل توسط فریم ورک ها نوشته شده است و شما فقط باید از آن‌ها استفاده کنید. برای مثال اگر شما بخواهید برای فرم های سرویس تان Form Validation داشته باشید و چک کنید که اگر رمز کاربر کمتر از ۵ کاراکتر بود، برای او خطایی نمایش داده شود، اینکار را می توانید خیلی راحت با قابلیت های پیش‌فرض فریم ورک ها در چند دقیقه پیاده سازی کنید و دیگر نیازی به نوشتن چندین خط کد اضافه ندارید.

این باعث می شود که وقت و انرژی بیشتری را ذخیره کنید.

4. نتایج بهتر برای پروژه :

فریم ورک ها به شما کمک می کند که صرفا بر روی کار خود تمرکز کنید و درگیر مسائل اولیه و موارد تکراری نشید و تمامی توان خود را به برنامه نویسی هدف مورد نظر بزارید.

در این قسمت به تعدادی از فریم ورک های برگزیده در سال 2019 میپردازیم :

1. Express js :

Express.js farmework

اکسپرس‌ جی‌ اس (Express js)، یا بطور ساده، اکسپرس (Express) یک فریم‌ورک انعطاف پذیر وب برای نود جی‌ اس است که مجموعه ای از ویژگی ها همچون APIهای ساده در اختیار قرار می‌دهد تا در ساختن بخش مدیریت (بک-اند یا back-end) در یک وب‌سایت یا اپلیکیشن موبایل از آنها استفاده کنیم.

اکسپرس متن باز است و درحال حاضر توسط موسسه نود جی‌ اس پشتیبانی می‌شود.

اکسپرس (Express js) همچنین میان‌افزارها (middlewares) و تعاریف مسیریابی (Routing) پایه را برای ما فراهم می‌سازد.

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

2. Flask :

Flask framework

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

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

فلسک عموماً به عنوان یک ریز چارچوب شناخته می‌شود

به این معنی که خصوصیاتی نظیر نگاشت شیء-رابطه‌ای، اعتبارسنجی فرم‌ها و دیگر ویژگی‌هایی که در چارچوب‌های بزرگ‌تر مانند جنگو یافت می‌شوند را ندارد؛ اما در عوض دستِ توسعه‌دهنده را برای اعمال پیاده‌سازی مورد نظرش کاملاً باز می‌گذارد و در کنار آن امکان گسترش به وسیلهٔ تعداد زیادی افزونه‌های طرف سوم را داراست.به ویژگی‌هایی نظیر توانایی تولید صفحات وب ، روشی خاص برای دریافت نشانی های وب ،اجرای کارساز وب ، دریافت اطلاعات از کاربر ، مدیریت خطاها و… اشاره کرد.

3. Phoenix :

Phoenix framework

phoenix یک framework توسعه وب است که در Elixir نوشته شده است که مدل MVC مدل Model View Controller را اجرا می کند. بسیاری از اجزای آن و مفاهیم به کسانی که  تجربه را در چارچوب های وب دیگر مانند Ruby on Rails یا Django پایتون دارند ، آشنا هستند. به برخی از ویژگی های نظیر پیاده سازی  در زمان واقعی و قالب های پیش ساخته شده برای سرعت شگفت است.
4. Spring Boot :

Spring boot framework

اسپرینگ (Spring) یکی از معروف ترین و پرکاربرد ترین framework های جاوایی است.

این framework متن باز بوده و اولین بار در سال 2003 ارائه شده است.

یکی از پروژ‌ه‌ هایی که در چند سال گذشته بر پایه‌ی Spring ایجاد شده است پروژه‌ی Spring Boot است.

بر خلاف سایر پروژه‌های بر پایه‌ی Spring که به منظور ایجاد یکپارچه‌سازی و یا تسهیل در بکارگیری تکنولوژی خاصی ایجاد شده است این پروژه به منظور تسهیل اماده‌سازی و بکارگیری مولفه‌های مختلف فریم‌ورک Spring ایجاد شده است. با کمک این چارچوب روش ایجاد یک پروژه با چارچوب Spring نسبت به گذشته بسیار ساده و کامل‌تر شده است. امکاناتی که این پروژه برای برنامه‌نویسان ایجاد کرده موجب افزایش سرعت برنامه‌نویسی و کاهش پیچیدگی و سادگی برنامه‌ها شده است. یکی از ویژگی‌های Spring Boot ویژگی خود رای بودن آن در نحوه‌ی پیکربندی زیرساخت Spring است. این ویژگی با دنبال کردن بهترین روش‌های برنامه‌نویسی سبب ایجاد بستری تنومند، توسعه‌پذیر و مقیاس‌پذیر شده است. هدف کلی Spring Boot کاهش مراحل تکراری و تنظیمی مربوط به پیکربندی برنامه است و به صورت خودکار تنظیمات بسیاری از بخش‌های مختلف مانند تنظیمات وب، اتصال به پایگاه داده، تنظیمات مربوط به امنیت برنامه و موارد دیگر را انجام می‌دهد .

5. Django :

Django framework

جنگو یک فریم ورک نرم افزاری تحت وب آزاد است که به زبان پایتون نوشته شده‌است و از معماری Model view controller پیروی می‌کند.اهداف جنگو ساخت آسان سایت‌های پیچیده و وابسته به پایگاه داده است و بر پایهٔ قابلیت استفادهٔ مجدد و قابل اتصال بودن اجزای مختلف، توسعهٔ سریع و اصل (DRY) طراحی شده‌است.

هدف اصلی Django این است که ایجاد وب سایت های پیچیده و مبتنی بر پایگاه داده را آسان تر کند.

این چارچوب بر قابلیت استفاده مجدد، Pluggability اجزای سازنده، کد کمتر، اتصال کم و توسعه سریع تاکید می کند.

در این framework از Python در سراسر برنامه حتی برای فایل های تنظیمات و مدل های داده استفاده می شود.

6. Laravel :

laravel framework

Laravel یکی از Framework های زبان PHP است که برای توسعه اپلیکیشن ‎های وب در نظر گرفته شده است.

Laravel بر پایه MVC کار می کند.

فریم ‎ورک Laravel بر روی اجزای مختلف فریم ورک symfony ساخته شده است و به برنامه شما پایه‌ای بزرگ از کد ‎های قابل اعتماد و تست شده می ‎دهد. لاراول مجموعه ای از بهترین راه حل ها با سینتکس پر معنا و خلاقانه را ارائه می‌کند که به درستی انجام می پذیرند. اراول توسط آسان سازی کارهای معمول مانند احراز هویت، روتینگ، sessionها ، کار با بانکهای اطلاعاتی و … که تقریبا در تمامی پروژه های تحت وب استفاده می‌شوند، مسائل و مشکلات ناشی از توسعه را هم برای توسعه دهنده و هم برای کارفرما کاهش می دهد.

PHP فریم ورک‌های متعددی دارد که از جمله آن‌ها می‌توان به  code،Yii ،Cakephp ،Nette, simfony اشاره کرد.

در حال حاضر اکثر برنامه ‌نویسان تحت وبی که قصد توسعه برنامه‌های کاربردی وب بر پایه معماری سه لایه (MVC) با PHP دارند، استفاده از فریم ورک لاراول را به دیگر فریم ورک‌ها ترجیح می‌دهند.

7. Asp.net core :

asp.net core framework

Asp.net core یک چارچوب تحت وب و Open Source است که نسل بعدی ASP.NET  می باشد و توسط شرکت مایکروسافت و جامعه ی برنامه نویسان طراحی و ایجاد شده است.

این یک چارچوب ماژول وار است که هم بر روی .NET  و هم بر روی ویندوز قابل اجرا است.

برخی از ویژگی‌های NET CORE. و برنامه های اجرا شده در این پلتفرم بسیار سبک و کم حجم می‌باشند.

برنامه Cross platform  که با NET CORE. به معنای کامل می توانید به صورت یکپارچه در تمامی سیستم عامل ها و دیوایس ها پروژه خود را پیاده سازی کنید.

همچنین سازگاری ، انعطاف پذیری ، توسعه راحت و سریع ،یک استوری واحد برای ساختن UI تحت وب و API تحت وب ،یک مسیر درخواست HTTP ساده و با عملکرد بالا، پشتیبانی از Github و نیوگت برای برنامه های اوپن سورس از دیگر ویژگی‌های آن می باشد.

ارسال پاسخ