문홍의 공부장

프레임워크와 라이브러리의 차이 (Framework Vs. Library) 본문

개발/기타 개념

프레임워크와 라이브러리의 차이 (Framework Vs. Library)

moonong 2020. 3. 9. 16:01
반응형

프레임워크:

  • 확장 가능한 기반 코드와 필요한 라이브러리를 통합하여 제공하는 일종의 뼈대(기반구조) ex) angular JS, Spring
  • Application 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대를 제공해주는 것.

개발자는 뼈대 위에 코드를 작성하여 애플리케이션을 완성한다. 프레임워크는 중복되는 코드를 피하고 재사용이 가능하도록 기반 코드/라이브러리를 제공한다.

  • 확장 가능한 기반 코드: 제작자가 설계한 구조를 유지하며 확장할 수 있도록, 의도된 제약 사항이 존재한다.
  • 라이브러리: 자주 쓰일만한 기능들을 모아놓은 유틸(클래스/함수)의 모음 ex) jQuery, react JS

 

라이브러리:

  • 특정 기능에 대한 도구/함수/클래스의 집합. 즉, 개발자가 개발하는 데 필요한 것들을 모아놓은 것.

 

Framework 과 Library 의 차이

흐름에 대한 제어 권한이 어디에 있느냐의 차이(control of Flow) == 누가 누구를 호출하느냐의 차이(who calls who) == IoC 적용 유무의 차이

프레임워크에서는 전체적인 흐름을 자체적으로 가지고 있으며, 프레임워크 코드가 개발자의 코드를 호출한다. 제어의 역전(IoC) 적용
라이브러리에서는 개발자의 코드가 라이브러리를 호출한다.

라이브러리는 유틸의 모음일 뿐, 설계를 대신하지는 않는다. 하지만 프레임워크는 뼈대가 되는 클래스(유틸) 들과, 그들 간의 관계로 만들어진 일종의 설계의 기본 틀이 추가된다.

 

References:

https://mangkyu.tistory.com/4
https://waaan.tistory.com/15
https://jokergt.tistory.com/89

반응형