앱 개발을 위한 플랫폼 이해
2026년 7월 16일 공유
플랫폼에 대한 강의 요약
개요
- 플랫폼은 ‘사용자·서비스·어플리케이션’이 이용하고 상호작용하는 기반이 되는 모든 것을 말한다.
- 동일한 단어라도 기차 플랫폼, 사람용 플랫폼, 어플리케이션용 플랫폼 등으로 다양하게 사용된다.
- 강의에서는 어플리케이션이 사용하고 개발자(저자)가 만들고 사용하는 플랫폼에 초점을 맞춘다.
핵심 개념
구분 | 대표 예시 | 핵심 특징 |
|---|---|---|
OS 플랫폼 | Windows, macOS, Linux, iOS, Android, Tizen, Chrome OS | 하드웨어와 직접 통신, 어플리케이션 실행에 필요한 API 제공 |
브라우저 | Chrome, Edge, Safari | 플랫폼 겸 실행 환경 – OS가 없어도 웹 앱을 실행, 대부분의 현대 개발 도구(Visual Studio, VS Code)도 브라우저 기반 UI를 사용 |
앱스토어/웹스토어 | Google Play, Apple App Store, Chrome Web Store | 어플리케이션 배포·다운로드 플랫폼, 플랫폼 독립성(예: iOS/Android) |
언어/런타임 플랫폼 | Java, .NET, Node.js | OS에 독립적으로 동작하도록 추상화, “적응층”(전원 어댑터처럼) 역할 |
데이터 플랫폼 | 소셜 API(카카오, 페이스북), 공공 데이터(기상청), 대시보드 서비스 | 어플리케이션이 외부 데이터를 가져오고 활용하는 데 사용되는 별도 플랫폼 |
가전/IoT 플랫폼 | Tizen, SmartOS | 스마트 TV, 냉장고 등에서 UI와 기능을 제공, 대부분 브라우저 기반 |
상세 내용
- 플랫폼의 다양성
- 기차역 플랫폼, 사람용 플랫폼, 어플리케이션용 플랫폼이 모두 존재함.
- 어플리케이션용 플랫폼은 **“어플리케이션이 사용하고, 개발자가 만들어 주는 환경”**이라는 점을 강조.
- OS 세대 및 구조
- Windows는 NT(New Technology) 계열로, Windows 10+는 ‘Windows RT/Enterprise’ 등 윈도우즈 시리즈가 존재.
- Unix/Linux는 BSD/시스템 5 계열을 거쳐 현재는 ‘Unix‑like’라 부름.
- 두 세대는 서로 다른 커널을 사용하지만, 상호 호환성은 제한적.
- Tizen
- 삼성에서 개발한 브라우저 기반 플랫폼.
- 스마트 TV, 냉장고 등 IoT 기기에 탑재, Intel과 협업해 OS 의존성을 줄이려 함.
- 브라우저 기반이라 운영체제와 별도로 기능 제공.
- 브라우저가 플랫폼이 되는 이유
- 어플리케이션(구글 워드, 스프레드시트 등)은 브라우저 API만으로 동작 → OS에 독립.
- Visual Studio, VS Code 같은 개발 도구도 HTML/CSS/JS로 구성되어 브라우저 안에서 실행.
- OS가 바뀌어도 브라우저가 동일하게 동작하면 어플리케이션도 그대로 실행.
- OS 독립성 확보
- Java와 .NET이 대표적: OS 추상화 층을 만들어 한 번 개발하면 여러 OS에서 실행 가능.
- ‘전원 어댑터’ 비유로, OS 차이를 단일 인터페이스로 숨김.
- 데이터 플랫폼
- 소셜 API(카카오, 페이스북): 사용자 데이터를 제공·수익화.
- 공공 데이터(기상청): 실시간 날씨 정보 제공.
- 어플리케이션이 이 데이터를 사용하려면 별도 API 호출이 필요하며, 이 자체가 또 하나의 플랫폼.
- Chrome OS
- 구글이 만든 브라우저‑기반 OS.
- 15년 전은 클라우드 저장이 부적절했으나, 현재는 모바일 데이터 비용이 저렴해 부상.
- 모든 문서와 애플리케이션이 클라우드에 저장되는 ‘클라우드‑우선’ 모델.
- 미래 전망
- 브라우저 기반 OS와 AI 에이전트가 결합된 ‘클라우드 중심’ 플랫폼이 주류가 될 가능성.
- OS에 구애받지 않는 개발 환경(웹앱, Java, .NET 등)과 데이터 플랫폼이 핵심 인프라가 될 것으로 예상.
결론
- 플랫폼은 단일한 개념이 아니다; 사용 목적과 대상에 따라 다양하게 정의된다.
- 어플리케이션 개발자는 OS, 브라우저, 언어 런타임, 데이터 API 등 다층 플랫폼을 이해하고 활용해야 함.
- 브라우저가 플랫폼 역할을 확대하면서 OS 독립성이 강화되고, 이는 개발자와 기업이 보다 유연하고 범용적인 소프트웨어를 만들 수 있는 기반이 된다.