Framework vs Library

Juhee Kang·2022년 4월 5일
0

CS 지식

목록 보기
1/3


🔹 Framework 란?

소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말합니다.

간단하게 말하자면,
개발자에게 가이드를 제공함으로써 프로그램을 체계적으로 관리할 수 있는 뼈대를 제공한다고 할 수 있습니다.

Spring AngularJS Django 등이 해당됩니다.

  • 장점
    • 코드의 재사용성 이 높으며,
    • 확장성 측면에서 용이
  • 단점
    • framework를 사용하기 위한 별도의 학습 필요
    • 자유롭고 유연하게 개발이 불가능
    • 많은 코드를 작성하여 구축되므로 프로젝트 용량 증가 및 성능 저하

🔹 Library 란?

주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 집합입니다. 예를 들어 미리 작성된 코드, 함수가 포함될 수 있습니다.

간단하게 말하자면,
개발하는데 필요한 것들을 모아둔 공구함 또는 폴더에 비유할 수 있습니다.
따라서 개발자들이 필요할 때마다 호출하여 사용할 수 있는 방식을 취하고 있습니다.

ReactJS styled-components 등이 해당됩니다.


🔹 Framework vs Library

  • 공통점 : application을 개발하는데 있어 쉽고 빠른 생산성을 위해 사용한다는 점입니다.

  • 차이점 : 흐름에 대한 제어 권한 즉 주도권이 누구에게 있느냐의 차이라고 할 수 있습니다.

    • Framework : 스스로 흐름을 가지고 있어 사용자로 하여금 코드를 연결할 공간을 강제합니다.
    • Library : 사용자에게 흐름을 직접 제어하게 합니다.

🔸 결론

멘토, 멘티에 비유해보면,
Framework(멘토)는 사용자(멘티)에게 무엇을 할지 가이드를 제공해주는 역할을 하며,
반대로 사용자(멘토)는 Library(멘티)가 무엇을 해야 하는지 알려주는 역할을 합니다.


profile
Steadiness

0개의 댓글