React Native 특징과 사용하는 이유

이은지·2024년 1월 9일
0
post-thumbnail

2024 GDSC Soultion Challenge 진행을 위해 팀원들과 아이디어 논의 결과, 모바일 앱 서비스를 만들자는 결론이 나왔다. 그동안 React로 웹 개발 프로젝트를 해왔던 나는 크로스 플랫폼 앱 개발이 가능한 React Native를 활용하여 앱을 만들어 보고자 한다.

1. 네이티브 앱 VS 크로스 플랫폼 앱

💛네이티브 앱

  • 각 운영체제에 맞춰 개발 및 운영이 필요하여 각 앱을 개발하는 플랫폼도 다르고 사용하는 프로그래밍 언어도 다름
  • 사실상 두 개의 앱을 만드는 것과 같아 앱 유지 보수와 업데이트를 할 때도 또한 두 배의 노력이 필요
  • 네이티브 앱 기술
    • Android: 안드로이드 스튜디오, Kotilin
    • iOS: XCode, Swift

💛크로스 플랫폼 앱

  • 크로스 플랫폼 앱은 하나의 소스 코드로 Android, iOS에서 똑같이 작동하는 앱으로 네이티브 개발의 한계점을 개선하고자 탄생
  • 크로스플랫폼 앱 하나가 있다면 Android와 iOS 운영 체제를 위해 동시에 개발 및 운영할 수 있다는 장점이 있음
  • 크로스 플랫폼 앱 기술
    - React Native: 메타(페이스북)에서 2015년 공개
    - Flutter: 구글에서 2017년 공식 릴리즈



2. React Native란?

  • 크로스 플랫폼 앱을 구현하는 JavaScript 기반 프레임워크로 React를 기반으로 만들어짐
  • Javascript 기반 라이브러리, npm을 사용하면서 iOS, Android 앱을 동시에 만들 수 있다는 큰 장점이 있음 → 내가 React Native로 앱을 개발하려는 이유!

💛원리

  • React Native는 런타임중에 JS브릿지를 생성하고 JavaScript 코드를 네이티브 코드로 변환해서 컴파일
  • 브릿지를 통해 네이티브 UI에 접근하는 원리로 Objective-C API로 iOS 컴포넌트를, 자바 API로 안드로이드 컴포넌트를 렌더링 가능
    • iOS, Android 플랫폼의 표준 렌더링 API를 사용하기 때문에 엔드 유저에게 네이티브 UI를 그대로 제공 가능함

💛개발환경

  • JavaScript를 개발할 때 사용하는 코드 에디터를 그대로 사용 가능 (나의 경우 VsCode)



3. React Native를 사용하는 이유

💛 효율적인 개발 및 관리와 뛰어난 성능 제공

  • 단일 코드 베이스로 개발 속도와 업무 효율성 모두 높아짐
  • JavaScript 코드를 네이티브 코드로 변환하는 역할을 하는 모듈을 통해 빠른 성능을 지원

💛개발 커뮤니티 활성화

  • 사용하는 사람이 정말 많음

💛Over-the-Air 업데이트

  • React Native 앱은 OTA(Over-the-Air) 업데이트를 사용해 업데이트를 빠르게 진행할 수 있어 이는 버그 수정이나 디자인 변경을 할 때 유용하게 사용
profile
소통하는 개발자가 꿈입니다!

0개의 댓글