본문 바로가기
용어와 개념들

프레임워크(Framework)란? 라이브러리와 구분

by 미스터케이티취미 2023. 12. 24.
반응형

 

 

 

프레임워크 개념 바로 알기

프레임워크(Framework) 뜻과 개념에 대해서 먼저 아래 버튼을 통해서 내용을 확인해보세요.

 

 

 

 

 

 

프레임워크란

 

 

 

프레임워크 개념 세부 설명

프레임워크 개념
프레임워크 개념

 

 

 

 

프레임워크 개념에 대해서 알아보아요.

 

프레임워크(Framework)는 소프트웨어 개발을 효율적으로 지원하기 위해서 기반이 되는 뼈대와 함께 자주 사용되는 공통된 기능들을 묶어 놓은 하나의 소스코드 체계로 개발 뼈대와 개발 도구모음을 의미합니다.

 

프레임워크는 소프트웨어 개발에 사용되는 구조적인 기반을 제공하면서 개발이 필요한 각종 도구들도 함께 제공합니다. 프레임워크에는 미리 만들어진 소스코드, 라이브러리, API 들로 이루어져 있어요. 그래서 개발자들은 프레임워크를 사용할 경우 처음부터 모든 내용들을 개발할 필요 없이 만들어진 소스코드나 라이브러리, API들을 적절하게 사용하여 개발을 효율적으로 진행할 수 있습니다.

 

프레임워크를 사용하게 되면 프로그래밍 시간을 더 짧게 단축시킬 수 있습니다. 그리고 소스코드의 통일성도 동시에 갖출 수 있고 품질 높은 소스코드들을 유지할 수도 있습니다.

 

 

 

 

 

 

 

자바에서는 스프링 프레임워크가 있고 파이썬에는 Django 프레임워크가 있습니다.

 

프레임워크는 라이브러리(Library)와는 다른 개념입니다. 프레임워크는 전체적이면서 기반 바탕과 뼈대까지 제공하는 개념이고 라이브러리는 필요한 기능들을 가져다 쓸 수 있도록 하는 개념입니다.

 

 

라이브러리(Libarary) 개념 자세히 보러 가기 >

 

 

웹 애플리케이션을 위해서 사용하는 웹 프레임워크는 전자인증, 데이터페이스(DataBase) 연결, 캐시(Cache), 페이지 렌더링과 같은 기능들을 제공합니다.

 

프레임워크(Framework)라는 개념은 일반적으로 소프트웨어 애플리케이션 개발을 위한 기반을 제공하는 사전에 미리 구축되어 있는 구조나 도구 모음, 지침 세트를 의미합니다. 프레임워크는 소스 코드 작성과 구성에 대한 구조화된 접근 방식을 제공하여 개발 프로세스를 효율적이고 간소화시키는 것을 목표로 합니다.

 

프레임워크에서는 재사용 가능한 코드 라이브러리, 규칙, 모범 사례 등이 포함되는 경우가 많아 개발자들이 공통 기능을 재창조하는 대신 애플리케이션의 고유한 측면에 더 집중하는 데 큰 도움이 됩니다. 프레임워크는 종종 추상화 수준을 제공하여 개발자가 낮은 수준의 세부 사항을 처리하는 대신 더 높은 애플리케이션별 수준에서 작업할 수 있도록 합니다. 프레임워크의 추상화 개념은 복잡한 작업을 단순화하는 데 도움이 됩니다.

 

 

 

 

 

 

 

프레임워크에서는 일반적으로 애플리케이션에 쉽게 통합할 수 있는 재사용 가능한 구성 요소와 모듈들이 포함됩니다.

 

이는 코드 재사용을 촉진하여 개발자들의 개발 시간과 노력을 절약시키고 보다 효율적인 유지 관리와 확장 가능한 코드 베이스를 만드는데 기여할 수 있습니다. 많은 프레임워크들은 프레임워크가 애플리케이션의 제어 흐름을 관리하는 제어 역전(Inversion of Control) 원칙을 따릅니다. 즉, 프레임워크는 코드 실행을 제어하고 개발자는 필요한 곳에 사용자 정의 코드를 연결시킵니다. 프레임워크는 개발 방식을 표준화하기 위해 특정 규칙을 적용하는 경우가 많습니다.

 

프레임워크는 이러한 규칙에 따라 기본값을 가정하므로 개발자가 애플리케이션의 모든 측면을 구성해야 할 필요성이 줄어듭니다. 많은 프레임워크들은 MVC(Model-View-Controller) 아키텍처를 기반으로 구축됩니다. 이 아키텍처 패턴은 애플리케이션을 데이터 및 비즈니스 로직 모델과 사용자 인터페이스와 관련된 뷰, 그리고 사용자 입력을 처리하고 모델과 뷰 업데이트와 관련된 컨트롤러의 세 가지 상호 연결된 구성 요소로 분리합니다.

 

프레임워크는 확장 가능하도록 설계되어 개발자가 애플리케이션의 특정 요구 사항에 따라 기능을 추가하거나 수정할 수 있습니다. 이러한 확장성은 플러그인(Plug-in), 모듈(Module) 또는 후크의 형태로 제공되는 경우가 많습니다.

 

 

모듈(Module) 개념 자세히 보러 가기 >

 

 

 

 

 

 

 

프레임워크에는 보안 기능이 내장되어 있는 경우가 많으며 모범 사례를 따르도록 하기 때문에 일반적인 보안 취약점이 발생할 가능성이 줄어들고 보다 안전한 개발 접근 방식이 촉진됩니다. 활발하고 활기찬 커뮤니티를 갖춘 프레임워크는 문서, 포럼, 타사 확장과 같은 풍부한 리소스를 제공합니다. 이러한 지원은 문제에 직면하거나 조언을 구하는 개발자에게 매우 중요할 수 있습니다.

 

 


 

 

[프레임워크의 예시]

 

① 웹 프레임워크: Django(파이썬, Python), Ruby on Rails(루비, Ruby), Express.js(JavaScript/Node.js).

 

② 애플리케이션 프레임워크: Spring(자바, Java), .NET(C#), Flask(파이썬, Python).

 

프론트 엔드(Front-End) 프레임워크: React, Angular, Vue.js.

 

 


 

 

프레임워크는 작업을 촉진하고 신속하게 처리하는 구조화되고 재사용 가능한 도구, 규칙 및 모범 사례 세트입니다.

 

 

 

프레임워크 개념
프레임워크 개념프레임워크 개념
프레임워크 개념
프레임워크 개념

반응형