React-Native
크로스 플랫폼 개발: React Native는 JavaScript를 사용하여 Android 및 iOS 애플리케이션을 개발할 수 있습니다. 하나의 코드베이스로 여러 플랫폼을 대상으로 하는 앱을 개발할 수 있으므로 개발 비용과 시간을 절약할 수 있습니다.
네이티브 기능 액세스: React Native는 네이티브 기능에 직접 액세스할 수 있습니다. React Native의 JavaScript 코드는 네이티브 모듈과 상호작용하여 디바이스의 카메라, 위치, 알림 등과 같은 기능을 사용할 수 있습니다.
풍부한 커뮤니티 및 생태계: React Native는 많은 개발자 커뮤니티와 활발한 생태계를 가지고 있습니다. 다양한 오픈 소스 컴포넌트, 라이브러리, 플러그인 등이 제공되어 개발 속도를 높이고 품질을 향상시킬 수 있습니다.
핫 리로딩: React Native는 핫 리로딩 기능을 지원합니다. 앱을 다시 빌드하지 않고도 코드 변경 사항을 즉시 반영할 수 있어 개발자가 빠르게 실험하고 반응할 수 있습니다.
재사용 가능한 컴포넌트: React Native는 React의 컴포넌트 기반 아키텍처를 사용합니다. 이미 구축한 React-Ionic 프로젝트의 일부 컴포넌트를 재사용할 수 있으며, 이는 개발 시간과 비용을 절감하는 데 도움이 됩니다.
성능: React Native는 네이티브 코드로 컴파일되는 특성을 가지고 있어 성능 면에서 웹 기반 해결책보다 우수한 성능을 제공할 수 있습니다.
대규모 생태계: React Native는 Facebook을 비롯한 많은 큰 회사들이 사용하고 있는 기술입니다. 따라서 많은 개발자, 도구 및 리소스가 React Native를 지원하고 있어 대규모 프로젝트에 적합합니다.
기존 Ionic 앱을 최대한 재사용할 수 있다는 점에서 적합
JavaScript로 작성된 앱을 개발하기 위한 오픈 소스 프레임워크.
React Native는 네이티브 기능에 접근하고 하이브리드 앱을 만들기 위한 다양한 라이브러리와 컴포넌트를 제공.
이미 React-Ionic에서 사용 중인 React 구성 요소를 재사용할 수 있기 때문에 전환 작업이 상대적으로 쉬울 수 있음.
또한 React Native는 Android 및 iOS 플랫폼을 모두 만들 수 있음
장점
단점
이미 구축한 Ionic앱의 로직과 일부 UI 컴포넌트를 재사용할 수 있음
사용중인 모든 UI 컴포넌트를 직접 구현
크로스 플랫폼 개발 지원
Web View
프론트앤드 개발자들이 switching 및 인수인계가 쉬움
웹 기술을 사용할 수 있기 때문에 특정 플랫폼의 제한적인 기능을 원활하게 사용을 할 수 있음
네이티브 기능에 접근하는데 제한이 있어 성능과 사용자 경험 측면에서 다소 떨어짐
금융 앱이라는 점에서 보안측면을 유심하게 생각해볼 필요가 있기 때문에 적합하지 않다고 개인적으로 생각
Flutter