어플리케이션 개발 종류
: 웹앱, 하이브리드 앱, 크로스 플랫폼, 네이티브 앱
→ 모바일 앱의 모습을 한 웹 사이트
→ HTML, CSS, JS 와 같은 웹 기술로 개발
💻 PWA (Progressive Web Apps)
- 기존 웹 개발에 추가적인 세팅만 필요
- 모바일 기기에서 네이티브 앱과 같은 사용자 경험을 제공
- 앱 다운로드나 업데이트 없이 웹 브라우저 통해 앱을 바로 사용 가능
- 웹페이지와 달리 오프라인에서도 사용 가능
- 푸시알림, 카메라, 마이크 처럼 모바일 기기 자체의 기능도 사용 가능
→ 아래와 같이 다운로드 버튼이 생성되며, 설치 가능 (ex. Pinterest)
→ 네이티브 앱 + 웹앱
→ 앱의 화면이나 기능 등 콘텐츠 영역은 웹 뷰를 통해 웹앱으로 제작하며, 최종 앱 배포에 필요한 앱 마켓 등록과 설치를 위한 패키징(안드로이드/iOS) 처리는 네이티브 앱으로 구현한 방식

→ 한 가지의 개발 언어와 프레임워크로 안드로이드, iOS 네이티브 앱을 만드는 개발 방식
→ 다른 개발 언어로 코드를 작성 후 각각의 OS가 이해할 수 있는 코드로 컴파일 한 후, 각각의 OS의 엔진으로 실행하는 방식

| Flutter | React Native | |
|---|---|---|
| 개발 언어 | Dart | JavaScript (React) |
| 만든 곳 | 페이스북 | |
| 대표적인 서비스 | 알리바바, 텐센트, eBay, Google Pay, Google Classroom, BMW | 페이스북, 인스타그램, 테슬라, 우버이츠, 디스코드, 토스, 카카오페이, 숨고, 미소 등 |
→ 가장 보편적인 앱 개발 방식으로 안드로이드와 iOS 각각의 플랫폼에서 요구하는 언어로 앱을 제작
| Android | iOS | |
|---|---|---|
| 개발 언어 | Java, Kotlin | Swift, Objective-C |
| API 연동 | Retrofit | Alamofire |

→ 초기 개발시 기기에 따라 다르지 않게 빠른 개발, 재사용성을 위해서는 크로스 플랫폼 추천 ⭐️
→ But, 지속해서 유지하고자 하는 서비스의 경우 사용자 대응과 안정성, 성능을 갖춘 네이티브 앱 추천 ⭐️
(ex. Uber, Instagram, Walmart 등의 기업 → 하이브리드 앱이나 크로스 플랫폼 앱에서 네이티브 앱으로 전환)