💻프레임워크
원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미하며, 사용자는 프레임워크가 정해준 방식대로 클래서, 메서드들을 구현하면 된다.
📌 예시
💻라이브러리
특정 기능을 모아둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미한다.
📌 예시
리액트는 프레임워크가 아닌 라이브러리
웹 서비스 중에서 사용자 인터페이스 개발을 위해 사용되는 라이브러리
💁♀️ 프레임워크와 라이브러리의 차이점은 "제어 흐름"의 권한이 어디에/누구에게 있는가입니다.
프레임워크
는 자체적으로 전체적인 흐름을 가지고 있어 그 안에서 필요한 코드를 작성한다. 즉, 제어의 흐름은 프레임워크에게 있다.
라이브러리
는 개발자가 전체적인 흐름을 가지고있으며 자신이 원하는 기능을 구현하고 싶을 때 능동적으로 라이브러리를 호출하여 사용한다.
비유하자면, 프레임워크는 제작이 완료된 자동차,기차,비행기이며 우리가 정해진 규칙에 맞게 운전하거나 조종을 해야한다. 라이브러리는 망치,톱,연장 등의 도구이며, 어떤 도구를 사용해서 원하는 것을 만들어내는건 내 선택이다.