라이브러리와 프레임워크 차이점이 뭘까?

김영진·2021년 12월 8일
0

라이브러리 와 프레임워크 아니 둘 다 비슷비슷해 보이는데 도대체 차이점이 뭔데??
그래서 정리해봅니다...

일단 차이점을 알기 전에 이것부터 제대로 알고 가야할듯

제어의 역전(IOC)

  • 전통적인 프로그래밍에서의 흐름은 개발자가 작성한 프로그램이 외부 라이브러리를 이용함
  • 하지만 제어의 역전이 적용된 구조에서는 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출

    ex) 스프링 컨테이너

프레임워크

  • 뼈대, 기반 구조를 뜻함
  • 제어의 역전(IOC) 개념이 적용된 대표적 기술
  • 정의 : 특정 문제를 해결하기 위해 상호 협력하는 클래스와 인터페이스의 집합, 완성된 어플리케이션이 아닌 개발자가 완성시키는 작업을 해야함
  • 원하는 기능 구현에 집중하여 개발할 수 있도록 필요한 기능을 갖추고 있는 것

    ex) Spring Framework, node.js express, MyBatis

엉? 익스프레스가 프레임워크라고? 그러면 노드는 뭔데?
노드는 js로 만든 프로그램을 실행할 수 있는 런타임이래~!

라이브러리

  • 단순 활용가능한 도구들의 집합
  • 즉, 개발자가 만든 클래스에서 호출하여 사용, 필요한 클래스를 불러서 사용하는 방식
  • 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것

    ex) React.js , jQuery

엥? 왜 리액트가 라이브러리지?
.. 나도 모른다 리액트 홈페이지에서는 라이브러리래~!

그래서 차이점이 뭔데 ?

  • 위 두가지의 차이는 어플리케이션의 흐름을 누가 쥐었느냐 이다
  • 프레임워크는 전체적인 흐름을 스스로가 쥐고있으며 사용자는 그 안에서 필요한 코드를 짜 넣는다
  • 라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰는 것

결론 : 와 ! 알고나니 머리가 더 아프다 !

출처 : https://steady-coding.tistory.com/457

0개의 댓글