TS

라이브러리와 프레임워크 차이 / Diffrences of Library and Framework

차빛 2023. 9. 3. 11:40
반응형

프레임워크 (Framework)


원하는 기능 구현에 집중해서 개발 할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있어 개발자가 프레임워크의 형태에 맞게 코드만 입력하면 실행되는 구조.

 

애플리케이션 개발시 필수코드, 알고리즘, DB연동과 같은 기능들을 위해 어느정도 뼈대를 제공하여 개발자가 애플리케이션을 개발할 수 있도록 한다.

앱/서버등의 구동, 메모리관리, 이벤트루프등의 공통된 부분은 프레임워크가 관리하며, 사용자인 개발자는 프레임워크가 정해준 방식대로 클래스와 메소드를 구현하면 된다.

 

프레임워크 예시

  • Java서버 개발에 사용되는 Spring
  • Python 서버 개발에 사용되는 Django, Flask
  • 안드로이드 개발에 사용되는 Android
  • 아이폰 앱 개발에 사용되는 Cocoa Touch
  • 웹 개발에 사용되는 Angular, Vue.js, Next.js
  • 자바 기반의 JSP를 위한 프레임워크 Struts
  • 루비로 작성된 MVC패턴을 사용하는 Ruby on Rails

 

라이브러리


라이브러리는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임.

말이 어렵지만, 개발에 필요한 것들을 미리 구현해놓은 도구로서, 재사용이 가능한 기능을 미리 구현해 놓고 필요한 곳에서 호출하여 사용가능하도록 만들어진 집합이다.

 

프레임워크 예시

  • Python pip로 설치한 패키지/모듈(tensorflow, pandas, beautifulsoup 등)
  • C++의 표준 템플릿 라이브러리
  • Node.js에서 npm으로 설치한 모듈
  • 웹에서 사용자 인터페이스 개발에 사용되는 React.js
  • HTML의 클라이언트 사이드 조작을 단순화하는 JQuery

 

프레임워크와 라이브러리의 차이점은 Control(제어 흐름)이 누구에게 있느냐.

라이브러리를 사용할 때 사용자는 애플리케이션 코드의 흐름을 직접 제어해야합니다.

개발시 필요한 기능이 있는 경우 능동적으로 라이브러리를 호출하여 사용하거나 기존에 구성된 함수나 코드를 가져다 써야합니다.

반면 프레임워크는, 애플리케이션의 코드가 프레임워크에 의해 사용됩니다.

애플리케이션 코드는 프레임워크가 짜 놓은 틀에서 수동적으로 동작하기때문에 제어의 흐름은 프레임워크가 가지고 있고 사용자가 그 안에 필요한 코드를 작성.

 

제어의 역전이란(IoC)

어떠한 일을 하도록 만들어진 Framework가 Control의 권한을 위임하는 것을 의미하는데,

간단히 말해 프로그램의 제어 흐름 구조가 뒤바뀐것을 의미한다.

반응형

'TS' 카테고리의 다른 글

Next.js의 기본 파일 구조 확인하기  (0) 2023.08.04
TS와 TSX 차이 진짜 간단 명료하게 알려드림!  (0) 2023.07.05