안녕하세요, 질문 읽고 답변 드리기 위해 글 작성합니다.
저는 리액트와 플러터 두 가지로 개발한 경험이 있어서 도움이 되리라고 생각이 듭니다.
1. 일단, 빠르게 결과물을 만들어야 하는 상황이시라면
- dart와 flutter를 공부하시면 좋습니다.
: 플러터의 경우 '위젯'을 통해 ui를 그려주기 때문에, 제 경험상 react보다는 좀 더 빠르게 ui를 구성할 수 있다고 생각이 들었습니다.
그 외에, 기능 구현 부분도, 라이프 사이클만 이해하시면, 충분히 빠르게 개발하실 수 있다고 생각이 들었습니다.
반면에,
2. 장기적으로 준비하거나, 앱 외에 웹에서도 좀 더 퀄리티 있는 작품을 만들고 싶다.
고 하시면
- 자바스크립트와 리액트를 공부하시면 될 거 같습니다.
아무래도, 자바스크립트를 공부해 놓으시면, 지금의 dart(flutter)보다는 웹과 앱 두 부분에서 더 장점이 있지 않을까 싶습니다.
아무래도 자바스크립트의 역사가 깊은 만큼, 모르는 부분도 서치를 통해서 해결에 나갈 수 있는 해결 방안도 더 많을 테니까요
그 외에,
3. 디자인 적인 부분에 대해서도 몇 가지 말씀드리겠습니다.
- 플러터의 경우 머트리얼 디자인(android) 또는 쿠퍼티노 디자인(ios) 중 하나만 선택하여 ui를 구성하여도 os에 상관없이 하나의 디자인으로 구현이 가능합니다.
- 리액트의 경우 웹으로 구현하고, native쪽에서 webview형식으로 어플을 구성한다면 문제가 없지만,
react-native를 사용하면, 각 os에 맞는 ui를 구성해야 하는 걸로 알고 있습니다.
4. 플러터의 native적으로 성능
- 플러터의 경우 앱에서 native에 가까운 성능을 보여준다고 합니다.
그 이유는 1)스키아라는 디자인 엔진이 있어서 이고,
2) dart 코드를 cpu가 이해할 수 있는 기계 코드로 컴파일 해주는 AOT 컴파일러도 있는 등,
여러 가지가 있습니다.
제가 알고 있는 지식으로 이상 답변 드렸습니다.
짧게 요약하자면,
- 빠르게 만들어야 하고 native 성능에 가까운 결과물을 원하신다면
: dart와 플러터
- 시간적인 여유가 있고 웹과 앱 두 가지 토끼를 잡으며, 개발 과정 중 어려움에 대한 정보를 많이 얻고 싶다면
: 자바스크립트와 리액트
이렇게 생각하시면 되겠습니다.
감사합니다.