Somedding

라이브러리 vs 프레임워크 본문

기타

라이브러리 vs 프레임워크

somedding 2023. 2. 13. 12:57

라이브러리란?

- 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 집합이다.

- 미리 작성된 코드, 변수, 함수, 클래스가 포함될 수 있다.

- 개발자가 개발하는데 필요한 것들을 모아둔 도구들의 나열로 필요할 때 호출하여 사용하는 방식이다.

- 예시) react.js, jquery

 

프레임워크란?- 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경이다.- 애플리케이션 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능을 위해 어느 정도 뼈대를 제공해 주는 것이다.- 예시) angular.js, vue.js

 

 

라이브러리와 프레임워크의 공통점- 재사용 가능한 코드의 모임이다.- 프로그래밍을 쉽게 할 수 있도록 도와주는 역할을 한다.- 편리하다. (사용할 수 있으면)

 

라이브러리와 프레임워크의 차이점많은 분들이 설명할 때 예시로 드는 것이,- 라이브러리는 팬트리이다. 요리하는 데에 정해진 규칙은 없지만 재료는 준비되어 있다. 팬트리에 있는 식재료와 식기 등을 원하는 대로 가져가 원하는 대로 요리하면 된다.- 반면 프레임워크는 밀키트이다. 이미 주어진 재료를 가지고 정해진 레시피 대로만 하면 요리는 완성된다.

 

즉, 프레임워크는 정해진 매뉴얼, 룰을 제공해주며 개발 시 필수적인 코드와 알고리즘 같은 기능을 제공하는데, 이 룰을 지켜야 한다.라이브러리는 어떤 특정한 기능을 구현하기 위해 미리 만들어진 함수들의 집합이다. 필요할 때만 자유롭게 사용할 수 있는 일종의 도구라고 생각하면 된다.

 

 

중요한 점은 '제어 흐름'의 권한이 어디에 있는가?라는 것이다.

 

 

프레임워크의 경우에는 애플리케이션 코드는 프레임워크가 짜 놓은 틀에서 수동적으로 동작하기 때문에 제어의 흐름은 프레임워크가 가지고 있고, 사용자가 그 안에 필요한 코드를 작성한다.반면, 라이브러리의 경우에는 애플리케이션 코드의 흐름을 개발 시에 직접 제어해야 한다.

 

(추가)제어의 역전(inversion of control)이란, 개발자가 작성한 객체나 메서드의 제어를 개발자가 아니라 외부에 위임하는 설계 원칙이라고 하는데, 프레임워크는 제어의 역전 개념이 적용된 대표적인 기술이다.

 

 

 

참고https://m.blog.naver.com/seek316/222121510562

- https://velog.io/@nemo/framework-library-gfreqbgx

 

 

 

 

 

글 내용 중, 잘못됐거나 더 알아야 하는 지식이 있다면 댓글로 남겨주시면 감사하겠습니다!

모두 좋은 하루 보내세요:)

 

'기타' 카테고리의 다른 글

UX / UI  (0) 2023.05.08
정규 표현식(Regular expression)이란?  (0) 2023.04.25
React.js란?  (0) 2023.02.20
적응형? 반응형??  (0) 2023.02.17
웹프로그래밍, 홈페이지 제작 과정  (0) 2023.02.10
Comments