반응형

프레임 워크(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

반응형

+ Recent posts