서드파티(Third Party)란?
- 어떤 시스템, 소프트웨어, 계약, 또는 서비스에서 제3자를 의미
- 서드파티는 일반적으로 기본적인 관계에 직접적으로 포함되지 않은 외부 주체를 가리킴
- 단, 분야에 따라 서드파티 용어의 쓰임새가 달라짐
분야 별 서드파티의 의미
게임 및 디지털 콘텐츠
- 게임 분야에서 서드파티(Third Party)란 콘솔 게임기 제조사가 제공하는 라이선스를 기반으로, 특정 플랫폼(PS5, XBOX)에서 게임만 제작하는 외부 게임 개발사를 의미
Ex) PlayStation에서 판매되는 Ubisoft의 '어쌔신 크리드', EA의 FIFA 시리즈, Capcom의 Street Figther - 반대 개념으로는 퍼스트 파티(First Party)가 있는데, 퍼스트 파티는 콘솔 게임기 제조사가 소프트웨어(게임)까지 개발하는 경우를 의미
Ex) SONY의 The Last of US, MS의 Halo 시리즈
정리
- 퍼스트 파티(First Party) : 콘솔 게임기 제조사가 소프트웨어(게임)까지 개발
- 서드 파티(Third Party) : 콘솔 게임기를 기반으로 게임만 제작하는 외부 개발사
- 콘솔 게임기 : TV에 연결해서 플레이할 수 있는 게임기 [ SONY = PlayStation / MS = XBOX ]
프로그래밍
- 프로그래밍 분야에서 서드 파티(Third Party)란 프로그래밍을 도와주는 플러그인, 라이브러리, 프레임워크 등을 만드는 회사를 의미
- 플러그인, 라이브러리, 프레임워크는 공통적으로 '개발하는 것을 도와준다는 의미'를 가짐
- 프로그래밍 개발 ← [ 서드파티(플러그인, 라이브러리, 프레임워크) ] → 개발자
→ 위의 구조로 제 3자가 중간 다리 역할을 해줌 - 플러그인, 라이브러리, 프레임워크는 음식으로 비유하면 밀키트 정도로 볼 수 있음
→ 이미 준비된 재료(코드)들로 전자레인지에 돌리거나 열을 가하는 등의 조리(코딩)만 하는 것
스마트폰
- 스마트폰 분야에서 서드 파티(Third Party)란 운영체제(OS) 스토어에서 제공하는 스마트폰 애플리케이션을 의미
→ 일반 개발사가 만든 애플리케이션 - 반대 의미인 퍼스트 파티(First Party)는 제조사가 직접 만들어 스마트폰에 기본으로 탑재되어 있는 앱을 의미
→ iPhone의 페이스 타임, 애플 TV, 지도 등 - 운영체제(OS) : 구글의 안드로이드, 애플의 iOS를 의미
- 운영체제의 스토어 : 구글 플레이스토어, 애플 앱스토어
플러그인, 라이브러리, 프레임워크의 간단한 설명
플러그인 (Plugin)
- 정의 : 이미 만들어진 소프트웨어에 특정 기능을 추가하는 작은 프로그램
- 예시 : 브라우저의 광고 차단 플러그인, IDE의 코드 자동 완성 플러그인
- 비유 : 밀키트에 추가 토핑(예: 치즈, 고명)을 올려 맛을 더하는 것
라이브러리 (Library)
- 정의 : 특정 기능을 쉽게 구현할 수 있도록 제공되는 코드 모음, 개발자가 필요할 때 가져와 사용하는 방식
- 예시 : 데이터 분석에 사용하는 Python의 NumPy, 그래픽 그리기에 사용하는 JavaScript의 D3.js.
- 비유 : 밀키트 안의 이미 손질된 재료들(예: 썰어진 채소, 소스), 원하는 재료만 골라 사용할 수 있음
프레임워크 (Framework)
- 정의 : 전체적인 개발 구조와 규칙을 제공하여, 개발자가 그 위에서 코드를 작성하는 방식
- 예시 : 웹 개발을 위한 Spring Boot(Java), Django(Python)
- 비유 : 밀키트 제조사가 제공하는 조리 방법과 순서에 따라 요리해야 하는 것 (규칙을 따르되 자유롭게 변형 가능)
서로의 차이점
- 플러그인은 주로 기존 프로그램을 확장하는 데 사용되며, 독립적으로 실행되지 않음
- 라이브러리는 개발자가 필요에 따라 호출하여 사용하는 도구로 자유도가 높음
- 프레임워크는 특정 규칙과 구조를 강제하여 개발의 일관성을 유지
정리
개념 | 역할 | 비유 | 예시 |
플러그인 | 기존 소프트웨어 확장 | 밀키트에 추가 토핑 | 브라우저 광고 차단 플러그인 |
라이브러리 | 필요한 기능을 호출해 사용 | 밀키트 안의 손질된 재료 | Python의 Numpy, Pandas |
프레임워크 | 개발 구조와 규칙 제공 | 밀키트 제조사의 조리법 제공 | Spring Boot, Django |
참고 자료
https://contents.premium.naver.com/3mit/wony/contents/220505105924891hK
'Computer Science' 카테고리의 다른 글
[Cloud Service] 클라우드 서비스의 개념 (3) | 2024.12.15 |
---|---|
[Software Engineering] CBD 방법론 (1) | 2024.12.03 |
[Database] 트랜잭션의 개념과 ACID 원칙 (1) | 2024.11.18 |
[Network] RESTful API vs Socket 통신 차이 (2) | 2024.11.18 |
[Software Architecture] REST API과 RESTful API (0) | 2024.11.18 |