프레임워크 / 라이브러리 / 플러그인

KAYA·2021년 10월 3일
0

이게 다 퉁치는 말인줄 알았던 과거의 나

1. 프레임워크

프레임워크란 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것이다. 즉, 일정한 형태의 틀에 맞추어 결과물을 만들도록 하는 것이 프레임워크이다.

자주 사용하는 코드를 매번 제로 베이스부터 만들지 않아도 되니 시간/비용을 절약할 수 있다.

2. 라이브러리

라이브러리란 자주 사용되는 로직을 재사용하기 편리하도록 잘 정리한 일련의 코드들의 집합이다.

라이브러리는 프레임워크와 비슷하지만 훨씬 자유도가 높다. 프레임워크는 그 틀에 나의 코드를 맞춰 넣어야 하지만, 라이브러리는 사용을 위한 최소한의 규칙만 지킨다면 필요한 부분만 가져다 나의 코드에 적용하면 되는 것이다.

프레임워크와 라이브러리의 차이는 '제어의 흐름을 누가 쥐고 있느냐'에 있다.

3. 플러그인

플러그인은 어떤 특정한 하나의 문제를 해결하기 위한 조합이다. 사람들이 자주 사용하는 기능을 모아 핸들할 수 있게 도와준다.

라이브러리보다 조금 더 작은 개념이며, 플러그인의 집합이 라이브러리라고 보면 된다.


파스타를 만든다고 해 보자

프레임워크는 '레시피'라고 보면 되겠다.

여러 종류의 파스타 중에서 토마토 파스타 레시피를 선택했다. 만약 임의로 필수 재료인 소스를 빼 버리면 토마토 파스타의 맛을 낼 수 없다. 완성을 위해선 키트의 설명서를 그대로 따르면 된다.

라이브러리는 '토마토소스'라고 보면 되겠다.

라이브러리를 사용한다는 것은 마트에서 필요한 요소를 사서 만드는 거라고 보면 된다.
토마토 소스를 사면 토마토 파스타, 크림 소스를 사면 크림 파스타, 로제 소스를 사면 로제 파스타를 만들 수 있다. 내가 필요한 요소를 선택해서 내가 만들고자 하는 레시피에 적용하면 된다. 중요한 포인트는 내가 필요한 요소를 가져다 쓰는 것, 내가 레시피를 제어하는 것이다.

플러그인은 라이브러리와 비슷하지만,'핸드메이드 소스'라 보면 되겠다.

라이브러리는 자주 쓰는 것들의 조합이라 했다.
자주 쓰이고 공통으로 쓰이는 토마토 페이스트라는 공통 분모만 마련하면 얼마든지 변형이 가능하다. 마트에서 토마토 페이스트를 사면 내 입 맛에 맞게 크림을 넣거나 허브를 넣어서 소스를 만들 수 있다.
만약 토마토 페이스트에 우유를 섞어 로제소스를 자주 만들게 되었다면, 사용이 더 편리하도록 로제 소스를 상품화시킬 수도 있다.



참고

profile
겅부하자

0개의 댓글