본문 바로가기
React Native/이론

[React Native] 리액트 네이티브 앱 프로그래밍 시작하기 #1

by ssollacc 2021. 8. 11.
728x90

안녕하세요!

앱 개발을 시작하기 전에 #리액트네이티브 프레임워크를 소개해보도록 하겠습니다~

#리액트 프레임워크는 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% 호환하면서도 타입 기능을 제공하므로

자연스럽고 알기 쉬운 구문으로 코드를 작성할 수 있다는 장점이 있습니다.  

 

이상 다음 편에는 '윈도우에서 개발환경 갖추기'로 돌아오겠습니다~!

 

 

 

 다음 내용은 위 책을 참고하여 작성하였습니다:)

728x90

댓글