라이브러리와 프레임워크. 내가 필요할 때 찾아서 이용한다는 점에서 보면 언뜻 보기에 비슷해 보인다. 이 둘의 차이점은 무엇일까?
먼저 두 용어의 정의를 비교해보자. 라이브러리란, 컴퓨터 이용의 효율화를 꾀하기 위해서 이용자가 필요에 따라서 사용하는 표준화된 프로그램 및 서브루틴의 모임을 말한다.
프레임워크는 소프트웨어 애플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능에 해당하는 부분의 설계와 구현을 재사용하도록 협업화된 형태의 소프트웨어 환경이다. 정의로만 보았을 때는 두 용어가 다른 듯하면서도 그 차이가 잘 와닿지 않는 느낌이다.

둘의 차이점은 능동성에 있다. 라이브러리는 프로그래머 자신이 필요한 기능이 있을 때 가져다가 쓰는 일종의 도구 같은 개념이다. 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴(함수), 클래스 등이 이에 해당한다.
파이썬을 예로 들어보면, 파이썬으로 프로그래밍할 때 사용하는 OS, Sys, Random 등이 라이브러리라고 할 수 있다. 반면 프레임워크는 명칭에서 볼 수 있듯이 틀(Frame) 안에서 작동(work)할 수 있게 해준다. 즉, 프로그래머는 어떤 환경 안에서 정해진 규칙에 따라 다소 수동적인 형태로 작업하게 되는 것이다. 프레임워크의 예로 자바 기반의 스프링(Spring), 파이썬 기반의 Django, 루비(Ruby) 기반의 Ruby on Rails 등이 있다.
지금까지 라이브러리와 프레임워크의 차이점에 대해서 알아보았다. 라이브러리와 프레임워크는 개념적으로는 차이가 있지만 두 가지 모두 프로그램을 개발하는 데 매우 큰 도움을 준다는 공통점이 있다. 따라서 이들을 잘 활용한다면 훨씬 효율적인 개발이 가능할 것이다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]