1) 프레임워크(Framework)
원하는 기능 구현을 위해 필요한 기능을 갖추고 있는 뼈대를 의미하며,
앱/서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분을 중점적으로 관리한다.
프레임워크 기반을 사용하는 프로그램 종류
1) Java 서버 개발 - Spring
2) Python 서버 개발 - Django, Flask
3) 웹 개발 - Angular, Vue.js -> (Front-End)
4) 안드로이드 앱 개발 - Android
5) 아이폰 앱 개발 - Cocoa Touch
6) 자바 기반의 JSP 프레임 워크 - Struts
7) 루비 기반의 MVC 패턴 - Ruby on Rails
1-1) 프레임워크 비유적 표현
2) 라이브러리(Library)
소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임을 의미하며,
재사용이 가능한 기능을 미리 구현해놓고 필요한 곳에서 호출하여 사용 가능하도록 만들어졌다.
라이브러리 기반을 사용하는 프로그램 종류
1) Python pip로 설치한 패키지/모듈 - tensorflow, pandas, beautifulsoup
2) C++의 표준 템플릿 라이브러리 - STL
3) Node.js에서 npm으로 설치한 module -> (Front-End)
4) HTML의 클라이언트 사이드 조작을 단순화 - JQuery
5) 웹에서 사용자 인터페이스(UI) 개발에 사용 - React.js -> (Front-End)
2-1) 라이브러리 비유적 표현