React Native란?

해담·2024년 2월 14일

ReactNative

목록 보기
1/21

React.js + React Native -> iOS, Android


💡 React.js

  • 인터페이스 구축을 위한 javascript 라이브러리
  • 주로 웹 개발에 사용 (웹 환경을 위해 개발됨)
  • react-dom 라이브러리가 웹 지원을 도움: react-dom 없이 React 라이브러리 자체는 플랫폼-애그노스틱하며, 이 라이브러리를 통해 react가 산출한 결과를 브라우저 등의 플랫폼에 표시해줌
    • 플랫폼-애그노스틱이란? 어떤 기술, 소프트웨어, 또는 서비스가 특정한 플랫폼에 종속되지 않고 여러 다양한 플랫폼에서 동작할 수 있는 성질 (파이썬이나 자바 스크립트도 모두 플랫폼-애그노스틱한 언어)
  • 쉽게 말해, react-dom 라이브러리를 통해 웹 브라우저로 열 수 있음

💡 React Native

  • react-dom의 대안
  • react native에 내장된 컴포넌트들은 iOS 및 Android 플랫폼을 위해 네이티브 UI 요소로 컴파일
  • 카메라 등 특정 네이티브 플랫폼 API를 이용해 자바스크립트 코드에서 해당 기능 사용 가능
  • 플랫폼 대상: 웹 브라우저가 아닌 iOS, Android
  • 해당 플랫폼과 상호 작용하고 플랫폼을 위한 앱을 구축하기 위한 모든 API와 컴포넌트 제공: 여러 네이티브 요소를 플랫폼 대상에 맞게 변환함
  • HTML 요소 인식 X

💡 UI와 Logic

  • 재사용 가능한 컴포넌트(UI 요소)를 매핑하고 컴파일
  • 자바스크립트에서 작성한 논리는 컴파일되지 않고, 구축한 네이티브 앱 안에서 react native가 호스트한 대로 자바스크립트 스레드에서 실행됨 -> 즉, 자바스크립트 코드는 네이티브 앱 안에서 자바스크립트 그대로 실행되면서 네이티브 앱의 react native를 통해(언어의 장벽을 넘어) Android나 iOS 플랫폼과 상호작용
profile
해담이를먹여살리기위한..

0개의 댓글