특정 기능과 관련된 코드, 함수를 모듈로 구성한 프로그램의 집합
언어 | 라이브러리 |
---|---|
C/C++ | STL, DirectX |
Java | Lombok, JSTL |
JavaScript | React.js, axios, redux |
Python | NumPy, Pandas, PyTorch |
Others | OpenCV, TensorFlow |
개발자가 기능 구현에만 집중할 수 있도록 필요한 프로그래밍적 재원(코드 구조, 라이브러리, 스타일링 등)을 지원하는 기술의 집합
개발환경/언어 | 프레임워크 |
---|---|
Java | Spring |
JavaScript | Vue.js, Svelte |
JSX | SolidJS, Next.js |
TypeScript | Angular |
Node.js | Express.js, NestJS |
Python | Django, Flask |
Ruby | Ruby on Rails |
Android | Android |
Dart | Flutter |
.NET | .NET framework |
CSS | Bootstrap, TailWind CSS |
제어의 역전 (IoC: Inversion of Control)
라이브러리(Library)
: 개발자가 프로그램의 전체적인 흐름을 짜고, 필요한 부분에 능동적으로 라이브러리를 사용한다.
(= 코드의 흐름을 개발자가 제어한다.)
프레임워크(Framework)
: 개발자는 프레임워크에서 정한 흐름대로 코드를 작성해야 한다.
(= 코드의 흐름을 프레임워크가 제어한다.)
참고 : https://www.interviewbit.com/blog/framework-vs-library/