라이브러리
- 라이브러리란 개발자가 만든 클래스들의 나열로, 다른 프로그램들에서 사용할 수 있도록 제공하는 방식이다.
- 라이브러리는 단순 활용가능한 도구들의 집합을 말합니다.미리 작성된 코드, 변수, 함수, 클래스가 포함됩니다
- 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임 입니다.
개발자가 필요한 기능을 호출한다.
언제, 어디서, 어떻게 사용할 지 등 자유도가 높으며, 다양한 라이브러리를 조합하여 자신만의 구조와 패턴을 만들 수 있다.
특정 작업을 쉽게 하기 위해 사용됩니다. 예를 들어, 네트워크 요청을 처리하는 라이브러리, 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를 만드는 기능만을 제공하기 때문에 라이브러리라고 할 수 있다.
'Library/JS 라이브러리 모음' 카테고리의 글 목록
성장 욕구가 가파른 초보 개발자로서 공부한 내용을 쉽게 풀어쓴 기술 개발자 블로그를 운영하고 있습니다.
inpa.tistory.com
https://codingapple.com/unit/jquery-library-tutorial/
웹개발에 자주 쓰는 자바스크립트 라이브러리들 - 코딩애플 온라인 강좌
자바스크립트로 UI를 직접 만들 필요는 없습니다. 최상의 퍼포먼스를 위해선 당연히 UI를 직접 만들어야하겠지만 요즘의 개발 메타는 '개발자가 편한 개발'입니다. 어떤 도구를 쓰든간에 개발
codingapple.com
프레임워크 예시
Bootstrap
강력하고 확장 가능하며 기능이 풍부한 프론트엔드 툴킷. Sass로 빌드 및 커스터마이징하고, 사전 빌드된 그리드 시스템 및 구성 요소를 활용하고, 강력한 JavaScript 플러그인으로 프로젝트에 생기
getbootstrap.kr
https://sharonprogress.tistory.com/169
프레임워크(Framework)와 라이브러리(Library)의 차이점
1. 프레임워크(Framework)란? 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형
sharonprogress.tistory.com
'개발 공부 일지 > CS' 카테고리의 다른 글
클래스의 접근 제한자 (Public, Private, Protected) (0) | 2024.09.03 |
---|---|
그래프, 트리 (0) | 2024.09.03 |
프로세스(with 메모리 구조), 스레드 (2) | 2024.09.02 |
오버로딩, 오버라이딩 (0) | 2024.09.02 |
쿠키, 로컬, 세션 스토리지 (0) | 2024.09.02 |