반응형
항상 Javascript로 개발을 하다 보면 React, Angular, Vue 등 많이 들어봤을 것이다.
처음에는 항상 묶어서 말을 하길래 각각 다른 회사에서 만든 프레임워크인줄 알았다. 하지만 React는 프레임워크가 아닌 라이브러리였다. 대체 프레임워크와 라이브러리는 무슨 차이인지 알고 싶어 정리해 보았다.
프레임워크 (Framework)
프레임워크는 뼈대나 기반구조를 뜻합니다.
프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공해 주기 때문에 프레임워크를 사용하는 개발자는 만들어 놓은 뼈대를 사용하여 코드를 작성해 프로그램을 개발합니다.
즉 프레임워크가 정해준 방식대로 클래스, 메서드들을 구현하도록 도와주는 툴입니다.
프레임워크의 특징
- 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성되어 있습니다.
- 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법을 정의합니다.
- 컴포넌트들은 재사용이 가능합니다.
- 높은 수준에서 패턴들을 조작화할 수 있습니다.
라이브러리 (Library)
라이브러리는 단순 활용가능한 도구들의 집합입니다.
개발자가 어떠한 기능을 수행하기 위해서 도움을 주는 또는 필요한 것을 제공해 주는 역할입니다.
즉 어떤 특정한 기능을 구현하기 위해 미리 만들어진 함수들의 집합이다. 필요할 때만 자유롭게 사용할 수 있는 일종의 도구입니다.
라이브러리의 특징
- 정해진 규칙없이 내가 필요한 것만 가져와서 자유롭게 사용할 수 있습니다.
- 프레임워크와는 반대로 자유롭기 때문에 난이도가 조금 있을 수 있습니다.
요약
프레임워크 : 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램
라이브러리 : 프로그램을 개발하기 위해 쓰는 공구와 같은 도구들
공통점 : 프로그램을 쉽게 만들 수 있게 하는 공통된 목적이 있음
차이점 : 자유도, 프레임워크는 꼭 써야되는 것과 지켜야되는 룰이 있다. 라이브러리는 쓰든 안 쓰든 자기 마음이다.
반응형
'FT-면접질문' 카테고리의 다른 글
[JS] 브라우저 저장소 (LocalStorage, SessionStorage, Cookie (0) | 2023.03.31 |
---|---|
[데일리 과제] 기술면접 스터디 D-1 (0) | 2023.03.28 |
[데일리 과제] 기술면접 스터디 D-2 (0) | 2023.03.28 |