본문 바로가기
개발 용어 정리

[개발용어] Framework vs Platform

by minhyeok.lee 2024. 8. 3.
반응형

프레임워크, 플랫폼이란?, 프레임워크 vs 플랫폼

 


프레임워크(Framework)

1. 프로그램을 개발할 때 사용할 수 있는 인터페이스 패키지

2. 인터페이스: 개발의 기본 구조와 필요한 코드, 알고리즘, 암호화 체계, 데이터베이스등의 연동방식의 집합체

3. 그 자체가 완벽하게 동작할 수 있는 응용프로그램

4. 따로 사용자가 작성한 코드가 없더라도 동작하는데 문제가 없음

5. 기본적으로 실행해야 할 일을 가지고 사용자가 작성하는 코드의 시작점이 없어 제어를 프레임워크가 전담함

6. 사용자는 프레임워크가 정의한 동작을 재정의하는 형태로 코드를 추가할 수 있음(Extensible)

7. 프레임워크 자체의 변경은 용납하지 않음(Non-modifiable)

8. 사용자가 쉽게 코딩할 수 있는 방법을 제공하지만 의존성도 높아짐

ex) Next.js, NestJS, Spring 등


플랫폼(Platform)

1. 특정장치, 시스템이나 서비스 등에서 이를 구성하는 기반이 되는 하드웨어나 소프트웨어 환경

2. 서드파티에 의해 개발된것이 사용자들에 의해 사용 및 유통될 수 있는 환경이나 기술을 의미

3. 플랫폼은 주체적인 입장이 아니라 호출을 받아 일하는 수동적인 입장

4. 처리되는 결과는 응용프로그램으로 전달되어짐

5. 개발을 하는 기본적인 토대만 제공함

ex) Node.js, Windows, Linux, Naver 등

 


프레임워크 vs 플랫폼

1. 프레임워크와 플랫폼은 기본적으로 개발자가 본인이 직접 모든걸 개발하지 않고 도움을 받거나 활용하여 개발하고자 하는 목표를 이룰때 사용

2. 이 둘의 가장 큰 차이점

 

개발자가 아무것도 하지않아도 제어가 이루어 지는가?

 

- 플랫폼은 사용자의 요청이 존재하지않으면 아무 일이 발생하지 않으므로 제어가 발생하지 않는다.

- 하지만 프레임워크는 기본적인 제어를 전담하고 있기때문에 실행이 가능하다.

- 이때 사용자가 모르는 제어에 있어 프레임워크는 네트워크 통신, 보안등과 같은 사용자가 직접 설정하기엔 너무 까다롭고 복잡한 것들을 프레임워크 별로 지향하는 바에 맞춰 스스로 기본적인 환경을 구축하여 개발자에게 제공한다.

- 반면에 플랫폼은 요청받은 일만 응용프로그램으로 전달하는 수동적은 방식이기 때문에 보통 개발자가 모르는 제어의 흐름은 존재하지 않음 (그런 제어 흐름은 존재하지 않음)

반응형

댓글