프로그램 제작 시, 필요한 기능
예) 자동차 핸들, 바퀴, 에어백
재사용이 필요한 기능으로 반복적인 코드 작성을 없애기 위해 언제든 필요한 곳에서 호출해 사용할 수 있도록 Class나 Function으로 만들어진 것
사용 여부는 코드 작성자 선택이며 새로운 라이브러리 제작 시에도 엄격한 규칙이 존재하지 않는다. 제작 의도에 맞게 작성 가능
jQuery는 가장 유명한 자바스크립트 라이브러리 입니다
그래픽 사용자 인터페이스 (Graphical User Interface, GUI)에서 재사용하기 쉽게 테이블, 버튼 같은 구성 요소를 호출해서 사용할 수 있도록 분리되어 있으면 라이브러리
객체지향 프로그래밍(Object-Oriented Programming, OPP)은 기본적으로 각 기능마다 함수화하는 것으로 클래스 라이브러리라고 할 수도 있다
프로그램 기본 구조
예) 자동차 뼈대
원하는 기능 구현에만 집중해 빠르게 개발할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것. Library가 포함되어 있다
프레임워크만으로는 실행되지 않아 기능 추가를 해야 하고 프레임워크에 의존해 개발되야 됨. 프레임워크가 정의한 규칙을 준수해야 한다
비슷하지만 많은 프레임워크가 존재하는 이유는 아래에서 설명하게 될 아키텍처가 다른 것. 규칙을 준수해야 되는 이유이기도 하다
자바스크립트에는 AngularJS라는 프레임워크가 있다
프로그램 주요 구조 설계
예) 자동차 도면, 주택 도면
기획한 내용을 프로그램화했을 경우 필요한 주요 특징을 기술적으로 설계하고 명시하는 것
필요한 모든 구성 요소를 명시하지만 구체적인 구현 방법은 포함하지 않음. '플랫폼'은 주요 특징이지만 '라이브러리'나 '프레임워크'는 주요 특징이 아니어서 명시되지 않을 수 있음
예를 들어, 헤드라이트 본넷 밑에 사각형 모양으로 존재한다고 설계했을 때, 헤드라이트 고정 방식이 볼트인지 접착제인지 구체적으로 명시되지 않을 수도 있음
참고 자료:
https://blog.gaerae.com/2016/11/what-is-library-and-framework-and-architecture-and-platform.html