본문 바로가기

카테고리 없음

라이브러리와 프레임워크 종류

반응형

라이브러리 종류

 라이브러리는 크게 표준 라이브러리(Standard Library)와 외부 라이브러리로 나눌 수 있다. 먼저 표준 라이브러리는 프로그래밍 언어의 여러 구현체에서 통용될 수 있도록 만들어진 라이브러리로, 특정 언어를 처음 배울 때 콘솔 창에 "Hello World!"를 출력하는데 이때 콘솔에 글자를 출력하는 함수를 직접 작성하지 않았지만, 내장 함수인 표준 라이브러리가 제공되어 사용되는 것이다. 이러한 표준 라이브러리는 프로그래밍 언어가 기본적으로 가지고 있으며, C 표준 라이브러리, C++ 표준 라이브러리, 자바 클래스 라이브러리(JCL) 등이 존재한다.

 외부 라이브러리는 표준 라이브러리와 다르게 누구나 개발해서 사용하고 공유할 수 있도록 별도의 파일을 설치하거나 설정해서 사용하는 라이브러리이다. 실제 코딩을 진행하게 되면 모든 부분을 직접 개발하기에는 시간과 비용이 많이 소모되어, 효율적으로 개발을 진행하기 위해 이미 많은 사람들이 시행착오를 겪어가며 만들어 둔 안정적이고 신뢰성 높은 외부 라이브러리를 사용하게 된다. 외부 라이브러리를 사용하는 예시로는 Node.js의 NPM에서 필요한 모듈을 설치하는 것과, 파이썬의 pip install 등이 있다. 또한 개발자가 프로젝트 내에 직접 만든 클래스나 함수도 외부 라이브러리에 속하며, 이를 사용자 정의 라이브러리나 함수라고 표현한다.

 

프레임워크 종류

 프로그램을 개발할 때 뼈대를 마련해주는 프레임워크에는 개발에 필요한 화면, 데이터베이스 설정, 디자인 패턴 등이 미리 정해져 있습니다. 그로 인해 단순히 사용하는 언어와 잘 맞는다고 프레임워크를 정하는 것이 아닌 목적성을 염두해두고 사용해야 합니다. 다양한 프레임워크의 종류 중 유명하고, 많은 사람들이 사용하는 것에는 스프링, Vue.js, React.js, Angular.js, 장고, 익스프레스 등이 있습니다.

 스프링(Spring)은 Java의 웹 프레임워크로 엔터프라이즈급 애플리케이션을 개발할 때 많이 사용됩니다. 스프링 프레임워크는 POJO(Plain Old Java Object)방식, 관점 지향 프로그래밍(AOP : Aspect Oriented Programming), 의존성 주입(DI : Dependency Injection), 제어 역전(Ioc : Inversion of Control) 등의 특징을 가지고 있습니다.

 Vue.js는 사용자 인터페이스, 웹 클라이언트 작업에 주로 사용되는 자바스크립트 기반 프레임워크로, 반응형 웹을 쉽게 구성할 수 있고, 다양한 뷰 구성 요소를 제공합니다. React.js 또한 사용자 인터페이스, 웹 클라이언트 작업에 주로 사용되는 자바스크립트 기반 프레임워크로, 컴포넌트에서 복잡한 UI를 구성할 수 있는 유연한 프레임워크라는 특징을 가지고 있습니다. Angular.js의 경우 자바스크립트, 타입 스크립트 기반 모바일 및 데스크톱 웹 애플리케이션을 구축하는 데 사용할 수 있는 오픈소스 기반 웹 프레임워크로, 동적인 웹 애플리케이션을 구현하기 위해 사용되고, html을 템플릿 언어로 사용할 수 있다는 장점을 가지고 있습니다. 이는 확장성이 좋고 다른 라이브러리와 잘 동작합니다.

 장고(Django)는 파이썬 기반의 웹 프레임워크이자 풀 스택 프레임워크로 웹 개발을 위한 대부분의 기능을 갖추고 있으며, 깔끔하고 실용적이라는 특징을 가지고 있다. 강력한 풀스택 웹 프레임워크답게 ORM(Object relational mapping)과 관리자 페이지를 기본적으로 제공하며, 자주 사용되는 로직들을 묶어서 제공한다는 특징을 가지고 있다. 많은 기능이 구현되어 있어 빠른 개발이 가능하고 유지보수에 유용하며, 안정성이 좋지만 확장성이 다소 떨어진다는 단점을 보유하고 있다.

반응형