Library(라이브러리)와 Framework(프레임워크)

Library

라이브러리는 여러 함수들의 모음집입니다. 라이브러리의 사용 목적은 내 프로그램에 필요한 기능, 혹은 그 일부를 이미 만들어진 함수로 사용함으로 해당 함수를 만드는 시간과 노력을 줄이는 것이 1차적인 목적입니다. 부가적으로는 남들이 다들 많이 쓰니까 인터넷에서 사용법을 찾기가 쉬움, 많은 사람들이 사용해왔으므로 오작동을 일으킬 확률이 내가 직접 만든 함수보다 적음 등이 되겠네요. 즉 코딩을 하다가 어떠한 기능(함수)가 필요할 때 '혹시 누군가 이미 만들어 놓은 함수가 있지 않을까?'하는 생각으로 사용하는 것이 라이브러리입니다.

jQuery를 예로 들면, jQuery는 방대한 양의 함수를 가지기는 했으나, 그 목적은 각각의 기능의 제공입니다. 개발자가 자신의 방식대로 코딩을 하다가 필요에 따라 jQuery에서 기능을 가져다가 씁니다.

Framework

프레임워크 역시 함수들의 집합이지만, 그 목적은 어떠한 프로그램 제작의 시작부터 끝까지 필요한 모든 기능들을 제공하고, 추가로 코딩 방법 역시 제공합니다. 개발의 큰 틀(frame)을 제공해 주는 것으로, 개발전에 '누군가 프로그램 제작 방법과 라이브러리를 공유해 놓은 것'을 찾는 것이 프레임워크입니다.

프레임워크와 라이브러리의 차이

프레임워크와 라이브러리의 차이점은 누가 큰 그림을 그리냐의 차이입니다.

  • 라이브러리 - 내 방식대로 코딩을 하면서 이미 만들어진 기능을 라이브러리로부터 가져다가 쓰는 것
  • 프레임워크 - 프레임워크가 정해준 방법을 따라가며 나의 코드를 작성하는 것

경우에 따라 프레임워크임에도 불구하고 라이브러리처럼 사용할 수 있는 경우도 있습니다. 예를 들어 Bootstrap의 경우 전체적으로 Bootstrap을 사용하지 않으면서 Bootstrap의 일부 component만 가져다 쓸 수도 있죠. 이게 잘 못되었다고는 할 수 없지만, Bootstrap의 제작자의 의도가 전체사이트에서 Bootstrap을 전반적으로 사용하는 것이므로 Bootstrap은 프레임워크입니다. Bootstrap을 일부만 사용하면, Bootstrap이 제공하는 반응형 사이트, 브라우저간 통일성 등이 제대로 작동하지 않을 수도 있습니다.

댓글

댓글쓰기

이 글에 댓글을 다시려면 SNS 계정으로 로그인하세요. 자세히 알아보기

UP