본문으로 건너뛰기

리엑트 네이티브 소개

리액트 네이티브는 Facebook에서 개발한 오픈 소스 모바일 애플리케이션 프레임워크입니다.

소개

이 프레임워크를 사용하면 개발자들은 JavaScript와 React를 이용해 iOS와 Android용 네이티브 모바일 애플리케이션을 개발할 수 있습니다.

리액트 네이티브의 주요 특징은 다음과 같습니다:

  1. Learn once, write anywhere: 리액트 네이티브는 '한 번 배우고, 어디서나 작성하라'는 철학을 가지고 있습니다. 이는 개발자가 JavaScript와 React를 한 번만 배우면 iOS, Android 등 다양한 플랫폼에 애플리케이션을 개발할 수 있음을 의미합니다.

  2. Native Components: 리액트 네이티브는 네이티브 컴포넌트를 사용하여 사용자 경험을 향상시킵니다. 이는 애플리케이션이 자연스럽게 동작하고, 해당 플랫폼의 '느낌'을 제공한다는 것을 의미합니다.

  3. Live and Hot Reloading: 리액트 네이티브는 실시간 리로딩과 핫 리로딩 기능을 지원합니다. 이는 개발자가 코드를 수정하고 바로 결과를 확인할 수 있어 개발 과정을 더욱 빠르고 효율적으로 만들어줍니다.

  4. Community and Ecosystem: 리액트 네이티브는 강력한 커뮤니티와 생태계를 가지고 있습니다. 수많은 서드파티 라이브러리와 도구들이 있어 개발자들이 자신의 요구에 맞게 애플리케이션을 빠르게 구축할 수 있습니다.

이러한 이유로 많은 회사들이 자신들의 모바일 애플리케이션을 개발하는 데 리액트 네이티브를 사용하고 있습니다. 대표적으로 대형 회사들은 Facebook, Instagram, Shopify, Discord, Pinterest, Salesforce, Uber, Skype, Wix 등이 포함됩니다.

개발 환경

개발환경 섹션은 플랫폼별로 개발환경을 설정하는 방법을 영상과 함께 제공합니다. 마찬가지로, 리엑트 네이티브 공식 홈페이지의 'Environment Setup' 문서에서는 사용자의 컴퓨터에서 네이티브 환경을 설정하기 위한 간결하고 유용한 지침을 제공합니다. 하지만, 주의해야 할 점은 기본으로 설정된 'Expo Go Quickstart' 섹션이 아니라 'React Native CLI Quickstart' 섹션을 확인해야 올바른 네이티브 설정을 완료할 수 있습니다.

dev-env

필자 또한 새 노트북을 구입할 때마다 이 사이트를 방문하는 습관이 있습니다. 여러분도 위 정보들을 활용해 개발환경을 설정하는 데 유용하게 사용하시길 권장합니다.

컴포넌트

다음으로 컴포넌트 사이트를 살펴보겠습니다.

component

컴포넌트는 리엑트 네이티브에서 화면을 빌드업 하는 요소들입니다. 리엑트 네이티브에서 제공되는 대표적인 컴포넌트는 텍스트, 텍스트 인풋, 버튼, 스크롤뷰, 플랫리스트 등이 있습니다. 여러분은 개발을 하시면서 기본 컴포넌트 위에 여러분들이 원하는 컴포넌트를 추가로 제작하여 관리할 수 있습니다. 우리는 이것을 커스텀 컴포넌트라고 부릅니다.

APIs

API는 'Application Programming Interface'의 약자로, 리액트 네이티브에서는 다양한 모바일 기능과 서비스에 접근할 수 있도록 해주는 인터페이스를 말합니다.

apis

이를 통해 리액트 네이티브 앱이 스마트폰의 카메라, GPS, 푸시 알림 등의 기능을 사용하거나, 원격 서버와 데이터를 주고받는 등의 작업을 할 수 있습니다. 간단히 말해, API는 리액트 네이티브 앱이 운영체제나 외부 서비스의 기능을 활용할 수 있게 연결해주는 다리 역할을 합니다.

Expo

개발 환경 설정에 대해 이야기하면서 'Expo Go Quickstart' 섹션에 대한 궁금증이 있었을 것입니다. 입문자들을 위해, Expo가 무엇인지 간단히 설명드리겠습니다.

apis

Expo는 React Native 개발을 보다 쉽게 만들어주는 React Native 프레임워크입니다. Expo를 사용하면, 상대적으로 적은 네이티브 지식으로도 iOS와 Android 개발이 가능합니다. 또한, Expo를 사용하면 React Native Web을 포함한 웹 개발 환경도 제공합니다. 그러므로 Expo를 시작하면 즉시 iOS, Android, 그리고 Web 개발을 동시에 진행할 수 있습니다.

Expo는 오랜 시간 동안 여러 변화를 겪었습니다. 만약 Expo의 변화 과정을 지속적으로 모니터링하지 않았다면, 현재의 Expo 상태에 대해 잘 모를 수 있습니다. Expo의 변천사를 알아보는 것은 사용에 큰 도움이 됩니다. 엑스포의 변천사를 정리한 글을 읽어보시면 Expo가 추구하는 방향을 이해하고, 사용하기에 더 수월하실 것입니다.