프레임워크 (Framework) vs 라이브러리(Library)

처음 개발하는 법을 배울 때 ‘라이브러리‘ 는 import해서 사용할 수 있는 툴 같은 느낌이였고 ‘프레임워크‘ 는 Spring이나 Django 처럼 덩치가 큰 툴 같은 느낌 이였습니다.

이런 느낌 적 느낌 말고 실제로 프레임워크 ,라이브러리란 무엇이고 이 둘의 차이가 무엇인지에 대해 정리해보았습니다.

프레임워크

프레임워크는 애플리케이션 구축을 위한 기반을 제공하는 사전 설정되고 재사용 가능한 소프트웨어 아키텍처입니다.

프레임워크의 주요 목적일반적인 문제와 작업에 대한 솔루션을 제공하여 애플리케이션을 구축하는 체계적인 방법을 제공하는 것입니다.

프레임워크는 종종 낮은 수준의 세부 정보를 추상화하고 개발자에게 높은 수준의 인터페이스를 제공합니다. 이를 통해 개발자가 기본 인프라의 복잡성을 처리하는 대신 애플리케이션별 논리에 집중할 수 있게 해줍니다.

다음과 같이 다양한 프레임워크들이 있습니다.

  • 웹 프레임워크:
    • 장고(파이썬)
    • Express.js (JavaScript/Node.js)
    • ASP.NET(C#)

  • UI 프레임워크:
    • React.js (JavaScript)
    • Angular (JavaScript/TypeScript)
    • Vue.js (JavaScript)

라이브러리

라이브러리는 개발자가 코드를 처음부터 작성하지 않고도 일반적인 작업이나 기능을 수행하는 데 사용할 수 있는 미리 작성된 코드 및 리소스 모음을 의미합니다.

라이브러리는 재사용이 가능하도록 설계되었으며 일반적으로 각각 특정 목적을 수행하는 모듈이나 패키지로 구성됩니다.

개발자가 시간을 절약하고 코드 재사용을 촉진하며 일반적인 문제에 대한 솔루션을 제공하는 데 도움이 됩니다.

프레임워크 (Framework) vs 라이브러리(Library)

위에서 명시한 것 처럼 프레임워크와 라이브러리 모두 코드의 재사용성을 높이고 단순화된 인터페이스로 개발자가 내부 작업을 이해하지 않고도 기능을 쉽게 사용할 수 있게 해줍니다.

반면 차이점을 말하자면, 서두 말한 느낌적 느낌처럼 프레임워크는 라이브러리 보다 더 넓은 기능을 포함하여 포괄적인 솔루션을 제공하기 때문에 코드베이스가 더 큽니다.

뿐만 아니라 둘의 가장 큰 차이는 ‘흐름을 누가 제어하느냐‘ 에 있습니다.

라이브러리는 특정 기능을 언제 어떻게 사용할지 결정하는 제어 흐름 결정을 개발자에게 맡깁니다. 이와 대조적으로 프레임워크는 구조화된 아키텍처를 제공하고 애플리케이션의 전반적인 제어 흐름을 지시합니다.

Leave a Comment

목차