민프

[Flutter] React-Native 말고 Flutter를 선택한 이유 본문

[Flutter]

[Flutter] React-Native 말고 Flutter를 선택한 이유

민프야 2023. 8. 8. 00:21

서브 프로젝트를 할 때 내가 React-Native 말고 Flutter를 선택한 이유를 말해보려고 한다.

  • IOS, Android 같은 디자인
    • 결론부터 말해보자면 개발기간을 짧게 하려고 하기 때문에 IOS, Android 두 플랫폼의 디자인을 신경 쓸 시간이 없어서, Flutter UI를 기준으로 통일 된 UI를 만들어보려고 한다.

      React-Native는 JavaScript를 통해서 운영체제와 대화를 하고 -> 운영체제는 네이티브 앱 처럼 보이는 컴포넌트와 위젯을 만들어낸다. 그래서 IOS와 Android가 각각의 네이티브 컴포넌트, 위젯으로 만들어지게 되는 것인데

      Flutter 같은 경우에는 컴포넌트를 렌더링하기 위해서 운영체제와 직접 소통하는 것이 아닌 C/C++ Engine(Impeller, Skia)을 통해서 모든 컴포넌트를 렌더링 해주게 되어서 같은 UI를 그려낼 수 있는 것이다.
      그렇다고 해서 Flutter에서 IOS 네이티브 UI를 못그려내는 것도 아니고, 네이티브 기능을 개발할 때는 MethodChannel을 활용하면 제약 받는 부분이 크게 없을 것이라 판단했다.
  • 공식 문서
    • 결론부터 말해보자면 React Native는 슬라이드, 애니메이션과 같은 UI 효과 같은 것을 넣을 때 기본 기능으로는 작업하기 쉽지 않기 때문에 외부 패키지에 의존할 수 밖에 없는데 Flutter같은 경우에는 기본 기능으로도 충분히 많은 애니메이션 UI 효과를 넣을 수 있다.

      Flutter는 공식문서에 컴포넌트에 대한 설명이 자세하게 잘 되어있어서 그것만 봐도 앱에 들어가는 효과, 기능들은 왠만하면 다 할수 있을 정도로 너무 잘되어있다.

      그래서 이런 부분이 개발을 더 쉽게 해줄 수 있을 것 같아서 선택하게 되었다.
      실제로 회사에서 Flutter 프로젝트를 할 때 공식문서만 보고 개발을 진행하였었는데 의외로 매끄럽게 잘 진행이 되어서 괜찮았고, 커뮤니티도 내가 찾고 싶은 정보는 다 있었어서 개발하는데에는 문제가 없었다. 
  • PC, 앱 개발도 가능한 플랫폼
    • Flutter는 최근 모바일 앱 뿐 아니라 PC와 웹 개발도 가능하게 돼 플랫폼 확장성을 확보할 수 있을 것이라 판단하였다.
  • 개발 환경(IDE)
    • 처음 개발할 때 부터 Android Studio를 사용하였는데, 이 개발 환경을 사용할 수 있다는 것도 개발 일정을 줄일 수 있을 것 같았다.

 


참고링크

https://docs.flutter.dev/platform-integration/platform-channels

 

Writing custom platform-specific code

Learn how to write custom platform-specific code in your app.

docs.flutter.dev

https://docs.flutter.dev/ui/widgets

 

Widget catalog

A catalog of some of Flutter's rich set of widgets.

docs.flutter.dev

 

Comments