라이브러리? 프레임워크?

Youngwan Cho·2024년 1월 8일

라이브러리(Library)와 프레임워크(Framework)는 소프트웨어 개발에서 중요한 역할을 하지만, 그들 사이에는 몇 가지 중요한 차이점이 있습니다.

라이브러리 (Library)

정의: 라이브러리는 특정 작업을 수행하는 데 사용되는 함수나 클래스의 모음입니다. 개발자는 이러한 함수나 클래스를 필요에 따라 호출하여 사용합니다.

제어 흐름: 라이브러리를 사용하는 애플리케이션은 실행 흐름을 완전히 제어합니다. 라이브러리는 단지 필요할 때 호출되는 도구에 불과합니다.

유연성: 라이브러리는 일반적으로 특정 기능을 제공하기 위해 설계되어 있으며, 개발자는 필요에 따라 하나 이상의 라이브러리를 선택하여 사용할 수 있습니다.

예시: jQuery(웹 개발), NumPy(파이썬 데이터 처리) 등

프레임워크 (Framework)

정의: 프레임워크는 애플리케이션의 기본 구조를 제공하는 더 큰 도구 모음입니다. 프레임워크는 애플리케이션의 전반적인 설계, 흐름, 그리고 표준을 정의합니다.

제어 흐름: "제어의 역전(Inversion of Control)" 원칙에 따라, 프레임워크가 애플리케이션의 흐름을 관리합니다. 개발자는 프레임워크의 규칙과 가이드라인을 따라 개발을 진행해야 합니다.

유연성: 프레임워크는 일반적으로 특정 방식의 개발을 강제하며, 그 안에서 작업해야 합니다. 이로 인해 라이브러리에 비해 유연성이 다소 떨어질 수 있습니다.

예시: Angular, React, Django 등

요약

라이브러리는 개발자가 호출하여 사용하는 도구의 모음입니다. 개발자가 전체 애플리케이션의 흐름을 제어합니다.
프레임워크는 애플리케이션의 구조와 흐름을 정의하며, 개발자는 이 안에서 작업합니다. 프레임워크가 흐름을 제어합니다.
결국, 라이브러리와 프레임워크의 선택은 개발할 애플리케이션의 요구사항, 개발자의 선호도, 프로젝트의 복잡성 등 여러 요소를 고려하여 결정되어야 합니다.

0개의 댓글