스마트폰의 앱 개발 방식은 3가지로 분류된다.
네이티브 방식 - Native App
안드로이드나 ios 자체에서 제공하는 개발환경으로 개발하는 형식
안드로이드(안드로이드 스튜디어 - Java, Kotlin언어 사용)
하이브리드 방식 - Hybrid App
웹 기술을 활용하여 앱화면을 만든 후 네이티브 기술로 감싸서 앱 형태로 보여주게 만드는 방식
크로스 플랫폼 형식 - Cross-Platform App
안드로이드와 ios 등 각 플랫폼용 앱을 한번에 구현하는 방식
(Xamarin-C#, Fullter-Dart, React Native - Java)
Flutter란?
flutter는 Google에서 만든 오픈소스 모바일 앱 개발 프레임워크이다.
두개의 운영체제 모두에서 돌아가는 앱을 한번에 구현할 수 있는 크로스 플랫폼에 속한다.(하나의 멀티 플랫폼을 제공하는 프레임워크)
flutter는 dart라는 언어로 작성되었다. Dart는 비교적 쉽게 구현할 수 있고 좋은 프로그래밍 언어지만 인기가 없다고 한다.
Fullter의 장점
개발 비용 절감 가능.
flutter는 크로스 플랫폼이기 때문에 개발 비용을 줄일 수 있다.
Android, ios 두 개의 앱을 따로 개발할 필요 없이 한 플랫폼에서 개발이 가능하므로, 개발자의 인건비나 유지보수를 줄일 수 있다. 이것이 크로스 플랫폼의 장점이다.
성능 문제 해결.
기존 React Native나 Hybrid App 같은 경우는 브릿지를 통한 통신이 불가피했다.
하지만 fultter는 직접 컴파일이 되어서 Render를 하기때문에 성능이 빠르다.
머터리얼 디자인과 쿠퍼티노.
Flutter는 Andriod와 ios의 대표 디자인 가이드를 기본적으로 제공한다.
안드로이드와 ios에서 같은 머터리얼 디자인을 사용하더라도 플랫폼에 따라 다르게 출력되는 부분을 각각 디자인 가이드에 맞게 화면을 그린다.
그 밖에 핫리로드, UI 안정성 등 다양한 장점이 존재한다.
Fullter의 단점
언어가 Dart이다.
Dart는 비언어로 분류되기 때문에 대중적이지가 않다. 아직까지 JavaScript가 대중적이기도 하고 개발자들사이에서 Dart는 완전 새롭게 배워야하기 때문에 경쟁력을 쌓기 위함이라면 단점이 될 수 있다.
코드 푸시가 없다.
버전 업데이트를 할 때 길면 일주일까지 기다려야 한다면 초창기 스타트업 회사에는 적합하지 않다.
고객들의 피드백을 빠르게 반영해야 하는데 한번 반영할 때마다 3~7일 걸린다면 효율이 떨어질 수 있다.
Flutter 공식 홈페이지
Flutter - 가장 빠른 아름다운 네이티브 앱
Flutter(플러터)는 하나의 코드베이스로 모바일, 웹, 데스크톱에서 네이티브로 컴파일 되는 구글의 아름다운 UI 툴킷입니다. Flutter는 기존 코드와 함께 동작하고, 전세계 개발자와 조직에 쓰이고
flutter-ko.dev