플랫폼의 파편화
- 플랫폼: 프로그램이 실행되는 하드웨어, 소프트웨어 환경
- 플랫폼 의존성: 플랫폼이 맞지 않으면 실행이 안되므로 맞게 만들어야 함

표준의 필요성
크로스 플랫폼1(가상 머신)
- 여러 OS, CPU 등에서 동일하게 실행할 수 있는 환경
- 가상의 컴퓨터
- JVM(Java Virtual machine) : 자바를 이용한 가상의 컴퓨터
- Write once, run anywhere 코드는 한번만 쓰고, 어디서든 실행해라
- 이식성과 범용성 ⬆️
- 웹의 단점
크로스 플랫폼2(웹)
- 웹 규격에 맞춰 제작
- 접근성과 간편함⬆️
- 반응형 웹 디자인
- 웹은 읽기 편하게 디자인과 글씨를 모바일, pc 크기에 맞게 변형하여 보여줌
네이티브 애플리케이션과 웹 애플리케이션
- 네이티브 애플리케이션
- 사용자가 기기의 OS에서 바로 실행 할 수 있는 애플리케이션
- user → 네이티브 애플리케이션 → OS 순으로 사용
- 장점
- OS와 기기에 내장된 여러 기능 활용 가능
- 인터넷 연결이 없어도 실행이 가능
- 단점
- 웹 애플리케이션
- 웹에서 애플리케이션이 동작하는 것
- user → 웹 애플리케이션 → 브라우저 → OS 순으로 사용
- 적은 투자와 노력으로 서비스를 런칭하고 싶은 회사들의 대안
- 장점
- 설치 없이 실행가능
- 배포 과정이 없음
- 수정 사항이 있어도 실시간 업데이트 가능
- 접근성이 좋고, 링크로 공유 가능
- 단점
웹을 활용하는 여러 가지 방법
- single-page Application
- Hybrid Web Application
- 정해진 앱 공간에 실시간으로 웹 페이지를 보여줄 수 있음
- Progressive Web Application
- 웹 애플리케이션과 네이티브 애플리케이션의 장점 합친 것
- 설치 업이 실행 가능
- 주소만 입력하면 접근 가능
- 실시간 업데이트
- 인터넷 없이 실행 가능
- OS 기능 사용 가능