본문 바로가기
개발 공부 일지/CS

라이브러리, 프레임워크

by yelimu 2024. 9. 3.

라이브러리

  • 라이브러리란 개발자가 만든 클래스들의 나열로, 다른 프로그램들에서 사용할 수 있도록 제공하는 방식이다.
  • 라이브러리는 단순 활용가능한 도구들의 집합을 말합니다.미리 작성된 코드, 변수, 함수, 클래스가 포함됩니다
  • 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임 입니다.

개발자가 필요한 기능을 호출한다. 

언제, 어디서, 어떻게 사용할 지 등 자유도가 높으며, 다양한 라이브러리를 조합하여 자신만의 구조와 패턴을 만들 수 있다. 

특정 작업을 쉽게 하기 위해 사용됩니다. 예를 들어, 네트워크 요청을 처리하는 라이브러리, JSON을 파싱하는 라이브러리, 이미지 처리를 위한 라이브러리 등이 있습니다.

 

라이브러리 예시

  • TensorFlow: 머신러닝과 딥러닝을 위한 Python 라이브러리.
  • Pandas: 데이터 분석과 조작을 위한 Python 라이브러리.
  • NumPy: 수치 계산을 위한 Python 라이브러리.
  • jQuery: HTML 문서 탐색 및 조작, 이벤트 처리, 애니메이션, Ajax를 쉽게 처리할 수 있게 하는 JavaScript 라이브러리.
  • Lodash: JavaScript 유틸리티 라이브러리로서 배열, 객체, 문자열 등 다양한 작업을 편리하게 처리할 수 있게 해줍니다.

 

프레임워크 

  • 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 기능을 갖추고 있는 골격, 뼈대를 의미합니다. 이러한 구조위에서 사용자가 코드를 작성해서 애플리케이션을 개발 합니다.
  • 앱/서버 등의 구동, 메모리관리, 이벤트 루프 등 공통된 부분은 프레임워크가 관리하고, 사용자는 프레임워크가 정해준 방식대로 클래스, 메소드를 구현하면 됩니다
  • 한마디로 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합 이라고 볼 수 있습니다.

프레임워크는 전체 흐름을 제어하며, 개발자는 그 안에서 필요한 부분만을 작성한다. = 프레임워크가 개발자의 코드를 호출한다.

특정 구조와 규칙을 따르도록 요구한다.

예를 들어, 웹 애플리케이션을 개발할 때 사용하는 Spring, Django, Ruby on Rails와 같은 프레임워크는 애플리케이션의 구조를 정의하고, 각종 기능을 제공합니다.

 

프레임워크에는 라이브러리가 포함되어있다. 

 

프레임워크 예시

  • JAVA 서버 개발에 사용되는 Spring Framework
  • Python 서버 개발에 사용되는 Django, Flask
  • 안드로이드 앱 개발에 사용되는 Android
  • 웹 개발에 사용되는 Angular, Vue.js
  • JAVA 기반의 JSP를 위한 Struts

 

  • 앵귤러와 뷰 웹 개발을 할 때 필요한 모든 기능과 툴을 포함하고 있기 때문에 프레임워크라고 할 수 있다.
  • 리액트 ui를 만드는 기능만을 제공하기 때문에 라이브러리라고 할 수 있다.

 

 

https://inpa.tistory.com/category/Library/JS%20%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%20%EB%AA%A8%EC%9D%8C

 

'Library/JS 라이브러리 모음' 카테고리의 글 목록

성장 욕구가 가파른 초보 개발자로서 공부한 내용을 쉽게 풀어쓴 기술 개발자 블로그를 운영하고 있습니다.

inpa.tistory.com

 

https://codingapple.com/unit/jquery-library-tutorial/

 

웹개발에 자주 쓰는 자바스크립트 라이브러리들 - 코딩애플 온라인 강좌

자바스크립트로 UI를 직접 만들 필요는 없습니다. 최상의 퍼포먼스를 위해선 당연히 UI를 직접 만들어야하겠지만  요즘의 개발 메타는 '개발자가 편한 개발'입니다.  어떤 도구를 쓰든간에 개발

codingapple.com

 

프레임워크 예시

https://getbootstrap.kr/

 

Bootstrap

강력하고 확장 가능하며 기능이 풍부한 프론트엔드 툴킷. Sass로 빌드 및 커스터마이징하고, 사전 빌드된 그리드 시스템 및 구성 요소를 활용하고, 강력한 JavaScript 플러그인으로 프로젝트에 생기

getbootstrap.kr

https://sharonprogress.tistory.com/169

 

프레임워크(Framework)와 라이브러리(Library)의 차이점

1. 프레임워크(Framework)란? 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형

sharonprogress.tistory.com