웹 개발자의 리액트 네이티브 러닝커브 질문입니다

안녕하세요. 저는 11년차 웹 개발자입니다.

평소 하이브리드 웹앱 개발에 관심을 가지고 지켜보고 있다가 결국 리액트 네이티브를 공부하기로 마음 먹었습니다.

그런데 제가 앱 개발을 전혀 경험한 적이 없어서… 리액트 네이티브로 제작하는 방식과 순수 네이티브 앱 개발 방식이 어떻게 틀리며 어떤 부분이 비슷한지 감이 오질 않습니다.

나름대로 사전 조사를 해본 결과 네이티브 앱개발 경험이 없으면 expo라는 것을 사용하는 방식이 접근하기 쉽다는 의견을 접했습니다. 하지만 결국 네이티브 앱에 가까운 수준과 작은 경량으로 제작하려면 react native CLI를 사용해야 한다는 의견도 있네요.

결국 리액트 네이티브를 제대로 하려면 네이티브 앱 개발 경험이 어느정도 필요하다는 건데요.

어차피 저는 순수 네이티브 앱 개발이 아닌 리액트 네이티브를 사용하는 앱 개발을 하는 것을 원하지만

네이티브 앱 개발에 관하여 어느정도는 공부해야 겠다고 생각이 듭니다.

그래서 궁금한 부분은 리액트 네이티브를 잘(?) 사용하기 위해서 필요한 네이티브 앱 개발 기술을 어떻게 공부하면 좋을까요? 전체적인 공부 단계(?) 어떻게 끌고 가야할지 감이 오질 않습니다.

IOS와 안드로이드를 무작정 공부하기가 부담스럽네요…

소중한 고견을 부탁드립니다.

감사합니다.

1 Like

안녕하세요. 저도 웹개발자를 하면서 React-Native를 시작한 케이스인데요, ReactJS 보다 먼저 시작했습니다 ㅎㅎ;

마찬가지로 Android와 iOS 네이티브 앱개발 경험이 전무한 상태에서 시작을 했습니다. 현재 앱스토어에 앱을 2회정도 내 본 지금도 iOS와 안드로이드를 각잡고 공부한 상태는 아닙니다.

여론도 그렇고 제 개인적으로도 그렇고 expo에서 지원하는 패키지 외에 다른 패키지를 개발하실 때 사용하셔야 한다면 react-native cli를 사용하시는 게 정신건강에 좋다고 생각합니다 ㅎㅎ

그리고 코딩할 때에는 React로만 개발한다고 보시면 되고, 웬만하면 네이티브 기능을 활용하는 모듈은 누군가가 개발을 해 놓았기 때문직접 네이티브 코딩할 일은 개인적으론 없었고, google에 react-native관련 모듈을 검색해서 가져와 썼습니다
외부 패키지 모듈을 가져다 쓰려고 하면 그 github repository의 README.md의 설명을 잘 따라하면 세팅에는 큰 무리가 없을 거라 봅니다.

다만 releaase mode로 빌드할 때에 조금 난감할 수는 있는데요, 그럴때는 뱉어내는 에러메시지로 구글링을 하면 웬만하면 다 관련 게시물들이 걸리는것 같습니다. 거의 영문이지만요 ㅎㅎ 저희 슬랙채널이나 이곳에다가 질문하셔도 되구요.

React-Native입문을 위해 저희 커뮤니티에서 나름 마련한 자료들도 있으니 참고하시면 좋을것 같습니다.

감사합니다

4 Likes

안녕하세요. 저는 iOS, Android 네이티브 개발을 하다가 작년에 React-native로 넘어와서 개발중입니다.
geoseong님 말씀대로 실제로 native코드를 직접다룰일은 크게 많지 않고 대부분 패키지들을 사용하여 개발이 가능합니다.
또한 expo보다는 react-native cli로 직접 개발하는것을 추천드립니다. 기존 앱개발 경험이 있다고 하더라도 초기에는 세팅이나 node package를 다루는점, 다양한 package들을 받아서 링크할때 발생하는 문제들 해결하는 과정들 때문에 어느정도의 적응기간이 걸리는것은 어쩔 수 없는것 같습니다. 저는 웹개발 경험이 없었기 때문에 오히려 console에서 node package를 다루고 node관련 명령들을 적응해나가는것이 처음에는 꽤나 생소했었습니다.
결론 말씀드리면 iOS, Android를 모르고서도 가능합니다. 다만, iOS나 Android 친화적인 기능을 구현해야만 하는 상황이 발생할 경우에만 NativeModule과 연결하여 native코드로 구현해야하는 하는데, 이런 경우는 거의 발생하지 않고 열심히 찾아보시면 비슷한 문제를 해결한 패키지들을 찾으실 수 있을겁니다.

2 Likes

소중한 의견 감사드립니다! ^^ 많은 도움 되었습니다~ㅎㅎ

1 Like

너무 도움되는 말씀입니다~ 감사합니다~~~^^