저는 자마린과 플러터를 조금씩 다룰 줄 아는데 리액트 네이티브는 설명만 보고 직접 안써봐서 잘은 모르겠네요,
갠적으로는 플러터 > 리액트 네이티브 > 자마린 순으로 좋은듯 합니다 ㅋ
크로스 플랫폼 개발을 해야한다고 하면,
셋 중 선호하는 녀석 있으신가요?저는 자마린과 플러터를 조금씩 다룰 줄 아는데 리액트 네이티브는 설명만 보고 직접 안써봐서 잘은 모르겠네요,
갠적으로는 플러터 > 리액트 네이티브 > 자마린 순으로 좋은듯 합니다 ㅋ
크로스 플랫폼 개발을 해야한다고 하면,
셋 중 선호하는 녀석 있으신가요?
보통 선호하는 언어에 따라 이런 프레임워크 선호도도 달라지기 마련인 것 같은데,
새로운 언어를 사용해야 함에도 플러터 얘기가 이렇게 많은거 보면 엄청난 것 같습니다
플러터는 1이 넘었고... 리액트 네이티브는 이제 버전 0.6.0 RC 입니다.ㅜㅜ
자바나 옵씨를 쓰지 않는다면 저는 그냥 코르도바에 자바스크립트를 쓰겠습니다.
1) 프로그래밍 언어 관점에서의 비교
2) cross-platform 프레임워크로서의 비교(안드로이드 와 ios 동시 개발)
누구나 새로운 언어를 배우는 것에 대해선 부담을 가지게 됩니다. 하여 1)번 관점에서 볼 때,
자바스크립트가 주력 언어임 -> react-native
java가 주력 언어임 -> flutter
C#이 주력 언어임 -> 자마린
일 것입니다. dart는 자바와 상당히 비슷한 언어입니다. 하여 java 언어를 모르는 개발자인 경우 flutter 개발 언어인 dart는 매우 익히기 어려운 언어일것입니다. 사실 dart는 범용 프로그래밍 언어임에도 불구하고 구글 이외에는(그것도 매우 일부) 사례가 사실상 전무한 '듯보잡' 언어입니다. 누구나 dart를 배울 바에는 훨씬 더 쓰임새가 많은 코틀린이나 스위프트를 배울 것입니다.
2)번 관점에서는 또 다시 다음 세 가지 측면을 고려해야 합니다.
1) 얼마나 싼 가격으로 숙련된 개발자들을 쉽게 구할 수 있는가?
2) 개발이 얼마나 쉬운가?
3) 참고할 만한 샘플 코드들이 인터넷에 널려 있는가?
이 관점에선 react-native가 압도적 입니다. 지금 32세 전후의 개발자들은 자바나 C#이 처음 배운 언어가 아닐 수 있습니다. 반면에 40이후 개발자들은 자바 나 C#이 처음 입문한 언어일 것입니다.
파이썬으로 프로그래밍에 입문한 젊은 개발자들은 자바스크립트에 쉽게 적응할 것입니다. 하여 react-native 테크 트리를 탈 것으로 예상됩니다.
한국 SI 시장은 자바 개발자들(특히 서버 개발자)들로 가득차 있습니다. 이분들에게는 flutter가 매력적일 것입니다.
상대적으로 매우 적은(한때는 많았겠지만) C# 개발자들은 자마린이 매력적일 테지만, 그동안 M$가 배신 때린적이 매우 많았으므로 못미더울 것입니다. - 솔직히 저는 자마린은 아니라고 생각합니다.
flutter를 선호하는 개발자들은 조금 딱(?)하게도 매우 재능있는 디자이너 들과 협업한 경험이 없으신 듯 합니다. flutter는 구글의 material design에 상당히 편향되어 있습니다. 디자이너 없는 개발이라면 이것이 좋을 수 있지만, 제품 UI가 너무 획일적으로 보이는 단점이 있습니다. 초 일류 제품을 만들고 싶다면 material design쯤은 가볍게 넘어야 겠죠.
결론적으로 스타트 업 계열 개발자는 react-native를, SI 계열 개발자는 flutter를 선호할 것으로 생각됩니다.
다음은 모공에 계시된 flutter/react-native 관련 패러디 영상입니다. 진짜 영화인 히틀러 영상에 대사만 엉뚱하게 모바일 플랫폼 내용으로 바꾼 것인데, 편집이 기가 막힙니다. 저는 히틀러가 체념하는 표정으로 마치 혼잣말 하듯 'react-native는 브릿지(bridge) 방식이자냐' 에 뿜었습니다. ^^.
https://www.clien.net/service/board/park/13589592?combine=true&q=%EC%8A%A4%ED%83%80%ED%8A%B8+%EC%97%85&p=0&sort=recency&boardCd=&isBoard=falseCLIEN
flutter는 C/C++ 언어로 변환됩니다. 제 글 중에 말많고 탈많았던 llvm 방식으로 aot 컴파일과 jit 컴파일 과정을 거치므로, 동작 속도는 원 탑입니다. 비디오에서 히틀러가 react-native로 저번 데모 종쳤으니, flutter 사용하여 native로 가야한다고, 저번 미팅때 말했쟈나~ 대사의 근거입니다.
dart = js + java + c# 이라고 보시면 될거 같아요
셋중 어느걸 하던지 dart 80% 는 이미 할줄 안다고 생각하고 접근하실 수 있습니다
xamarin 은 c# 으로 wpf 개발하던 맛으로 앱도 개발할 수 있어 좋은데
품질이 어느 수준을 넘질 못하죠
서버에서 c# 사용하고 (core)
앱에서 dart 사용하고 있는데
크게 헷갈리지는 않습니다 (bool? 이 dart 의 bool 이라는 정도..)
Flutter로 갈 껀지는 좀 더 시간을 두고 관망 중입니다.
윗분들이 설명 하신 것처럼 RN이 구조상 bottleneck이 존재 한다고는 하지만 제 경우엔 프로젝트에 문제가 될 정도의 상황은 마딱트리지 않았습니다.
RN의 생태계 > Flutter의 bottleneck해결 구조 인 것 같습니다.
Flutter도 어차피 hybrid인건 마찬가지인데 그런 면에서 내 길을 먼저간 선배들이 많지 않다는게 무섭더라구요 ㅎㅎ