OS
- 초창기 스마트폰 시장은 Windows Mobile, 심비안 등 다양한 OS가 출시 되었으나 현재 안드로이드와, iOS가 주를 이루게 되었음.
- 현재 서비스는 안드로이드, iOS 를 주로 서비스함.
네이티브(Native)
- 가장 고전?적이며, 안정적인 앱 개발 기술
- 각 스마트폰에 최적화된 기술을 사용 함으로써 최적의 성능, 안정성, 기능을 활용 할 수 있음.
- 운영체제 별로 별도로 개발 하여야 하며, 서로 언어, 개발환경이 매우 상이 함으로 개발 비용이 증가함.
- 개발 비용의 증가로 유지보수성이 떨어 질 수 있음.
하이브리드(Hybrid)
- 주로 웹 프론트엔드 기술과 네이티브 기술을 혼합하여 개발.
- 웹 프론트엔드기술의 눈부신 발전으로 다양한 UI, 기술이 구현가능함.
- 프론트엔드 개발자가 일부 개발이 가능하여 개발 비용이 낮아짐.
- 웹서비스와 앱을 동시에 지원하는 것도 가능함.
- 다양한 OS를 지원하기 용이함.
- 앱의 기능 업데이트 시 서버에서 반영 할 수 있어 앱 심사를 받는 시간이 줄어듬.
- 통신 단절 시 앱의 기능이 제대로 동작하지 않을 수 있음.
- 느린 반응성, 앱같지 않은 앱? 느낌이 나 사용성이 떨어질 수 있음.
- 스마트폰이 지원하는 기능을 제대로 활용하기 어려운 부분이 있음(센서, 카메라, 그래픽처리 등)
크로스 플랫폼 지원
- 별도의 Wrapping된 SDK, Framework를 이용하여 하나의 소스로 여러 플랫폼이 지원 가능.
- 실제 빌드 아웃풋은 네이티브이므로 사용성이 하이브리드 앱에 비해 좋음.
- 특정 OS만 지원하는 기능을 활용하기 어려울 수 있음.
- 다양한 개발 기술이 활용 가능함.
- FLUTTER, ReactNative, IONIC, XAMARIN
React Native
- Facebook이 개발한 크로스플랫폼 앱 개발 프레임워크
- React의 JSX를 활용하여 네이티브뷰로 렌더링함
- 모바일 사이트로 포팅하기 쉬움
- 다양한 JS 프레임워크를 사용할 수 있음(Redux 등)
- 하이브리드 앱과 같이 앱을 이루는 JS코드와, 리소스를 서버에서 업데이트 코드를 바로 적용 할 수 있어 앱 심사 과정이 간단해 질 수 있음
- Native View를 지원 할 수 있음.
- 다양한 메이저 서비스 들이 활용하고 있음.
'개발' 카테고리의 다른 글
Rust로 Windows 드라이버 만들기 (0) | 2025.03.16 |
---|---|
[Unity] 라이선스 활성화안되는 문제.. 유니티 서버 인증서 만료? (0) | 2025.03.08 |
GIT 원격 브랜치 가져오기(checkout) (0) | 2020.04.22 |
GIT 리모트 레포지토리 변경하기 (0) | 2020.04.22 |
TCP 세그먼트란? (0) | 2020.03.12 |
댓글