반응형

나는 안드로이드 개발은 해봤는데, 항상 문제점이 ios 앱은...? 이었다.

그러던 중 크로스 플랫폼에 대해 알아보게 되었고 크로스 플랫폼 개발에는 flutter, RN(React Native) 등이 있는데 언급한 두가지가 가장 유명한 것으로 확인했다.

그렇다면 나는 어떤 것을 사용해야 할까에 대한 조사를 해보았다.

언어

Flutter (Dart)

  • 객체지향언어이다.
    C문법을 따르고 있어 대부분의 개발자가 쉽게 배울 수 있다.
  • Flutter 개발에 최적화 되어있다.
  • Null Safety를 지원한다.

RN (JavaScript)

  • 많이들 쓴다.
  • npm으로 쉽게 패키지를 가져올 수 있다.
  • 커뮤니티가 크다.

러닝 커브

러닝커브는 한마디로 학습 난이도인데, 내 입장에선 자바스크립트의 장점인 많이들 쓴다...에서 막히므로 새로운 것을 도전하는게 나아보인다. 내가 생각했을 때 러닝커브라는 것은 성실함으로 무찌를 수 있기 때문에 이 섹션은 넘어가보자.

성능

공부하기 쉽고, 개발이 빠르다 이전에 가장 중요한 점은 성능이라 할 수 있다.

Flutter는 2d 기반 오픈소스 라이브러리인 skia 그래필 라이브러리와 C/C++ 엔진을 사용한다.

RN은 JS Bridge로 불리는 자바스크립트 런타임 환경을 기반으로 하며 페이스북에서 개발한 FLUX아키텍쳐를 사용한다.

정리하자면, Flutter가 좀 더 기계어에 가까운 언어를 사용하므로 성능이 높다.

테스트

RN은 통합 및 UI 수준의 테스트에 대한 공식 지원이 없다. 서드파티 도구를 이용해야하며 IOS 앱을 앱스토어에 자동으로 배포할 수 없다.

플러터는 공식적인 테스트 자동화를 지원한다.

결론

조금 비교할 만한 항목들이 더 있긴 하지만... 나는 더이상 비교할 필요가 없다고 느꼈다.

RN은 페이스북, 플러터는 구글 뭐 이런 문제가 아니라 성능이나 테스트 난이도 이 두가지에 초점을 맞췄기 때문에 플러터를 선택하기로 했다.

앞으로 크로스 플랫폼 앱을 플러터 기반으로 잘 만들어 보겠다.

반응형

'Flutter' 카테고리의 다른 글

Flutter 프로젝트 만들기 - 3  (0) 2022.11.13
Flutter 프로젝트 만들기 - 2  (0) 2022.11.13
Flutter 프로젝트 만들기 - 1  (0) 2022.11.13

+ Recent posts