IT/ReactNative

리액트네이티브(REACTNATIVE) 란 무엇인가?

우선 이 글을 읽으시는 분들은 보통 2가지 부류로 나뉠 거라 생각됩니다.


  1. 리액트가 무엇인지 알고 들어오신 분

  2. 리액트도 모르고 리액트네이티브도 모르고 들어오신 분


저도 얼마 전 까지는 잘 모르던 사람으로서, 또 비전공자로서 모두가 알기 쉽게 이해하시도록 설명하려고 합니다.

사실 유치원생도 이해하기 쉽게 설명하고 싶지만.. 그렇게는 어려울 것으로 생각됩니다..

 

우선 React란 무엇일까요?

React는 페이스북에서 채택하고 있는 JavaScript 라이브러리로서 (VueJs와 AngularJs는 프레임워크)

프로젝트의 규모가 클수록 상태관리 라이브러리와 함께 웹 페이지를 멋지게 구현 및 관리할 수 있게 해 줍니다.

우선은 이 정도로만 설명하도록 하겠습니다.

저 말고도 구글링으로 리액트란 무엇인가 검색하시면 정말 친절하고 자세한 설명이 많으며,

개인적으로는

https://youtu.be/BYbgopx44vo

제가 이 링크를 통해 이해를 했기 때문에 가장 도움이 되시리라고 생각됩니다.


그렇다면 리액트네이티브란 무엇일까요?

먼저 아셔야 할 점이 있습니다.

바로 저희가 사용하는 휴대폰의 종류가 2 종류가 있고 둘의 생태계가 다르다는 건데요.

하나는 안드로이드 계열, 하나는 IOS 계열이며 대표적으로는 갤럭시와 아이폰이 있지요?

이 두 생태계는 너무도 달라서 앱을 제작하는 과정 자체가 매우 다르며, 기능도 다르고 접근방식도 다릅니다.

같은 앱을 쓰신다고 하더라도 완전히 다른 앱을 쓴다고 생각하셔도 될 정도로 제작방식도 다릅니다.

그렇기 때문에 여러분이 흔히 사용하시는 애플리케이션들의 업데이트 시기도 다른 것이며

어떤 앱은 안드로이드에는 존재하지만 아이폰에는 존재하지 않는 일이 생긴다고 보시면 되겠습니다.


이렇게까지 설명드린 이유가 짐작이 가시나요?

세상이 좋아지고 점점 발전하다 보니 이런 불편함을 뒤집을 수 있는 언어가 등장합니다.

바로 React 진영의 ReactNative가 강력한 멀티 생태계의 선두주자가 되시겠습니다!

물론 구글 진영의 Dart라는 언어로 개발할 수 있는 Flutter 생태계가 또 존재합니다만, 아직까지는(?) 리액트네이티브가

좀 더 남이 짠 코드를 찾아보기도 쉽기도 하고 인기가 많다고 생각합니다

이러한 멀티크로스 플랫폼 프레임워크들이 인기가 많은 이유를 간단하게 설명을 드리겠습니다.

바로 위에 제가 구구절절 써놓은 각각의 생태계의 앱을 따로 개발할 필요 없이

위 두 가지 언어는 동시에 양쪽 진영의 애플리케이션을 빌드할 수 있다는 점입니다!

이렇게 되면 회사 입장에서는 2명의 개발자를 뽑는 것보다는 정말 엄청난 기능이 필요한 것이 아닌 이상

한 명의 개발자를 1.5인분의 연봉을 주고 뽑는 것이 더 이득일 수도 있으며, 사용자 측면에서도 생각해 보면

더 이상 아이폰은 이 어플이 출시되지 않을 거라고 슬퍼할 필요도 없을 것입니다.

이 두 가지만으로도 놀라운데, 개발자 입장에서 더욱 놀라운 점은 바로 맥북의 필요 유무입니다.

흔히들 IOS 개발자는 맥북은 필수라고 하며, 맥북 없이는 아무것도 못한다고 말씀하시는 분들이 아직 꽤 있는데요

#Expo 라는 도구를 이용하시면 굳이 맥북을 사지 않으셔 리액트네이티브로 안드로이드와 IOS 앱을 동시에 개발할 수

있다는 점이 굉장히 매력적으로 느껴집니다.

물론 단점도 있습니다.

아무래도 짬짜면보다는 짬뽕과 짜장면 하나씩 집중하는 게 더 맛있게 만들 확률이 높듯이

네이티브 고유의 기능을 구현하기에는 다소 애로사항들이 있다고 합니다만 그런 부분은 차차 다루기로 하고

이번 포스팅에서는 여기까지만 소개하기로 하겠습니다.


우선 여유가 되는대로 아주 간단한 앱을 만들어 보는 포스팅을 하려고 합니다.

워낙 실력이 미천하여 가능할지 모르겠으나 혹시나 궁금한 점이나 보완할 점이 있다면 댓글 주시면 감사합니다.