by Lee YeJi
여러 종류의 Framework와 Library들을 접하면서 대충은 구별을 하지만 정확히 어떤 차이가 있고 그 종류에는 무엇이 있는지 명확히 알고 싶어서 정리해보았다.
Framework란?
프로그램 개발에서의 큰 틀, 뼈대가 되어주는 것으로서 개발자는 원하는 기능의 구현에만 집중하여 빠르게 개발할 수 있도록 기본적으로 필요한 기능들을 갖추고 있다.
장점
- 체계적으로 만들어지기 때문에 유지보수가 쉽다.
- 필요한 기능 개발에만 집중할 수 있기때문에 생산성이 높다.
프레임워크의 예시
Java: Spring
Python: Django
JavaScript: Angularjs, React, Vuejs
PHP: Laravel
Library란?
라이브러리는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다.
조금 더 풀어서 말하자면 재사용이 필요한 기능들을 따로 Class나 Function으로 만들어두어 필요할 때 마다 불러와서 쓸 수 있게 한 것이다. 보통 코딩할 때 import해서 사용하는 함수들이 라이브러리 함수들이다.
장점
- 코드의 중복이 줄어 가독성이 좋고 유지보수가 쉽다.
- 프로그래밍 시간을 줄일 수 있어 생산성이 높다.
라이브러리의 예시
Java: lombok
JavaScript: jQuery
Framework와 Library의 차이점
Framework와 Library의 차이점의 가장 중요한 포인트는 “제어의 주체
가 무엇이냐”이다.
라이브러리는 그저 개발자가 프로그래밍 할 때 필요한 경우 가져와서 쓰는거라 프로그램의 흐름을 개발자의 코드가 직접 제어하게된다. 반면 프레임워크는 (라이브러리를 사용한)개발자의 코드가 프레임워크에 의해 사용되기때문에 제어의 역전이 일어난다.
즉 라이브러리는 개발자의 코드가 제어의 주체로서 사용하는 것이고 프레임워크는 프레임워크가 제어의 주체가 되어 개발자의 코드를 사용하는 것이다.
Subscribe via RSS