프레임워크(Framework)와 라이브러리(Library)의 차이점에 대해 알아보자✨
코딩 공부를 하다보면 기본적인 단계를 넘어 자연스레 프레임워크와 라이브러리를 활용하게 된다
이 과정 중에서는 프레임워크와 라이브러리의 차이에 대해 의문점이 생기기 마련이다
왜냐하면 언뜻 보기에 코딩을 '보조'해주는 역할이라는 부분에 있어 이 둘은 비슷해 보이기 때문이다
그렇다면 프레임워크와 라이브러리의 차이는 무엇일까?
지금부터 알아보자!
대게의 IT용어들은 의미하는 바를 직관적으로 표현하여 명칭을 정하는 경우가 많다
이러한 특징을 따라 프레임워크와 라이브러리의 사전적 정의부터 살펴보자
프레임워크(Framework)란 '뼈대, 틀, 체계'이라는 뜻이다
프레임워크를 활용하면 코드를 편하게 짤 수 있도록 보조하는 틀이 주어진다
따라서 개발자는 프레임워크에서 정해준 규칙을 기반으로 코드를 구성하면 되는 것이다
보다 풀어서 설명하자면, 프레임워크는 주방에 비유할 수 있다!
우리가 음식을 만들기 위해서는 주방이라는 공간에 들어가야 인덕션, 오븐, 싱크대 등 요리를 하기 보다 수월한 환경이 제공되기 때문이다
라이브러리(Library)란 '도서관, 서재'라는 뜻으로 코드를 짤 때, 바로 꺼내다가 쓸 수 있는 완성된 기능을 의미한다
따라서 개발자는 특정한 기능을 따로 개발할 필요없이 이미 배포된 라이브러리를 가져다가 코드에 활용한다면 보다 수월하게 개발을 할 수 있다
프레임워크가 주방이라면 라이브러리는 주방 내 주방 용품이라 표현할 수 있다
주방에서 요리를 할 땐 다양한 주방 용품을 활용하면 보다 수월하게 요리를 진행할 수 있기 때문이다
대표적인 예시로 달력 기능의 라이브러리를 가지고 왔다
상단에 공식 사이트(데모, 깃허브) 링크를 첨부해 두었으니 참고하길 바란다
이처럼 프로젝트 진행시, 라이브러리를 적절히 활용하면 개발 소요시간을 단축할 수 있다는 점이 가장 큰 장점이다!
프레임워크와 라이브러리의 차이점은 '제어 흐름의 주도권'에 있다!
즉, "누가 주체(main)가 되어 코드를 짜는가?"라는 것이 핵심이다
✔️ 프레임워크
✔️ 라이브러리
마지막으로 웹 페이지의 구성요소를 기준으로 프레임워크와 라이브러리를 도식화하여 마무리하면 다음과 같다
프레임워크는 전체 기능 지원 수단인 구조를 지원하고,
라이브러리는 특정 기능 지원 수단을 지원한다.
이상 프레임워크와 라이브러리의 차이점에 대한 포스팅을 마치겠다😀