[Day 13] Library & Framework에 대해

grl pwr·2022년 6월 4일
0

📌 Library?


  • 프로그램 제작 시, 필요한 기능
    예) 자동차 핸들, 바퀴, 에어백

  • 재사용이 필요한 기능으로 반복적인 코드 작성을 없애기 위해 언제든 필요한 곳에서 호출해 사용할 수 있도록 Class나 Function으로 만들어진 것

  • 사용 여부는 코드 작성자 선택이며 새로운 라이브러리 제작 시에도 엄격한 규칙이 존재하지 않는다. 제작 의도에 맞게 작성 가능

  • jQuery는 가장 유명한 자바스크립트 라이브러리 입니다

  • 그래픽 사용자 인터페이스 (Graphical User Interface, GUI)에서 재사용하기 쉽게 테이블, 버튼 같은 구성 요소를 호출해서 사용할 수 있도록 분리되어 있으면 라이브러리

  • 객체지향 프로그래밍(Object-Oriented Programming, OPP)은 기본적으로 각 기능마다 함수화하는 것으로 클래스 라이브러리라고 할 수도 있다


📌 Framework?


  • 프로그램 기본 구조
    예) 자동차 뼈대

  • 원하는 기능 구현에만 집중해 빠르게 개발할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것. Library가 포함되어 있다

  • 프레임워크만으로는 실행되지 않아 기능 추가를 해야 하고 프레임워크에 의존해 개발되야 됨. 프레임워크가 정의한 규칙을 준수해야 한다

  • 비슷하지만 많은 프레임워크가 존재하는 이유는 아래에서 설명하게 될 아키텍처가 다른 것. 규칙을 준수해야 되는 이유이기도 하다

  • 자바스크립트에는 AngularJS라는 프레임워크가 있다

📌 Architecture?


  • 프로그램 주요 구조 설계
    예) 자동차 도면, 주택 도면

  • 기획한 내용을 프로그램화했을 경우 필요한 주요 특징을 기술적으로 설계하고 명시하는 것

  • 필요한 모든 구성 요소를 명시하지만 구체적인 구현 방법은 포함하지 않음. '플랫폼'은 주요 특징이지만 '라이브러리'나 '프레임워크'는 주요 특징이 아니어서 명시되지 않을 수 있음

  • 예를 들어, 헤드라이트 본넷 밑에 사각형 모양으로 존재한다고 설계했을 때, 헤드라이트 고정 방식이 볼트인지 접착제인지 구체적으로 명시되지 않을 수도 있음


참고 자료:
https://blog.gaerae.com/2016/11/what-is-library-and-framework-and-architecture-and-platform.html

profile
4대륙 개발자

0개의 댓글