Framework vs Library

seongmin·2022년 10월 11일
0

Spring

목록 보기
2/38
post-thumbnail

Framework

  • 프로그래밍 상에서의 Framework 는 기본적으로 프로그래밍을 하기 위한 어떠한 틀이나 구조를 제공한다.

장점

  • 효율적으로 코드를 작성할 수 있다.

서로 다른 애플리케이션 간의 통신이나, 데이터를 데이터 저장소에 저장하는 등의 다양한 기능들 역시 Framework이 라이브러리 형태로 제공함으로써 개발자가 애플리케이션의 핵심 로직을 개발하는 것에 집중할 수 있도록 해준다.

  • 정해진 규약이 있어 애플리케이션을 효율적으로 관리할 수 있다.

우리가 사용하는 Framework의 규약에 맞게 코드를 작성하기 때문에, 유지보수가 필요한 경우 더 빠르고 쉽게 문제점을 파악해 수정할 수 있다.
동시에 내가 작업했던 코드를 다른사람이 수정할 경우에도 이미 Framework에 규약에 맞게 작성된 코드이기 떄문에, 빠르게 코드를 파악하고 수정하기 용이하다.
이는 곧 유지보수 이외에도 비슷한 기능을 개발할때 코드의 재사용이 용이하고 기능의 확장또한 쉽게 확장이 가능하다.

단점

  • 내가 사용하고자 하는 Framework에 대한 학습이 필요하다.

  • 자유롭고 유연한 개발이 어렵다.

우리가 사용하는 Framework에 규약을 벗어나기가 어렵다. 이미 만들어진 애플리케이션에서 Framework를 변경하거나, 유연한 개발을 위해 Framework를 사용하지 않게 변경할 경우 많은 노력이 필요하다.

Library

  • 애플리케이션을 개발하는 데 사용되는 일련의 데이터 및 프로그래밍 코드

  • 애플리케이션을 개발할 때 필요한 기능을 미리 구현해놓은 집합체

자동차를 예시로 자동차를 구성하고 있는 요소에서 Framework 는 자동차의 뼈대, 즉 Frame 을 의미한다. 그리고, Library 는 자동차에서 다양한 기능을 제공하는 부품을 의미한다.
한번 정해진 Framework를 교체하는일은 어렵지만, Library는 쉽게 교체가 가능하며 필요한 Library들을 선택적으로 사용할 수 있다.

💡 Key Point

  • Framework은 개발자가 애플리케이션의 핵심 로직을 개발하는 것에 집중할 수 있도록 해준다.

  • Library는 애플리케이션 흐름의 주도권이 개발자에게 있는 반면, Framework은 애플리케이션 흐름의 주도권이 개발자가 아닌 Framework에 있다.

0개의 댓글