본문 바로가기
프로그래밍

프레임워크(Framework)란? - 장점과 기능

by 샤이닝 클루 2023. 4. 26.

프레임워크는 웹 개발 프로세스의 필수적인 부분이 되었습니다. 프레임워크는 웹 애플리케이션 개발에 대한 구조화된 접근 방식을 제공하므로 개발자가 복잡한 애플리케이션을 더 쉽게 만들 수 있습니다.

이 글에서는 웹 개발 프레임워크의 기본 사항과 프레임워크가 더 나은 웹 애플리케이션을 만드는 데 어떻게 도움이 되는지 살펴봅니다.


프레임워크 소개

프레임워크는 애플리케이션 개발을 위한 구조를 제공하는 미리 작성된 코드 라이브러리 집합입니다. 프레임워크는 개발자가 웹 애플리케이션을 더 빠르고 효율적으로 구축할 수 있는 일련의 도구, 라이브러리 및 모범 사례를 제공합니다.

 

프레임워크를 사용의 장점

  • 시간 절약: 프레임워크는 미리 작성된 코드를 제공하므로 시간을 절약하고 개발 비용을 절감할 수 있습니다.
  • 구조화된 접근 방식: 프레임워크는 개발에 대한 구조화된 접근 방식을 제공하므로 개발자가 복잡한 애플리케이션을 더 쉽게 만들 수 있습니다.
  • 확장성: 프레임워크는 복잡한 애플리케이션을 처리하도록 설계되었으며 애플리케이션의 증가하는 요구 사항을 충족하도록 쉽게 확장할 수 있습니다.
  • 커뮤니티 지원: 프레임워크에는 개발에 기여하는 대규모 개발자 커뮤니티가 있어 지원과 정기적인 업데이트를 제공합니다.

 

프레임워크의 유형

프레임워크에는 프론트엔드와 백엔드라는 두 가지 주요 유형이 있습니다.

 

프론트엔드 프레임워크

프론트엔드 프레임워크는 사용자 인터페이스를 만들도록 설계되었습니다. 여기에는 개발자가 반응형 동적 웹 페이지를 만드는 데 도움이 되는 HTML, CSS 및 JavaScript 라이브러리가 포함됩니다. 다음 세 가지는 인기 있는 프로트엔드 프레임워크입니다.

 

  • 부트스트랩: 개발자가 미리 빌드된 HTML, CSS 및 JavaScript 컴포넌트를 사용하여 반응형 웹 페이지를 만드는 데 도움이 되는 인기 있는 프레임워크입니다.
  • React: 사용자 인터페이스를 구축하기 위한 JavaScript 라이브러리. 단일 페이지 애플리케이션을 구축하는 데 사용됩니다.
  • Angular: 웹 애플리케이션을 구축하기 위한 JavaScript 프레임워크. 복잡하고 확장 가능한 애플리케이션을 구축하는 데 사용됩니다.

 

백엔드 프레임워크

백엔드 프레임워크는 서버 측 애플리케이션을 빌드하는 데 사용됩니다. 백엔드 프레임워크는 API 생성, 데이터베이스 관리, 서버 요청 처리를 위한 도구와 라이브러리 세트를 제공합니다. 인기 있는 백엔드 프레임워크는 다음과 같습니다.

 

  • 장고(Django): 웹 애플리케이션을 구축하기 위한 Python 프레임워크입니다. 데이터베이스 관리, 서버 요청 처리, API 생성을 위한 일련의 도구를 제공합니다.
  • 플라스크(flask): 웹 애플리케이션을 구축하기 위한 Python 프레임워크입니다. 마이크로 프레임워크라고도 불립니다. 장고처럼 도구들이 내장되어있지 않지만 확장 기능으로 애플리케이션들을 원하는 대로 추가할 수 있습니다.
  • Laravel: 웹 애플리케이션 구축을 위한 PHP 프레임워크입니다. 데이터베이스 관리, 서버 요청 처리, API 생성을 위한 도구 세트를 제공합니다.
  • 루비 온 레일즈: 웹 애플리케이션을 구축하기 위한 Ruby 프레임워크입니다. 데이터베이스 관리, 서버 요청 처리, API 생성을 위한 도구 세트를 제공합니다.

 

프레임워크의 주요 기능

프레임워크에는 웹 애플리케이션 개발에 이상적인 몇 가지 주요 기능이 있습니다.

MVC 아키텍처

대부분의 프레임워크는 애플리케이션 로직을 모델, 뷰, 컨트롤러의 세 가지 상호 연결된 구성 요소로 분리하는 MVC(모델-뷰-컨트롤러) 아키텍처를 사용합니다. 이렇게 하면 애플리케이션 로직을 더 쉽게 관리하고 애플리케이션의 확장성을 높일 수 있습니다.

 

ORM

프레임워크는 객체를 데이터베이스 테이블에 매핑하는 기술인 ORM(객체 관계형 매핑)을 제공합니다. 이를 통해 데이터베이스를 더 쉽게 관리할 수 있고 데이터베이스와 상호 작용하는 데 필요한 코드의 양을 줄일 수 있습니다.

 

라우팅

프레임워크는 URL을 코드에 매핑하는 기술인 라우팅을 제공합니다. 이를 통해 URL을 더 쉽게 관리하고 서버 요청을 처리할 수 있습니다.

 

보안

프레임워크는 입력 유효성 검사, 암호화, 인증과 같은 보안 기능을 제공합니다. 이를 통해 애플리케이션을 더 쉽게 보호하고 공격으로부터 보호할 수 있습니다.


프레임워크는 웹 애플리케이션 개발에 대한 구조화된 접근 방식을 제공하므로 개발자가 복잡한 애플리케이션을 더 쉽게 만들 수 있습니다. 시간을 절약하고, 확장성을 제공하며, 개발에 기여하는 대규모 개발자 커뮤니티가 있습니다.

프론트엔드 애플리케이션을 구축하든 백엔드 애플리케이션을 구축하든, 더 나은 애플리케이션을 더 빠르게 구축하는 데 도움이 되는 프레임워크가 있습니다. 각각의 장단점을 따져보고 활용하기 본인에게 맞는 프레임워크를 사용하여 생산성을 향상해 보시기 바랍니다.

댓글