컴퓨터 개론

Codeit_라이브러리 와 프레임워크

AngeRay 2021. 6. 4. 22:32

라이브러리 와 프레임워크


다른 프로그램이지만 코드가 같을 수 있다.

사실 프로그래밍에서는 이런 일이 자주 일어난다.

내가 만들고 싶은 기능의 상당 부분이 이미 다른 개발자가 필요한 것과 똑같은 경우가 굉장히 많다.

 

라이브러리

자주 쓰일법한 코드를 모아 둔 게 라이브러리 이다.

마치 도서관 처럼 필요한 코드를 찾아서 쓸 수 있게 해둔 것이다.

라이브러리는 프로그래밍이 성장하는데 큰 기여를 했다.

기존의 코드를 가져다 쓸 수 있으니 프로그램을 만드는 속도가 빨라졌고,

요즘은 라이브러리를 사용하는 법만 알면 프로그래밍을 모르는 사람도 프로그램을 만들 수 있는 수준에 이르렀다.

라이브러리는 언어를 선택하는 기준이 되기도 한다.

이는 미리 만들어 둔 코드이기 때문에 여러 프로그래밍 언어 중 하나로 작성되어 있다.

즉 모든 언어 공용으로 쓸 수 있는 것은 아니다.

언어마다 자신에게 맞는 라이브러리가 있다.

 

프레임워크

프레임워크는 적은 양의 코드 만으로도 프로그램을 만들 수 있다는 점에서 라이브러리와 유사하다.

라이브러리는 내가 필요한 코드를 가져와서 내 코드에 붙여버리는 것이다.

그래서 코드를 다 작성하지 않아도 프로그램을 만들 수 있었다. 

이 두 개념은 유사하지만 다른 개념이다.

프레임워크는 애초에 프로그래밍의 뼈대가 이미 준비되어 있고 내가 작성할 공간들만 비워져 있는 것이다.

정해진 빈 곳들에 코드를 채워 넣으면 프로그램이 완성되는 것이다.

때문에 프레임워크는 이미 반은 완성된 프로그램이라고도 볼 수 있다.

간단하게 빠르게 프로그램을 만들고 싶을 때는 프레임워크를 활용한다.

 

어떤 경우에 프레임워크를 쓰면 좋을까?

큰 틀이 정해져 있고 그 세부내용만 바뀌는 프로그램에 프레임워크가 효과적 이다.

내가 미처 생각하지 못한 부분들까지 다 고려가 되어 있다는 점이다.

개발자가 미처 생각하지 못한 부분들까지 다 고려가 되어 있는 경우가 많으므로,

좀 더 견고한 프로그램을 만드는데에도 도움을 준다.

다만 프레임워크는 이미 짜여진 틀 안에서 프로그램이 만들어지기 때문에 프로그램의 틀을 바꾸고 싶다면

복잡한 프레임워크의 구조에 대해서 자세하게 알아야 한다.

프레임워크의 구조를 바꾼다는 게 힘들다는 단점이 있다.

 

라이브러리 VS 프레임워크

라이브러리란 이미 누가 만들어 놓은 도구를 가져와서 그대로 사용하는 걸 말한다.

프레임워크란 틀이 이미 짜여 있는 만큼 내 마음대로 바꿀 수 있는 건 별로 없겠지만 최소한의 노력만으로 프로그램이 완성 가능하다.