프레임워크, 플랫폼이란?, 프레임워크 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. 이 둘의 가장 큰 차이점
개발자가 아무것도 하지않아도 제어가 이루어 지는가?
- 플랫폼은 사용자의 요청이 존재하지않으면 아무 일이 발생하지 않으므로 제어가 발생하지 않는다.
- 하지만 프레임워크는 기본적인 제어를 전담하고 있기때문에 실행이 가능하다.
- 이때 사용자가 모르는 제어에 있어 프레임워크는 네트워크 통신, 보안등과 같은 사용자가 직접 설정하기엔 너무 까다롭고 복잡한 것들을 프레임워크 별로 지향하는 바에 맞춰 스스로 기본적인 환경을 구축하여 개발자에게 제공한다.
- 반면에 플랫폼은 요청받은 일만 응용프로그램으로 전달하는 수동적은 방식이기 때문에 보통 개발자가 모르는 제어의 흐름은 존재하지 않음 (그런 제어 흐름은 존재하지 않음)
'개발 용어 정리' 카테고리의 다른 글
[알고리즘] 동적 계획법(Dynamic Programming, DP), 분할 정복(Divide and Conquer) (0) | 2023.06.17 |
---|---|
[알고리즘] 타뷸레이션(Tabulation) (0) | 2023.06.17 |
[알고리즘] 재귀(recursion), 재귀함수(recursive function) (0) | 2023.06.16 |
[알고리즘] 에라토스테네스의 체 (0) | 2023.06.14 |
[알고리즘] 메모이제이션(memoization) (0) | 2023.06.13 |
댓글