[용어사전] 프레임워크 vs 라이브러리

고은정·2021년 5월 18일
13

용어사전

목록 보기
2/2
post-thumbnail

면접 단골 질문

취직을 준비할 때, 프레임워크와 라이브러리가 면접 단골 질문이라고해서 달달 외웠던 기억이 있습니다. 업무속에서 다양한 프레임워크와 라이브러리를 접하면서 그 경계가 애매하다는 생각이 더 많이 들어서 용어에 대해 정리를 해보려 합니다.

프레임워크(Framework)

프레임워크는 뼈대기반구조를 뜻합니다. 프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공해주기 때문에 프레임워크를 사용하는 개발자는 프레임워크의 뼈대 위에서 코드를 작성하여 프로그램을 개발합니다.

라이브러리(Library)

라이브러리는 도구들의 모음이라고 할 수 있습니다. 도서관을 뜻하는 '라이브러리' 그대로 도서관의 책들과 같은 의미입니다. 개발자가 어떠한 기능을 수행하기 위해서 도움을 주는 역할을 합니다.

프레임워크 VS 라이브러리

프레임워크와 라이브러리의 차이는 흐름을 누가 지니고 있냐입니다.
이미지출처

프레임워크는 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그 안에서 필요한 코드를 짜 넣으며 반면에 라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰는 것이라고 할 수 있습니다.

정리하면,
프레임워크 👉 프레임워크라는 특정 공간에 사용자가 들어가서 사용한다는 느낌
라이브러리 👉 라이브러리를 가져다가 사용하고 호출하는 사용자에게 전적으로 주도성이 있음

차이! 확실해?

위에서 프레임워크와 라이브러리의 차이를 알아보았습니다. 위의 설명만 읽어보면 아주 명확한 차이를 가지고 있는것 같은데요. 정말 두개의 용어는 구별되서 사용되고 있을까요??

구글에 'Frontend frameworks libraries'를 입력해보겠습니다.

'Top 10 JavaScript UI Frameworks & Libraries for 2021'처럼 흥미로워 보이는 글들이 조회됩니다. 특정한 링크를 선택하면 아래와 같이 프레임워크와 라이브러리 구분없이 포스팅한것을 확인할 수 있습니다.
이미지출처

헷갈리네,,이럴땐 공식문서!

대표적인 예로 제가 요즘 빠져있는 React에 대해 검색해보겠습니다.
Frontend Framework를 검색하면 거의 첫번째로 조회되는데, 결과는 아래 차트이미지입니다. 프레임워크의 종류를 검색중에 발견한 표인데, React의 엄청난 점유율도 함께 알려줍니다.
이미지출처

그렇다면 React공식 문서에서는 어떻게 표시하고 있을까요?
매우 놀랍게도 라이브러리라고 표시하고 있습니다.
React공식문서

대표적인 예제로 React를 사용했을 뿐 jQuery, BootStrap...등 프레임워크와 라이브러리 구분없이 표현되는것을 구글링을 통해 확인할 수 있습니다!

정리

정확한 뜻을 알고 사용하고 싶어서 [용어정리]시리즈를 만들었습니다. 그런데 이번 포스팅을 통해서는 두 용어에 차이를 두는게 큰 의미가 없다고 깨달았습니다.
개인적인 생각으로는 위에서 두 용어의 가장 큰 차이인 흐름의 주체의 경계가 개발의 과정에서 모호해지고, 용어 사용에까지 영향을 미친 것 같습니다.

profile
개발이 하고싶어요

2개의 댓글

comment-user-thumbnail
2021년 5월 27일

오! 오늘 마침 다른 개발자랑 이야기한 주제였는데 명쾌한 글이 있었네요! :)

1개의 답글