모바일 앱을 개발하려고 마음 먹을 때 가장 고민하는 것이 '어떤 프레임워크를 사용하여 개발 할 것인가?' 인것 같다
현재 가장 유명한 모바일 크로스 플랫폼은 'Flutter' 와 'React Native'가 있다.
저같은 경우 'Flutter' 와 'React Native' 중에서 고민을 했고, 많은 사람들이 고민하고 있을 것이라 생각한다.
크로스 플랫폼 개발
1. 개념
한 가지의 개발 언어를 이용하여 다양한 플랫폼에서 같은 기능을 가진 소프트웨어를 개발하는 방법이다.
2. 장점
- 하나의 개발 언어로 다양한 플랫폼에서 동작 가능한 소프트웨어를 개발할 수 있기 때문에 네이티브한 개발 방법에 비해 비용과 시간을 절약할 수 있다.
- 다양한 플랫폼에서 동작이 가능하기 때문에 더 많은 사용자를 대상으로 서비스 할 수 있다.
3. 단점
- 네이티브한 개발보다 성능이 떨어질 수 있다.
- 크로스 플랫폼에서 각 운영체제의 API를 지원해주지 않는다면 사용할 수 없다.
Flutter
1. 개념
- 구글에서 개발한 모바일 앱 개발 프레임워크이다.
- 사용 언어 : Dart
2. 장점
- 성능과 속도 : 고성능 렌더링 엔진으로 인해 네이티브한 앱과 비슷한 성능 및 속도를 가질 수 있다.
- 개발 편의성 : hot-reload 기능을 통해 코드의 변경사항을 실시간으로 확인 할 수 있다.
- 다양한 UI : 많은 기본 위젯을 통해 빠른 속도로 화면을 설계 할 수 있다.
3. 단점
- 새로운 언어 : Dart 라는 새로운 언어를 공부해야 한다.
- 커뮤니티 빈약 : 커뮤니티가 빠르게 성장 중에 있지만, 아직 부족한 점이 많다.
- 용량 : 네이티브 앱보다 용량이 크다.
React Native
1. 개념
- FaceBook에서 개발한 모바일 UI 용 라이브러리입니다.
- 사용 언어 : Javascript
2. 장점
- 커뮤니티 : Flutter에 비해 커뮤니티가 더 발달되어 있어 문제가 생겼을 경우 참고할 수 있는 자료가 많다.
- 다양한 라이브러리 : 출시 된지 비교적 오래되었기 때문에 다양한 라이브러리가 존재하고, 안전성 또한 높다.
- React와 연관성 : React 개발자는 React-native를 쉽게 배울 수 있다.
3. 단점
- 성능 : 네이티브 앱에 비해 성능이 떨어질 수 있다.
- 많은 기본 지식 요구 : JavaScript, JSX(Html), CSS에 대해 알고 있어야한다.
- 점유율 하락 : Flutter를 선호하는 개발자들이 많아지고 점유율이 조금씩 하락하는 추세이다.
Flutter 를 선택한 이유
- 개발 속도가 비교적 빠르다는 점으로 인해 많은 프로젝트를 해볼 수 있을 것 같다
- 커스텀 UI를 쉽게 만들수 있다는 점에서 테스트를 많이 해볼 수 있을 것 같다.
- 빠르게 성장하고 있고 UI에 특화되어 있다.
'Flutter' 카테고리의 다른 글
[Flutter] 상태 관리란? (GetX를 선택한 이유) (0) | 2024.03.08 |
---|---|
[Flutter] Null safety 및 여러 문자의 의미(?, !, ??, ??=, < >, _, ..) (1) | 2024.03.06 |
[Flutter] 자주 사용하는 색상 및 글꼴 관리하기 (0) | 2024.03.03 |
[Flutter] 비동기 개념과 관련 키워드 알아보기(Future, async, await, then) (0) | 2024.03.01 |
[Flutter] Figma Color Hex값 이용해서 색 설정하기 (0) | 2024.02.27 |