상세 컨텐츠

본문 제목

크로스 플랫폼 - 리액트 네이티브(React Native)

이것 저것 캐기

by Atlas 2024. 11. 7. 23:45

본문

728x90
반응형

시나리오 - 날이 갈수록 크로스 플랫폼에 대한 관심과 기대가 커지는 가운데 크로스 플랫폼 개발자가 어느새 하나의 개발직군처럼 보이는 것 같다. 현재까지 시장에 나와있는 크로스 플랫폼 들에 대해 조금씩 알아가 보자. 

 

 

크로스 플랫폼에 관심이 있거나 개발 현업에 종사하고 있다면 심심찮게 리액트 네이티브라는 이름을 들어봤을 것이다. 

 

참조 - https://reactnative.dev/

React Native란?

리액트 네이티브란, 자바 스크립트와 리액트를 사용하는 프레임워크로 하나의 코드로 iOS & Android 앱을 개발 가능하다.

현 메타(구 페이스북)에서 개발한 프레임워크로 웹의 리액트를 모바일 앱 개발에 접목한 기술이다.

 

리액트 네이티브로 앱을 만들면 뭐가 좋을까?

 

1. 한 번의 코드로 두 가지 플랫폼을 지원

크로스 플랫폼이 가지는 가장 큰 장점인 하나의 코드로 iOS, Android 2가지 앱을 동시에 개발할 수 있다.

 

2. 핫 리로딩(Hot Reloading) 지원

핫 리로딩이란 코드를 수정하게 되면 즉시 갱신되어 그 결과 값을 확인할 수 있게 해주는 것이다. 

 

3. 네이티브와 통합

네이티브 컴포넌트를 사용할 수 있기 때문에 성능적으로 우수하고, 쉽게 네이티브 모듈을 연동할 수 있다.

 

4.커뮤니티와 생태계

     이부분도 개발환경을 선택할 때 빼놓을 수 없는 중요한 부분이다. 리액트 네이티브는 꾸준히 사용되어 온 만큼 커뮤니티도 활발하다.

     필요한 라이브러리도 쉽게 찾을 수 있고 도움이 필요한 경우도 커뮤니티등을 통해 도움을 받을 수 있는 확률도 높다. 

 

알고 진행하면 좋을 아쉬운 점은 뭐가 있을까?

 

1. 성능 제약

React Native는 네이티브 앱보다 성능이 다소 떨어질 수 있다. 특히 그래픽이나 애니메이션, 복잡한 연산을 많이 사용하는 앱에서는 네이티브 앱보다 느리게 작동할 가능성이 있다. 따라서 고성능이 필요한 게임 앱이나 AR/VR 앱에는 적합하지 않을 수 있다.

 

2. 네이티브 기능 제한 및 호환성 이슈

React Native가 많은 네이티브 API를 지원하지만, 모든 네이티브 기능을 즉시 사용할 수 있는 것은 아니다. 최신 네이티브 기능이나 특정 플랫폼 종속적인 기능은 직접 네이티브 모듈을 작성해야 할 수도 있다. 이 경우 Java, Swift, Objective-C 등의 언어를 추가로 사용해야 하므로 개발이 복잡해질 수 있다.

 

3. 업데이트 및 버전 관리 어려움

React Native와 네이티브 플랫폼(Android, iOS) 간의 업데이트 속도가 다르기 때문에, 새로운 OS 버전이나 네이티브 SDK가 출시되면 이에 맞게 React Native 버전도 빠르게 업데이트되어야 한다. 호환성 문제가 발생할 수 있으며, 새로운 네이티브 기능을 사용할 때까지 시간이 걸릴 수 있다.

 

4. 크기 문제

React Native는 기본적으로 JavaScript 런타임을 포함하고 있기 때문에 네이티브 앱보다 앱의 크기가 더 커질 수 있다. 이로 인해 앱의 다운로드 용량이 커져 초기 설치에 영향을 줄 수 있다.

 

5. 디버깅과 성능 최적화의 어려움

React Native는 JavaScript와 네이티브 코드를 연결하는 브릿지 구조를 사용하기 때문에, 디버깅이 복잡해질 수 있다. 또한 JavaScript와 네이티브 코드 간의 통신이 많은 경우 성능 저하가 발생할 수 있으며, 이를 최적화하는 데 시간이 걸릴 수 있다.

 

어떤 사람에게 추천할까? 

1. 빠르게 결과를 확인해 봐야하는 경우 

빠른 피드백이 필요한 스타트업이나 1인 개발자에게 최적이다.

한 번의 코드 작성으로 두 플랫폼을 동시에 출시할 수 있고, 핫 리로딩으로 빠르게 기능을 점검할 수 있기 때문이죠.

 

2. 웹 개발 경험이 있어 앱 개발에 빠르게 도전해 보고 싶은 경우

웹 개발 경험이 있는 사람이라면, React Native는 정말 빠르게 적응할 수 있다. React를 다뤄본 적 있다면 구조가 친숙하게 느껴질 겁니다.

 

3. JavaScript와 React에 익숙한 경우

JavaScript나 React에 익숙하다면, 네이티브 개발로 바로 진입할 수 있다. 새로운 언어를 배우는 부담 없이, 네이티브 앱 개발에 접근해 볼 수 있다. 

 

4. 모바일 앱 성능과 네이티브 기능이 중요한 경우

React Native는 네이티브 모듈과 통합이 용이해, 앱 성능과 사용자 경험을 중시하는 개발자에게도 좋은 선택이 될 수 있다.

 

 

 

참조 사이트 

- 공식문서 

https://reactnative.dev/docs/getting-started

 

Introduction · React Native

This helpful guide lays out the prerequisites for learning React Native, using these docs, and setting up your environment.

reactnative.dev

 

GitHub의 ‘React Native 공식문서 한국어 번역’ 저장소: 공식 문서의 한국어 번역본을 제공

https://github.com/dev-seomoon/react-native-docs-ko

 

GitHub - dev-seomoon/react-native-docs-ko: React Native 공식문서 한국어 번역 ver1.0 ⭐️

React Native 공식문서 한국어 번역 ver1.0 ⭐️. Contribute to dev-seomoon/react-native-docs-ko development by creating an account on GitHub.

github.com

 

반응형

관련글 더보기

댓글 영역