1. 성능비교
우선 성능이 좋다고 알려진건 Flutter이다. 그럼 왜 Flutter가 성능이 더 빠른가?
결론부터 말하자면 둘의 작동방식의 차이로 인해 Flutter가 성능이 더 빠르다.
우선 react-native, flutter 작동방식의 그림을 보자.
위의 그림은 react-native 의 작동방식이다.
platform의 코드가 전부 native로 이루어져 있고 react-native는 javascript로 이루어져있기에 bridge가 중간에 껴있다.
JavaScript와 Platform 내부의 각 동작은 빠르게 동작해서 문제가 되지 않지만 bridge를 통해 양쪽이 상호작용할 때 병목현상이 발생할 수 있고, bridge 이용이 빈번하게 발생함으로 인해 성능 저하가 생긴다.
다만 요즘 react-native는 hermes라는 엔진으로 빌드 단계에서 JavaScript를 바이트코드로 컴파일해서 훨씬 성능이 좋아졌다고 한다.
다음으로 flutter의 작동방식이다.
flutter는 컴파일때 native코드로 컴파일이 된다(flutter가 Dart언어를 선택한 이유이기도 하다.)
그래서 react-native와 같이 중간에서 해석(?)해줄 bridge가 필요가 없는것이다.
그리고 oem-widget을 사용하지 않고 자체 렌더링 엔진으로 직접 canvas에 위젯을 그려주기에 더 빠르다.
2. 러닝커브
사실 이건 철저히 내 생각이지만 비슷하다고 생각한다. 다만 리액트를 공부했던 사람은 react-native가 더 쉽게 느껴질 것이고 java, c#했던 사람은 flutter가 더 쉽게 느껴질듯하다.
3. 생태계
이건 아직까지는 react-native가 압도적으로 낫다고 생각한다.
flutter는 아직 react-native에 비하면 작다. flutter로 개발하면서 느낀건 javascript쪽에는 발에 채이도록 많은 무료 차트라이브러리가 flutter에는 별로 없다는 것이다... 괜찮은 라이브러리가 하나 있긴한데 유료다...그래서 사내에서 개발할때 그래프를 직접 만들었다는 슬픈 이야기....
둘을 비교한거에 대해 굉장히 쉽게 설명한 영상이 있어서 보면 좋을거같아서 첨부한다.
https://www.youtube.com/watch?v=Z9cCjrbTW50
또한 잘 비교 정리된 사이트도 첨부한다.
https://d2.naver.com/helloworld/3384599
'개발 > Flutter' 카테고리의 다른 글
[상태관리#2]Bloc (2) | 2023.11.22 |
---|---|
[상태관리#1] GetX (1) | 2023.11.22 |
[상태관리#0] 상태관리 공부에 앞서.. (0) | 2023.11.21 |
Flutter Package 첫 배포 (1) | 2023.11.04 |
flutter가 선택한 dart언어의 특징 (0) | 2023.10.29 |