본문 바로가기

Dev

프레임워크와 라이브러리

프레임워크와 라이브러리

소프트웨어 개발 생산성을 높이고, 효율적인 개발을 가능하게 한다.

프레임워크(Framework)

특정 개발 방식을 위한 기본 구조 제공

보통 프레임워크가 라이브러리보다 더 포괄적인 기능 세트를 제공함

  • 사용 사례 : 웹 애플리케이션 개발, 모바일 애플리케이션 개발, 데스크탑 애플리케이션 개발 등
  • 예시 : Angular, React(라이브러리지만 프레임워크처럼 사용됨), Vue.js(웹 프론트 개발), Django(파이썬 웹 개발), Spring(자바 백엔드 개발)

라이브러리(Library)

특정 기능을 수행하기 위해 재사용 가능한 함수나 객체의 집합

개발자가 코드의 특정 부분을 구현할 때 그 기능을 제공함

  • 사용 사례 : 특정 알고리즘, 데이터 구조, 네트워킹 도구, 이미지 처리 기능 등
  • 예시 : jQuery(웹 개발), NumPy(파이썬에서 수치 계산), React(사용자 인터페이스 구축)

 

 

언어별 프레임워크, 라이브러리

JavaScript

프레임워크 : Angular, React, Vue.js..

  • Angular는 타입스크립트 기반 프론트 개발 프레임워크
  • React는 사용자 인터페이스 구축을 위한 효율적이고 유연한 라이브러리(프레임워크처럼 사용됨)
  • Vue.js는 웹 인터페이스 개발을 위한 진보적 프레임워크

라이브러리 : Lodash, Moment.js, D3.js..

  • Lodash 유틸리티 라이브러리로 다양한 편의 기능 제공
  • Moment.js 날짜와 시간 다루는 작업 간소화
  • D3.js 데이터 시각화

Python

프레임워크 : Django, Flask..

  • Django는 빠른 개발과 깔끔한, 실용적인 디자인 지향 고수준 웹 프레임워크
  • Flask는 경량 웹 애플리케이션 프레임워크, 간단하지만 확장 가능한 웹/앱에 적합

라이브러리 : NumPy, Pandas, Matplotlib

  • NumPy 과학 계산을 위한 기본 패키지, 다차원 배열 객체와 배열 조작을 위한 다양한 도구 제공
  • Pandas 데이터 분석과 조작을 위한 라이브러리
  • Matplotlib 데이터 시각화

Java

프레임워크: Spring, Hibernate

  • Spring은 강력한 엔터프라이즈 애플리케이션을 위한 종합적인 프로그래밍 및 구성 모델 제공
  • Hibernate는 Java 언어를 위한 객체 관계 매핑(ORM) 라이브러리

라이브러리: Apache Commons, Google Guava

  • Apache Commons Java SE 기능을 보완하는 자바 컴포넌트 모음
  • Google Guava 코어 자바 라이브러리의 확장으로, 콜렉션, 캐싱, 프리미티브 지원, 병렬성 라이브러리, 공통 어노테이션 등을 제공

C#

프레임워크: .NET Framework, ASP.NET

  • .NET Framework는 윈도우 애플리케이션, 웹 서비스 및 웹 애플리케이션 개발을 위한 포괄적 프레임워크
  • ASP.NET는 동적 웹 페이지 개발을 위한 웹 애플리케이션 프레임워크

라이브러리: Entity Framework, Newtonsoft.Json

  • Entity Framework 데이터베이스와의 상호작용을 단순화하고 객체지향적인 방식으로 데이트 관리할 수 있게 도움
  • Newtonsoft.Json Json데이터의 직렬화 및 역직렬화, 데이터 변환을 쉽게 처리할 수 있게 도움

 

'Dev' 카테고리의 다른 글

앱 서비스 상태, 포그라운드와 백그라운드  (9) 2024.10.23
GIT 기본기  (5) 2024.03.25
데이터베이스  (1) 2024.03.23
웹과 애플리케이션  (3) 2024.03.20
API와 JSON  (7) 2024.03.19