라이브러리, 프레임워크의 이해

RumbleBi·2022년 6월 23일
0

Front-end

목록 보기
5/15
post-thumbnail

라이브러리, 프레임워크란?

간단히 말해 프레임워크는 개발자가 애플리케이션 개발을 하는데 기본적으로 필요한 구조를 제공하여 기능구현에 집중할 수 있도록 도와주는 도구다. 다른 개발자들과 협업을 할 경우, 프레임워크의 구조에 맞춰 개발하게 된다면 유지보수에 있어서 편리함이 있다.

라이브러리는 앱 개발을 위한 필요한 기능들을 미리 구현해 둔 기능이다. 사용자가 필요할 때 언제든 불러와서 사용가능하며 재사용성이 뛰어나다.

라이브러리와 프레임워크의 공통점과 차이점

공통점은 둘 다 애플리케이션을 개발하는데 있어 쉽고 빠른 생산성을 제공하여 개발 속도를 줄여줄 수 있다.

차이점은 제어흐름에 대한 주도권이 누구에게 있는가에 있다. 프레임워크의 경우 정해진 구조 안에서 개발자가 코드를 짜는 반면, 라이브러리는 개발자가 직접 라이브러리를 호출하여 원하는 곳에서 사용하기 때문이다.

프레임워크의 장점

  1. 기본적인 가이드를 제공함으로써 애플리케이션을 체계적으로 관리할 수 있다.
  2. 기본적인 보일러 플레이트와 라이브러리를 제공하기 때문에 개발에 있어 편리함과 시간이 단축된다.
  3. 정해진 규칙이나 라이브러리를 사용하기 때문에 협업에 있어 코드의 재사용성, 통일성을 유지하기 쉽.

프레임워크의 단점

  1. 프레임워크에서 사용하는 규칙이나 프레임워크 전용 기능들을 따로 공부해야한다. Ex) vue, next.js...
  2. 정해진 규칙에 맞춰 사용해야 하기 때문에 상대적으로 자유롭고 유연하게 개발이 어렵습니다.
  3. 프로젝트의 용량이 증가하기 때문에 성능 최적화가 필요할 경우가 있습니다.

라이브러리의 장점

  1. 코드의 재사용성이 높아 누구든 사용하거나 원하는 기능을 쉽게 기능을 구현할 수 있다.
  2. 코드의 내용을 숨겨 은닉성이 뛰어나다.
  3. 이미 구현된 기능을 재사용하는 것이기 때문에 개발시간, 돈을 절약할 수 있다.

라이브러리의 단점

정적 라이브러리의 경우 애플리케이션의 크기가 라이브러리를 합친 용량이 되기 때문에 직접 구현하는 것보다 성능상으로 떨어질 경우가 있다. 또한 라이브러리안의 코드를 비슷한걸 쓰거나 중복되는 것을 사용하는 경우 메모리 공간을 중복으로 차지하기 때문에 효율성이 떨어진다.

동적 라이브러리의 경우 외부에서 파일을 불러오기 때문에 컴파일때는 문제가 없지만, 실행할 경우 라이브러리의 버전이 맞지 않거나 없다면 문제가 발생할 수 있다.

profile
기억보다는 기록하는 개발자

0개의 댓글