안녕하세요!
앱 개발을 시작하기 전에 #리액트네이티브 프레임워크를 소개해보도록 하겠습니다~
#리액트 프레임워크는 2013년에 페이스북에서 발표한 오픈소스 자바스크립트 프레임워크입니다.
리액트는 가상 DOM(virtual DOM)과 JSM(javascript XML)라는 새로운 방식으로 동작하는 프레임 워크로 많은 사람들이 프런트엔드 웹을 개발할 때 사용하고 있습니다.
#네이티브(native)라는 단어는 '운영체제를 만들 때 사용한 프로그래밍 언어와 똑같은 언어로 만든’이란 의미입니다.
그리고 네이티브 앱은 모바일 운영체제 (안드로이드 - 자바, iOS - 오브젝티브-C)로 만든 앱을 네이티브 앱이라고 합니다.
네이티브 앱은 실행 속도가 빠른 장점이 있지만 습득해야 할 지식이 많고,
똑같은 기능을 안드로이드와 ios용으로 따로 만들어야 합니다.
그래서 #크로스플랫폼 등장.
하나의 소스코드로 여러 운영체제에서 동작하는 앱을 개발할 수 있습니다.
네이티브 앱보다 조금 느리지만 개발 시간 비용을 크게 단축, 절약할 수 있습니다.
리액트 네이티브는 #브릿지 방식으로 동작합니다.
리액트 네이티브는 웹 브라우저에서 자바 스크립트 엔진 부분만 떼어
자바스크립트 코드로 구현된 ‘View’ 클래스를 네이티브 쪽 안드로이드 프레임워크 또는 아이폰(iOS) UIKit 프레임워크의 ‘View’ 클래스 호출로 연결하는 방식으로 동작하고 이를 브릿지 방식이라고 합니다!
리액트 네이티브 개발 환경
리액트 네이티브 개발환경은 기본적으로 Node.js 개발 환경과 같습니다.
Node.js 설치 후 VScode 편집기로코드 작성!
따라서 어떤 운영체제에서라도 리액트 네이티브 프로젝트 진행 가능.
(그러나 리액트 네이티브 프로젝트로 만든 소스 파일을 각각의 모바일 운영체제에 맞는 앱으로 빌드하는 도구와
그 앱을 가상 장치에서 실행해 보는 에뮬레이터까지 고려하면 운영체제별로 개발할 수 있는 앱이 달라짐.. )
안드로이드 앱은 안드로이드 스튜디오를 설치하여 개발하는데
iOS는 애플이 제공하는 Xcode 개발 도구가 필요합니다! 근데 Xcode는 오직 맥에서만 동작.
운영체제 | 안드로이드 | iOS |
Window 10 | 가능 | 불가능 |
Mac | 가능 | 가능 |
Linux | 가능 | 불가능 |
결국 iOS는 맥으로만 개발 가능합니다...!
그리고 #타입스크립트를 사용할 건데요!
자바스크립트는 타입(Type) 기능이 없는 언어이므로 개발자의 사소한 입력 오류 등을 알아채지 못합니다.
따라서 자바스크립트로 개발을 하면 어디서 어떤 오류가 발생했는지 알기 어려워 디버깅이 쉽지 않죠.
이는 곧 개발과 유지*보수 비용을 높이는 원인이 됩니다.
그러나 타입스크립트는 자바스크립트와 100% 호환하면서도 타입 기능을 제공하므로
자연스럽고 알기 쉬운 구문으로 코드를 작성할 수 있다는 장점이 있습니다.
이상 다음 편에는 '윈도우에서 개발환경 갖추기'로 돌아오겠습니다~!
다음 내용은 위 책을 참고하여 작성하였습니다:)
'React Native > 이론' 카테고리의 다른 글
[ReactNative] 리액트 네이티브 컴포넌트 만들기 (뷰 작업, JSX 사용, 네이티브 컴포넌트 스타일링) (0) | 2021.08.30 |
---|---|
[React Native] 리액트 네이티브 동작 원리(DOM, bridge, 렌더링 라이프 사이클 ) (0) | 2021.08.24 |
[React Native] 리액트 네이티브란? 개념과 특징, 장단점 ! (0) | 2021.08.19 |
[React Native] 리액트 네이티브 VSCode 환경 설정 및 사용법 #4 (1) | 2021.08.12 |
[React Native] 리액트 네이티브 윈도우 개발환경 갖추기 #2 (0) | 2021.08.11 |
댓글