앱 개발은 해보고싶고..
안드로이드, 아이폰 따로 따로 공부하자니 막막하고..
한번에 개발할 수 없을까 !?
그러다 알게된 Flutter를 소개하려 합니다 :)
스마트폰의 앱 개발 방식은 3가지로 분류됩니다.
● 네이티브 방식 - Native App
-안드로이드나 ios 자체에서 제공하는 개발환경으로 개발하는 형식
안드로이드(안드로이드 스튜디오 - Java, Kotlin언어 사용)
● 하이브리드 방식 - Hybrid App
-웹 기술을 활용하여 앱화면을 만든 후 네이티브 기술로 감싸서 앱 형태로 보여주게 만드는 방식
● 크로스 플랫폼 방식 - Cross-Platform App
-안드로이드와 ios,등 각 플랫폼용 앱을 한번에 구현하는 방식
(Xamarin-C#, Flutter-Dart, React Native - Java)
저희가 알아보려는 flutter는 크로스 플랫폼 방식이겠네요 !
Flutter란 ?
flutter는 Google에서 만든 오픈소스 모바일 앱 개발 프레임워크입니다.
두개의 운영체제 모두에서 돌아가는 앱을 한번에 구현할 수 있는 크로스 플랫폼에 속합니다 !
다시 말해서 하나의 멀티 플랫폼을 제공하는 프레임워크 입니다.
flutter는 dart라는 언어로 작성되었습니다.
Dar는 비교적 쉽게 구현할 수 있고 좋은 프로그래밍 언어지만 인기가 없습니다.....
20위에 있네요...
Flutter의 장점, 단점은 ?
1. 개발 비용 절감 가능
flutter는 크로스 플랫폼이기 때문에 개발 비용을 줄일 수 있습니다.
Android, ios 두개의 앱을 따로 개발할 필요 없이 한 플랫폼에서 개발이 가능하므로, 개발자의 인건비나
유지보수비를 줄일 수 있습니다 :)
이것이 크로스플랫폼의 매력적인 장점이겠죠 ?
2. 성능 문제 해결
기존 React Native 나 Hybrid App 같은 경우는 브릿지를 통한 통신이 불가피했습니다.
허나 ! flutter는 직접 컴파일이 되어서 Render를 하기때문에 성능이 빠릅니다.
아래 동영상을 참고하면 React Native랑 flutter의 비교를 아실 수 있으실 겁니다 :)
3. 머티리얼 디자인과 쿠퍼티노
Flutter는 Android와 ios의 대표 디자인 가이드를 기본적으로 제공합니다.
안드로이드와 ios에서 같은 머티리얼 디자인을 사용하더라도 플랫폼에 따라 다르게 출력되는 부분을
각각 디자인 가이드에 맞게 화면을 그립니다 :)
그밖에 핫리로드, UI 안정성 등 다양한 장점이 존재합니다 !
이제 단점이라고 뽑자면
1. 언어가 Dart....
Dart는 비언어로 분류되기때문에 대중적이지가 않습니다.
아직까지 Javascript가 대중적이기도 하고 개발자들사이에서는 Dart는 완전 새롭게 배워야하기 때문에
경쟁력을 쌓기 위함이라면 단점으로 될 수 있겠네요..
2. 코드 푸시가 없다.
버전업데이트할때 3일...길면 일주일까지 기다려야한다면..
초창기 스타트업회사에는 적합하지않겠죠 ?
고객들의 피드백을 빠르게 반영해야하는데, 한번 반영할때마다 3~7일 걸린다면
너무 효율이 떨어지지 않을까요 ?
어떤 프레임워크, 언어라도 100프로 완벽한 것은 없겠죠 ?
비전이 있는 기술인지, 내 상황에 맞는지 선택하시면서
공부하고 개발하시면 무엇이든 도움이 될거라고 봅니다 :)
위에는 플러터 공식 홈페이지입니다 :)
긴글 읽어주셔서 감사합니다 !
'프로그래밍 언어 및 IT 정보 > Flutter' 카테고리의 다른 글
[flutter] 에러 : Expected a key while parsing a block mapping. (0) | 2021.10.01 |
---|---|
[flutter]2. flutter StatelessWidget, StatefulWidget (0) | 2021.09.27 |
[flutter]1. flutter SDK 설치하기(Windows) with VScode (2) | 2021.09.24 |