교육/소소한 IT 개념

프레임워크, 라이브러리

라임07 2022. 9. 27. 13:22
라이브러리(Library)란?
  •  소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임입니다.
  • 특정 기능을 모은 코드(함수들의 집합)이며 코드 작성 시 활용 가능한 도구들을 의미합니다.
  • 라이브러리 사용시 필요한 로직을 직접 구현할 필요없이 라이브러리에서 제공하는 API를 호출하는 것을 통해 원하는 기능을 사용할 수 있게됩니다.

예) 톱, 망치, 삽 같은 연장도구

 

 

 

프레임워크(Framework)란?
  • 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 상태로 클래스들을 제공하는 것입니다.
  • 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미합니다.
  • Frame(틀, 규칙) + Work(일, 소프트웨어의 목적)
  • 활용 가능한 여러 주요기능들(라이브러리들)을 모아놓은 것

예) 밀키트 → 주어진 재료로 요리가 완성되게끔 구조화된 형태

 

 

프레임워크 장점
  •  생산성 향상 : 시간이 절약되며, DB 연동, 유저 인증 등 개발에 공통적으로 필요한 필수 기능들을 제공해주므로 빠르게 개발할 수 있습니다.
  • 개발 일관성 향상 : 대규모 프로젝트를 공동 수행하는 많은 개발자들이 다른 언어와 코딩기법으로 작업을 하기에는 어렵습니다. 하지만 프레임워크는 개발에 필요한 과정들의 기본 규격이 되므로 여러 개발자들이 일관된 틀 아래 개발할 수 있게 됩니다. = 유지보수가 쉬워집니다.
  • 퀄리티 향상 : 대부분의 개발자들이 검증한 코드이므로 버그 발생 확률이 적습니다.

 

 

프레임워크 종류
  • 백엔드

 

프레임워크 개발 언어 특징
Spring Java 전자정부 프레임워크의 기반으로 국내에서 활용도가 가장 높음
Django Python 웹에서 조작 가능한 관리자 페이지를 기본적으로 제공하여 편리함
Express.js Java Script Node.js 런타임에서 작동하는 빠르고 간편한 웹 프레임워크로 프론트엔드와 같은 언어를 쓰기에 편리함

 

  • 프론트엔드

 

프레임워크 개발언어 특징
Angular JavaScript 구글, 기업 공동체, 개인에 의해 개발됨
React(라이브러리) JavaScript 가장 많이 활용되었음(Facebook, Instagram 등)
Vue.js JavaScript 최근 많이 떠오르고 있음