React Native

앱개발 전 배경지식 - 리액트 네이티브란?

EEEUN 2023. 8. 13. 21:05

이 글은 제가 앱개발을 하며 알게 된 내용, 느낀 점 등을 기록하고자 쓰는 글입니다. '스파르타코딩클럽'의 '앱개발 종합반' 강의를 듣고 배우고 있습니다. 내용에 대한 반박과 피드백은 늘 감사히 받겠습니다.

 

 

<목차>
1. 앱 서비스의 기본 동작 구조 : 클라이언트와 서버
2. 앱 개발의 종류 : 네이티브 앱, 하이브리드 앱, 크로스 플랫폼 앱
3. 리액트 네이티브에 대해서

 

 

1. 앱 서비스의 기본 동작 구조 : 클라이언트와 서버

앱 서비스를 만든다는 것은, 클라이언트와 서버를 모두 만들어야 한다는 것을 뜻합니다.

클라이언트와 서버를 쉽게 정리해보겠습니다.

클라이언트 : 사용자가 보는 화면
서버 : 원하는 데이터가 있는 곳

 

클라이언트의 예시를 들어보면 더 쉽습니다. 웹 사이트로 따지면 크롬 브라우저나 사파리, 익스플로러가 클라이언트에 해당됩니다. 앱으로 따지면 휴대폰에 많이 존재하는 어플, 즉 앱 자체가 해당됩니다.

서버는 원하는 데이터를 요청하면 이에 응답해주는 역할을 합니다. 앱, 즉 클라이언트에서 원하는 데이터가 있을 때마다 서버에 요청하고 응답 데이터를 받아 사용자에게 보여줍니다.

이러한 클라이언트-서버 구조는 앱뿐만 아니라 웹 사이트를 만들때도 동일합니다.

 

2. 앱 개발의 종류 : 네이티브 앱, 하이브리드 앱, 크로스 플랫폼 앱

앱 개발의 종류를 보기에 앞서, 앱의 종류부터 알아보겠습니다.

앱 개발이라고 하면 단연 "안드로이드"와 "iOS"가 떠오릅니다.

안드로이드는 JAVA와 Kotlin으로 개발이 가능하고, iOS는 Swift로 개발이 가능합니다. 각기 다른 개발 언어가 필요한 이유는 안드로이드와 iOS가 실행되기 위한 OS(환경)이 다르기 때문입니다.

하지만 이 언어들은 러닝커브(배움의 장벽)이 상당히 높은 언어들입니다. (이 글을 쓰며 개발하는 앱과 별개로 자바로 개발중인 앱이 있는데, 자바 전문가분들이 정말 존경스럽습니다...)

그렇다면, 앱개발을 하려면 꼭 이 언어를 배워야할까요? 그렇지 않습니다!

앱 개발 종류

- 네이티브 앱 : 위에서 언급한 JAVA&Kotlin 또는 Swift를 이용해 안드로이드, iOS를 각각 개발하는 앱
- 하이브리드 앱 : 웹 사이트를 만들고 껍데기를 씌워 간단히 배포하는 앱
- 크로스 플랫폼 : 네이티브 코드로 코딩하지 않아도 안드로이드, iOS가 이해할 수 있는 코드로 변경하며 만드는 앱

 

앱 개발 종류에 대해서는 나중에 자세히 글을 써보면 좋을 것 같습니다. 저는 현재 네이티브 앱과 크로스 플랫폼 앱을 개발중에 있으므로 각각의 앱에 대한 느낀 점도 첨부해보겠습니다.

아무튼 이번 글에서는 크로스 플랫폼에 대해 작성합니다. 크로스 플랫폼 앱 개발은 네이티브 앱과 하이브리드 앱 개발의 장점을 모아놨다고 할 수 있습니다.

 

3. 리액트 네이티브에 대해서

리액트 네이티브 : 크로스 플랫폼 앱 개발 언어 중 하나

리액트(React.js) 라이브러리/프레임워크를 기반으로 다루는 기술이므로 "자바스크립트"로 개발이 가능함.

 

리액트 네이티브는 페이스북에서 만들고 지원합니다. 사용자 인터페이스(UI)를 만드는 데에 특화되어 있는 리액트(React.js)를 기반으로 앱을 제작하는 기술입니다. 리액트 네이티브를 사용하는 회사(또는 앱)에는 페이스북, 인스타그램, 에어비앤비(Airbnb) 등이 있습니다.

리액트 네이티브 앱 개발을 더 편하고 쉽게 도와주는 도구에는 대표적으로 Expo가 있습니다. 저는 이 Expo를 활용해 앱개발을 진행할 예정입니다.

 

 

👉 참고한 내용

스파르타코딩클럽 '앱개발 종합반' 1주차 강의 & 강의자료