프레임워크 & 라이브러리 & 플랫폼 & API

김민혁·2022년 1월 15일
0

프레임워크

  • 프로그램을 개발할 때 사용할 수 있는 인터페이스 패키지
  • 인터페이스: 개발의 근간 구조와 필요한 코드, 알고리즘, 암호화 체계, 데이터베이스 연동방식의 집합체
  • 라이브러리를 작업환경에 맞게 세팅해놓은것?
  • ex: Spring, 전자정부 프레임워크, Vue.js

라이브러리

  • 사전에 만들어진 코드의 집합
  • 개발 중 필요시에 자신의 프로그램에 호출하여 사용할 수 있다.
  • ex: numpy, pandas, scifi, matplot
  • 프레임워크와 라이브러리 차이: 라이브러리는 개발자가 호출하여 사용하는 개념이고 프레임워크는 프로그램의 근간 구조부터 각종 외부 요소(DB, 보안, UI)와 접하는 영역에 대한 구현 방식을 제안하는 역할까지 한다.

플랫폼

  • 특정 장치나 시스템, 서비스 등에서 이를 구성하는 기반이 되는 하드웨어나 소프트웨어 환경, 더 크게는 기초가 되는 틀이나 골격을 지칭한다.
  • 서드파티(플랫폼 개발을 담당하는 자, 기관이 아닌 자, 기관) 에 의해 개발도니 것이 사용자들에 의해 사용, 유통될 수 있는 환경이나 기술을 의미하기도 한다.
  • ex: Windows, Linux, MacOs 같은 운영체제 또는 'Naver', 'Facebook'
  • 플랫폼과 프레임워크의 차이: 플랫폼은 일의 주체적인 입장이 아니라 호출을 받아 일을 처리하는 곳이며, 처리되는 결과는 다시 원하는 응용 프로그램으로 전달된다. 즉 플랫폼은 개발의 토대만을 제공한다. 이와 달리 프레임워크는 그 자체가 완벽히 동작할 수 있는 응용 프로그램이다. 즉, 따로 사용자가 작성한 코드가 없더라도 동작하는데 문제가 없다. 즉 기본적으로 실행해야 할 일을 가지고 있고 사용자가 작성하는 코드의 시작점이 없기에 제어도 프레임워크가 전담한다고 볼 수 있다. 사용자는 프레임워크가 정의한 동작을 재정의 하는 형태로 코드를 추가할 수 있으며(Extensible), 프레임워크 자체의 변경은 용납하지 않는다.(Non-modifiable). 따라서 쉽게 사용자가 코딩할 수 있는 방법을 제공하지만 의존성도 높아질 수 있다.

API

  • Application Programming Interface의 약자로 인터페이스를 의미한다.
  • 컴퓨터나 컴퓨터 프로그램 사이의 연결이다.
  • 다른 종류의 소프트웨어에 서비스를 제공한다.
  • 연결이나 인터페이스를 빌드하거나 사용하는 방법을 기술하는 문서나 표준은 API 사양이라고 부른다.
  • 시스템이 동작하는 방식에 관한 내부의 세세한 부분을 숨기는 것으로, 내부의 세세한 부분이 나중에 변경되더라도 프로그래머가 유용하게 사용할 수 있고 일정하게 관리할 수 있는 부분들만 노출시킨다.
  • 보통 라이브러리를 획득하면 해당 라이브러리의 API가 따라온다. 하지만 API가 라이브러리를 의미하는것은 아니다.
  • ex: 구글 지도 API, 페이스북 로그인 API
profile
학생

0개의 댓글