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

Lys·2023년 9월 7일

개발상식

목록 보기
7/15

프레임워크란(Framework)?

Frame + work 라는 단어의 합성어로 일 구조, 작업 구조라는 뜻 처럼
어떠한 일을 처리하기 위한 구조를 제공하는 것으로 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다. 프레임워크가 전체적인 동작 방식을 제공하여 개발자는 구현에 집중할 수 있게 해준다. 프레임 워크의 종류에는 Spring, VueJS 등이 있다.

 위 그림 처럼 MVC 패턴의 요청 처리 과정을 봤을 때
 개발자는 보라색 부분을 개발한다.
 나머지 부분은 spring에서 제공하는 모듈을 사용하거나
 Configuration을 사용해 본인에게 맞게 변경한다.
  • 프레임워크의 장점
    • 가이드를 제공하기 때문에 프로그램을 일관성 있게 관리 할 수 있다.
    • 코드의 재사용성이 높고 확장성이 좋다.
    • 전체적인 동작 방식을 제공하기 때문에 개발 속도를 향상시킬 수 있다.
    • 반복 개발을 줄이고 공통 콤포넌트와 서비스를 활용하요 개발 코드를 최소화 할 수 있다.
    • 복잡한 기술은 프레임워크에 의해 숨겨진다. 미리 잘 정의 된 기술이 적용되기 때문에 시스템의 복잡도가 감소된다.
    • 유지보수가 쉽다.

  • 프레임워크의 단점
    • 학습 난이도가 높다.
    • 제공되는 기능만큼 프로젝트 용량이 증가한다.
    • 기본 설계 된 구조에 의해 자유로운 개발에 한계가 있다.

  • 라이브러리의 장점
    • 코드의 재사용성이 높고 원하는 기능을 비교적 쉽게 구현할 수 있다.
      -이미 구현된 기능을 재사용 하는 것 이기 때문에 시간 과 비용을 절약할 수 있다.

라이브러리란(Library)?

자주 사용하는 로직을 재사용하기 편리하도록 잘 정리해 둔 기능 집합을 마한다. 대상 환경에서 바로 실행될 수 있는 형태로 제공 되며, 완전한 프로그램이 아닌, 특정 부분 기능만을 수행하도록 제작 된 프로그램이다. 문서,함수,클래스,자료형 사양 등이 있다.

  • 프레임 워크와 라이브러리의 차이
  • 프레임 워크와 라이브러리의 차이는 "제어흐름" 이 어디에 있는지에 있다. 프레임 워크는 전체적인 흐름을 가지고 있다. 라이브러리의 경우에는 개발자가 흐름을 가지고 있으며 개발자가 필요할 경우 능동적으로 라이브러리를 호출하여 사용한다.

🙇‍ 참고 사이트 🙇‍

https://eroul-ri.tistory.com/5
https://velog.io/@seungho1216/%EC%9B%B9-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EC%99%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC
https://atmkofw.tistory.com/26
https://code-lab1.tistory.com/284

0개의 댓글