오늘은 개발의 효율성을 높여준다는 공통점을 지닌 두가지 "프레임워크"와 "라이브러리" 두가지에 대해서 적어보려고 합니다.
프레임워크(framework)
정의 : 뼈대라고 생각하면 됨, 작업의 뼈대가 정해져 있는 라이브러리
여러 기능을 가진 클래스와 라이브러리가 합쳐진 형태로 라이브러리의 상위 그룹
특징 :
- 개발자가 작성한 메서드가 프레임워크게 의해서 호출된다(제어의 역전)
- 정해진 메뉴얼, 틀 등 개발을 시작하는 방법부터 기능을 구현하는 모든 것을 프레임워크에서 정해 놓은대로 따라야 함(제어의 흐름이 프레임워크에 있음) -> 개발자 학습시간이 필요함
- 체계적인 코드 관리로 유지 보수가 용이함
- 개발 생산성이 높아진다
예시 :
java이용자에게는 Spring
javascript이용자에게는 Node.js
python이용자에게는 Django
그외에도 React, Vue, Laravel이 있음
라이브러리(library)
정의 : 어떤 특정한 기능을 하기 위해 모아놓은 코드의 모음
특징 :
- 내가 필요한 기능의 라이브러리만 따로 호출해서 사용할 수 있음 (개발의 흐름을 개발자가 제어)
- 개발자가 직접 만들어 제공할 수 있으나 호출한 라이브러리는 수정해서 사용 할 수 없음
- 재사용성을 높이고 반복적인 코드 사용을 낮추기 위해 사용된다
예시 :
Javascript는 jQuery, Bootstap등
Java는 Apache commons library
Python은 NumPy, Pandas, PyTorch
출처
https://velog.io/@nemo/framework-library-gfreqbgx
'junior developer :) > CS(Computer Science)지식' 카테고리의 다른 글
API에 대하여(+ REST API, REST 성숙도 모델) (1) | 2022.10.06 |
---|---|
네트워크 기초 1. URL과 URI / IP / PORT / 도메인 / DNS_브라우저 작동원리(보이지 않는 곳) (0) | 2022.10.05 |
[CS] 자료구조란? (0) | 2022.07.30 |
[CS] TDD(Test Driven Development)란? (0) | 2022.07.23 |
[CS] 객체지향 vs 절차지향 (0) | 2022.07.21 |