곰돌이 놀이터
[기본] 플랫폼, 프레임워크, 라이브러리의, API 의 이해 본문
라이브러리
라이브러리는 사전에 만들어진 코드의 집합이라고 할 수 있다. 개발자는 필요시 공개된 라이브러리를 자신의 프로그램에 호출하여 사용할 수 있다.
■ 대표적인 라이브러리
요즘 많이 사용되는 컴퓨터 프로그래밍 언어인 파이썬의 경우, 많은 라이브러리를 제공하여 개발자들에게 큰 도움이 되고 있다. 데이터 분석과 처리를 할 때 유용하게 사용할 수 있는 numpy와 pandas, 각종 수학계산 함수를 제공하는 scifi, 다양한 그래프를 단순한 코드 몇 줄로 쉽게 그릴 수 있게 해주는 matplot등 많은 라이브러리들이 제공되어 해당 언어를 사용하는 사람들이 만들어내는 결과물의 폭을 넓히고 그 품질을 많이 향상시키는 역할을 하고 있다.
프레임워크
프레임워크는 직역하면 뼈대라는 의미를 가지고 있는데, 컴퓨터 분야에서의 프레임워크는 프로그램을 개발할 때 사용할 수 있는 인터페이스 패키지라 할 수 있다. 여기서의 인터페이스란 개발의 근간을 이루는 구조와 필요한 코드/알고리즘/암호화 체계/데이터베이스 연동방식의 집합체를 말한다.
■ 대표적인 프레임워크
프레임워크는 자바 언어에 대해서 많이 나오고 있는데 Spring 프레임워크, 그리고 Spring 프레임워크를 기반으로 만들어진 전자정부 프레임워크, 인터페이스와 관련된 Angular 프레임워크 등이 있다.
■ 라이브러리와 프레임워크의 차이
라이브러리는 개발자가 어떠한 기능을 가진 모듈이 필요할 때 해당 모듈을 호출하여 가져다 쓰는 개념이라고 할 수 있다. 반면 프레임워크는 단순한 호출용 모듈이 아니라, 프로그램의 근간이 되는 구조를 잡는 것으로부터 시작하여, 각종 외부 요소(데이터베이스, 보안, 사용자 인터페이스)와 접하는 영역에 대한 구현 방식을 제안하는 역할까지 하고 있다.
API
API는 Application Program Interface의 약자로 인터페이스를 의미한다.
서로 다른 목적으로 개발된 프로그램/라이브러리들의 특정 기능을 호출하기 위해서, 혹은 외부의 다른 프로그램이 개발된(하고있는) 프로그램/라이브러리의 기능을 사용할 수 있게 하기 위해서는 기능을 호출해야 하는 사용자를 위한 배려가 필요한 데, 이것이 API 이다.
일종의 약속인 것으로, 기능을 (온라인)서비스하거나 라이브러리로 제공하기 위해서는 기능을 호출할 수 있는 명세(API)도 같이 제공해야 한다.
■ 대표적인 API
자바 프로그래밍을 시작할 때 활용하는 자바 API 문서, 구글 지도 API, 페이스북 API 등이 있다.
■ 라이브러리와 API의 차이
라이브러리와 API는 다른 말이긴 하지만, 보통 라이브러리를 획득하면 해당 라이브러리의 API가 따라온다. 그래야 라이브러리를 쉽게 사용할 수 있기 때문이다. 하지만 API가 라이브러리를 의미하는것은 아니다.
플랫폼
플랫폼이란 단어는 본래 '승강장' 이란 뜻으로 가장 많이 쓰이며 IT 에서 쓰이는 플랫폼은 '특정 장치나 시스템, 서비스 등에서 이를 구성하는 기반이 되는 하드웨어나 소프트웨어 환경, 더 크게는 기초가 되는 틀이나 골격을 지칭한다.'
또 다른 의미로는 서드파티(플랫폼 개발을 담당하는 자/기관이 아닌 자/기관)에 의해 개발된 것이 사용자들에 의해 사용/유통될 수 있는 환경/기술을 의미한다.
■ 대표적인 플랫폼
컴퓨터의 경우 Windows나 Linux, MacOS 같은 기본 운영체제를 플래폼이라 부르며, 당연히 스마트폰에서는 안드로이드나 IOS를 플랫폼이라 할 수 있다.
또 인터넷 포털 서비스에서 '네이버'나 '페이스북' 혹은 앱 '카카오톡' 도 플랫폼이라고 부를수 있다.
참고
'기본 개발 지식' 카테고리의 다른 글
[기본] CI 란? (0) | 2018.07.30 |
---|---|
[기본] Angular 와 React 의 비교 (0) | 2018.07.26 |
[기본] 매개변수( Parameter )와 전달인자( Argument )의 차이 (0) | 2018.07.25 |
[기본] 접근제어자( Access Modifier ) 란? (0) | 2018.07.20 |
[기본] 세션과 쿠키의 차이( with 캐시 ) (0) | 2018.07.19 |