안녕하세요.
눈팅만하던 쥬니어 개발자입니다. 사수없이 혼자서 이런저런 랜딩페이지 및 모바일 반응형을 웹뷰로 싸서 서비스하는 자사 서비스등 풀스택으로 개발하고있습니다.
배울 소스는 많으니 제 수준에 사수가 없다고 아직 큰문제는 안됬으나 큰조직으로 가기위해 트랜드와 지금 할수없는 협업문화 및 툴들을 사용하려고 노력은 하고있습니다.
최근 기존 작업방식의 효율성이 없는것 같아 디자이너와 협의후 figma로 짠 디자인을 제가 nextjs + typescript로 마크업까지해서 새로운 프로젝트하나를 만들고 있습니다만 성능이 엄청 필요한 서비스는 아닌지라 이걸 웹뷰로 감싸서 안드로이드 IOS 둘다 배포를 하는것이 이 프로젝트의 목표입니다.
개인적으로 공부를해서 회사 일정상 문제가없다면 제가 nextjs로 반응형 개발이 끝나는 시점(5월 중순정도 생각합니다.)에 제손으로 한번 해보고 싶은 야망(?)이 있어 물론 시간상 안될것같으면 일단 회사에 안드로이드 IOS 개발자분들이 있긴해서 그분들과 전처럼 웹뷰로 패킹해달라고 요청해야겠지만 지금 마음은 한번해보고 싶어서 이렇게 글을 쓰게 되었습니다.
사설이 너무 길었는데 본론은
일단 react-native가 플러터에비해 여러가지 측면에서 밀리는점들이 많아 요새까진 거의 대부분 답변이 플러터로 개발이 많으시더라구요. 그런데 제가 react 18 키노트나 native쪽 뉴스들을 좀 보다보니 현재 react 18 RC버전이 3월 8일?에 나왔고 react 18을 기반으로한 아키텍쳐를 완전 뜯어고친 native가 올해안에 선보일 계획이며 react 18의 동시성모드로인해 멀티코어사용이 가능해질것이라 성능 및 랜더링에 엄청난 향상이 있을것같고 Sopify에서 skia를 React native용으로 만들면서 디테일한 UI를 다루기 힘들다는 점도 어느정도 해소가 되어보입니다.
플러터의 문제가 다트라는 언어를 새로배워야한다는 점이 있는데 javascript기반에 react문법과 거의 다르지않는 native가 플러터에 비해 모자랐던부분들의 거의다 해결이 된다면 생산성이나 여러가지 면에서 다시 react native가 치고 올라올수도 있겠다 싶은데 어떻게들 생각하시는 궁금합니다.
메타의 react와 react native의 로드맵을 보고 이 루트로 계속 준비를 하는게 맞을까요? 아니면 크로스앱 개발은 아무래도 플러터가 나을까요?
답변감사드립니다.
자바스크립트의 대한 이해없이 react부터 할려는것과 마찬가지인것은 저도 느끼고있습니다만 native공부도 병행을 하던지 하고나서 건드리는게 맞을것 같네요 ㅎ
먼훗날 얘기가 되겠지만 지향점으로 풀스택으로 생산성이라는 측면에서좀 뛰어나보고 싶어서요 ㅎ;
전문성은 사실 백앤드로 가지고 싶어 백앤드도 엄청나게 할것이 많아 프론트는 좀 압축해서 공부하고 싶은 마음이 큽니다 ㅎㅎ
RN 버전업 하고 나서 네이티브 코드 (또는 코어 라이브러리 코드) 안건드리고 수정한 적이 정말 손에 꼽을 정도네요.
네이티브 아예 모르는 상태에서 하이브리드 앱으로 출시하려면
1) 최대한 하드웨어 상호작용 줄이고 (키스토어, 파일 저장소, 카메라/gps/및 기타 센서 등)
2) 막말로 샘플 앱에서 디자인 수정 및 shortcut 버튼 추가 정도로 제작할 수 있는 기능만 탑재
정도의 조건을 만족시키고 하시는게 좋습니다.
flutter 로 ios 키스토어에 지문인식 및 애플페이... 이런거만 해도 트러블슈팅 없이 진행이 불가능합니다.
참고로 샘플 앱 기능에 충실하게 기초적인 앱 만드는데에는 전반적으로 플러터가 낫습니다.
RN 은 NodeJS/React/ReactNative 삼박자 맞추려고 쓰는거 말고는 메리트가 거의 없습니다.
답변 감사드립니다!
아 플러터는 저런 기능이 없는모양이군요 ㅎ
배포검증없이 바로 업데이트할수있는건 RN뿐이가 보네요. 답변감사드립니다!
사실 네이티브의 이해, 좋은 말이긴 하지만 IOS , Android 모두 상용 라이브러리를 짤만한 수준으로 공부하기는 쉽지 않은 것 같습니다. (고수 선배님들 제외 ^^;;)
특히나 풀스택을 지향하고 계신다면 RN - React - Node 조합은 생산성에 있어서는 탑이라고 봅니다. ㅎㅎ
지금은 회사 생활 하면서 위 조합으로 만든 개인 앱 운영중입니다.
저도 안드로이드 하다가 RN 으로 넘어온 케이스인데 안드로이드만 했으면 개인 앱 출시 엄두도 못냈을 것 같네요 :)
도움 되실만한 글 하나 남겨드립니다.
https://ridicorp.com/story/react-native-1year-review/
답변감사드립니다!
플러터엔 코드 푸시와 언어가 dart라는 단점이 존재합니다.그래서 하이브리드나 웹앱정도로 하면 상관없으나, 문제 발생시 빠르게 대응이 어렵죠.
반면 리액트는 다양한 플러그인이 존재하지만 너무 플러그인에 의존하지 않나 싶기도 했습니다.
https://jykim.io/rn-to-flutter-1/
저도 아직 둘을 비교해가며 공부해 가는 입장이라서 장단점이 명확하고, 제 입장에선 둘 중 뭘 사용해도 문제 없는 상황이라 샘플 프로젝트를 만들어보고 결정하려고 합니다.
조언 감사드립니다 ㅎ
전 제 프론트기술에 첫번째 목표지점이 생산성이라서 RN으로 가기로 했습니다 ㅎ
넵 답변감사드립니다~
그리고, native에 대한 이해가 떨어져도 앱을 만드는 것 자체는 가능하더라구요. 제가 여러 주니어 팀원들에 개발 시켜봤는데 확실히 쉽게 개발하긴 하더라구요.
저는 flutter냐 rn이냐는 중요하지 않다고 생각합니다. 당장 내가 개발할 수 있는 플랫폼이 뭐냐가 더 중요하다고 생각하구요. 한국에선 아직 flutter보단 rn으로 더 많이 개발한다고 생각하고 있구요.
다만, 대세가 언제 flutter로 넘어갈지 모르니 대비(?)는 해야 한다고 생각하고 있습니다.