프레임워크 & 라이브러리 (07.26)

Ohyuchan·2023년 7월 28일
0
post-thumbnail

프레임워크 & 라이브러리


이번 포스팅은 프레임워크와 라이브러리에 대해서 작성해보려고 한다.
기본적인 개념은 숙지하고 있지만 남에게 설명하려고 할 때 무언가 부족함을 느껴서
다른 사람에게도 설명할 수 있도록 발표문 형식으로 작성하려고 한다.

일단 프레임워크와 라이브러리는 소프트웨어 개발에서 자주 사용되는 용어들입니다.
이들은 개발을 보다 효율적으로 진행하고 재사용하는 데 도움을 주는 도구들입니다.

프레임워크란?


Framework(뼈대)
프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구며,
소프트웨어 개발에 있어 하나의 뼈대 역할을 합니다.

개발자는 프레임워크 안에서 구체적인 기능들을 구현하여 자신의 애플리케이션을 개발합니다.
프레임워크는 어떤 문제를 해결하기 위해 자주 사용하는 디자인 패턴, 라이브러리,
클래스 등을 포함하고 있으며, 개발자가 프레임워크에서 제공하는 규칙과 규약을 따라야 합니다.

프레임워크 예시


  • Django : Python 기반의 웹 애플리케이션 개발을 위한 프레임워크로,
    데이터베이스 연동, URL 라우팅, 템플릿 엔진 등을 제공합니다.
  • Ruby On Rails : Ruby 기반의 웹 애플리케이션 개발을 위한 프레임워크로,
    강력한 ORM(Object-Relational Mapping)과 MVC(Model-View-Controller)패턴을 지원합니다.
  • Spring Framework : Java 기반의 웹 애플리케이션 개발을 프레임워크로,
    의존성 주입(Dependency Injection), AOP(Aspect-Oriented Programming) 등을 지원합니다.

라이브러리란?


Library(도서관)
소프트웨어의 구성요소 중 한가지로 API를 기반으로 대상 환경(플랫폼)에서 바로 실행될 수
있도록 모듈화된 프로그램 모음이다.
라이브러리는 혼자서 동작하는 완전한 프로그램이 아닌, 특정한 부분 기능만을 수행하도록 제작된,   컴파일되어 기계어의 형태로 존재하는 프로그램이다.

라이브러리는 특정 기능을 구현하는 함수, 클래스, 모듈 등으로 구성되며, 개발자는 필요할 때마다 이러한 기능들을 호출하여 사용할 수 있습니다.
라이브러리는 프레임워크와 달리 프로젝트의 구조를 강제하지 않으며, 필요한 기능만 선택적으로 사용할 수 있습니다.

라이브러리 예시


  • NumPy: 파이썬에서 과학적인 계산을 위한 라이브러리로, 다차원 배열과 행렬 연산을 지원합니다.
  • React: JavaScript 기반의 사용자 인터페이스(UI) 구축을 위한 라이브러리로,
    재사용 가능한 컴포넌트 기반 접근 방식을 제공합니다.
  • Pandas: Python 데이터 분석을 위한 라이브러리로, 데이터 조작과 분석에 유용한
    자료구조와 함수를 제공합니다.
profile
안녕하세요

0개의 댓글