[IT용어] 프레임워크(Framework)와 라이브러리(Library)

[IT용어] 프레임워크(Framework)와 라이브러리(Library)

프레임 워크 ( Framewor k )

개념

원하는 기능 구현에만 집중하여 빠르게 개발할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것

프로그램의 기본이 되는 뼈대라고 보면 된다.

뼈대? 뭔 뼈대? 이해가 잘 가지 않는다.

예를 들면 공룡제작 프레임워크를 다운받아서 써보자.

기본으로 공룡 뼈대가 제작돼있다.

-티라노사우루스 뼈대

-벨로키랍토르 뼈대

-스피노사우루스 뼈대

-알로사우루스 뼈대

그럼 우리가 티라노사우루스 뼈대(프레임워크)를 골라 제작(코딩)을 한다고 가정했을 때,

티라노의 형태가 이미 만들어져있으니 살을 어떻게 붙일까만 집중해서 코딩할 수 있겠죠

그리고

뼈대엔 팔이 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

from http://java119.tistory.com/60 by ccl(A) rewrite - 2020-03-07 10:21:50

댓글

이 블로그의 인기 게시물

1. 라라벨설치 설정

PHP 라라벨프레임워크 설치하기 in CentOS 7

Remove Laravel bootstrap cache config.php uploaded to AWS