[IT용어] 프레임워크(Framework)와 라이브러리(Library)
프레임 워크(Framework)
개념
원하는 기능 구현에만 집중하여 빠르게 개발할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것
프로그램의 기본이 되는 뼈대라고 보면 된다.
뼈대? 뭔 뼈대? 이해가 잘 가지 않는다.
예를 들면 공룡제작 프레임워크를 다운받아서 써보자.
기본으로 공룡 뼈대가 제작돼있다.
-티라노사우루스 뼈대
-벨로키랍토르 뼈대
-스피노사우루스 뼈대
-알로사우루스 뼈대
그럼 우리가 티라노사우루스 뼈대(프레임워크)를 골라 제작(코딩)을 한다고 가정했을 때,
티라노의 형태가 이미 만들어져있으니 살을 어떻게 붙일까만 집중해서 코딩할 수 있겠죠
그리고
뼈대엔 팔이 2개 있는데 새로운 뼈를 만들어서 팔을 3개 만들 순 없다.
왜? 팔 2개라고 정의 해놨으니까요 "티라노사우르스 뼈대는 팔이 2개다." 라고 말이죠
하지만? 팔을 굵게 만들고, 꼬리는 짧게 다리는 길게(메소드길게(메서드) 만들순 있습니다.
사용 이유
만약 공룡 제작 프레임워크가 없다면
그 뼈대 자체를 만드는데만 한 세월이 걸리게 됩니다.
하지만 프레임워크를 이용한다면 더욱 빠르게 만들 수 있고,
팔 2개 다리 2개 꼬리 1개 이렇게 정해져있으니 표준을 정할 수 있습니다.
예를 들어
공룡 제작프레임워크 소스를 받는다면 "아 팔 2개 다리 2개 꼬리 1개이겠구나" 알 수 있습니다.
언어별 대표 프레임워크
Java - Spring
Python - Django
PHP - Laravel
JavaScript - React
GO - Revel
Ruby - Rails
라이브 러리(Library)
개념
필요한 기능을 미리 준비 해놓은 개념
굉장히 범위가 포괄적이다.
미리 작성된 코드, 서브루틴(함수), 클래스, 값, 자료형
이 모두가 라이브러리에 속한다.
한마디로 재사용이 가능한 코드의 집합 이라고 보시면 됩니다.
예를 들면 위 예시처럼 공룡 제작 프레임워크를 쓰고 있다가
그냥 발톱이 아닌 강철 발톱을 쓰고 싶다면?
발톱은 팔 2개 다리 2개
총 4개나 들어간다.
그럼 라이브러리를 쓰지 않는다면 강철 발톱을 하나 만들어서
일일이 복사 붙여넣기 해야 한다.
매우 가독성이 떨어지며 유지보수도 굉장히 힘들다.
하지만 이미 만들어진 강철 발톱라이브러리가 있다면 그 라이브러리를 적용 시킴으로써
바로 강철 발톱을 장착 시킬 수 있다.
여기서 프레임워크의 강점이 또 나온다. 강철 발톱은 반드시 공룡 제작 프레임워크에만 사용 가능하다는 점.
(특정 프레임워크에 맞게 나온 라이브러리들이 많이 존재한다)
사용 이유
재사용이 필요한 기능으로 반복적인 코드 작성을 없앨 수 있다.
그러므로 개발이 훨씬 수월해진다.
대표 라이브러리
JavaScript - jQuery, Chart.js
Python - 아파치 Libcloud, Arrow,Behold
Java - JUnit, Jackson
'IT 용어' 카테고리의 다른 글
[IT용어] SOP(Same-Origin Policy),CORS(Cross Origin Resource Sharing)란? (0) | 2019.12.03 |
---|---|
[IT용어] NameSpace(네임스페이스)란? (0) | 2019.11.29 |
[IT용어] 정적,동적 프로그래밍 언어 (1) | 2019.11.18 |
[IT용어] JSON(JavaScript Object Notation) (3) | 2019.11.14 |
[IT 용어] REST,REST API,RESTful (0) | 2019.11.03 |