AR삽질러

Flutter? - (0) 본문

Dart/Flutter

Flutter? - (0)

아랑팡팡 2023. 9. 10. 13:30
728x90

 

Flutter 

https://flutter.dev/

 

Flutter - Build apps for any screen

Flutter transforms the entire app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase.

flutter.dev

 

0. Flutter란

Flutter란 iOS, Android, Web, Windows, MacOS, Linux에 대한 애플리케이션 개발을 지원한다. Google에서 개발 및 지원하는 오픈 소스 프레임워크로 프런트와 풀 스택 개발자는 Flutter를 이용해 플랫폼에 대한 애플리케이션의 사용자 인터페이스(UI)를 단일 코드 베이스로 구죽한다.

 

1. Flutter의 앱 개발 지원

NativeAPP
개발자는 특정 플랫폼용으로 코드를 작성하기 때문에 네이티브 디바이스 기능에 대한 전체 엑세스 권한을 가지게 되어 크로스 플랫폼 앱 개발에 비해 더 높은 성능과 속도로 이어진다.
하지만 여러 플랫폼에서 애플리케이션을 실행할 경우 네이티브 앱 개발 방식에서는 더 많은 코드와 개발자가 필요하고 일관된 사용자 경험으로 동시 실행이 어려울수 있기 때문에 이럴때는 Flutter와 같은 크로스 플랫폼 앱 개발 프레임워크가 유용할 수 있다.

CrossPlatformAPP
앱 개발을 통해서 개발자는 하나의 프로그래밍 언어와 하나의 코드베이스를 사용해 여러 플랫폼용 애플리케이션을 구축할 수 있다. 여러 플랫폼용으로 애플리케이션을 출시하는 경우 크로스 플랫폼 앱 개발 방식이 네이티브 앱 개발 방식보다 비용과 시간이 적게들고 사용자를 위한 일관된 경험을 만들 어 내는 것이 가능하다.
하지만 네이티브 디바이스 기능에 대한 제한된 엑세스를 비롯하여 네이티브 앱 개발에 비해 단점이 있을 수 있지만 앱 개발을 더 원활하게 진행할 수 있도록 하는 기능을 제공한다.

 

2. Flutter의 장점

 - 네이티브에 가까운 성능 : Flutter는 프로그래밍언어 Dart를 사용하고 기계코드로 컴파일한다. 호스트 디바이스가 Dart코드를 이해하므로 빠르고 효과적인 성능이 보장된다.

 - 빠르고 일관적이며 사용자 지정이 가능한 렌더링 : Flutter는 플랫폼별 렌더링 도구를 사용하지 않고 Google의 오픈 소스 Skia 그래픽 라이브러리를 사용하여 UI를 렌더이한다.

 - 개발자에게 편리한 도구 : Google은 사용 편의성에 중점을 두고 Flutter를 만들어 개발자는 핫 리로드와 같은 도구를 사용하여 상태를 바꾸지 않고 코드 변경 내용을 미리 볼 수 있고 위젯 검사기와 같은 다른 도구를 사용하면 UI레이아웃 문제를 쉽게 시각화하고 해결할 수 있다.

 

3. NativeAPP, WebAPP, HybridAPP

 3-1) NativeAPP

NativeAPP? 안드로이드, IOS용으로 나누어 개발된 앱으로 각각의 플랫폼에서 제공하는 언어를 이용해서 만들어진 APP이다.
장점 모바일 기기에 최적화된 언어로 개발되어 반응 속도가 빠르고 안정적이다.
카메라, 음성인식과 같은 스마트폰 기능과 2D, 3D등의 기능도 활용할 수 있다.
단점 Android, iOS용 앱을 각각 따로 개발해야 하기 때문에 시간과 비용이 많이 들고 개발 난이도가 높다.

 

 3-2) WebAPP

WebAPP 앱앱은 네이트브 앱과 다른게 PC에서 접속하는 웹페이지를 스마트폰 화면 사이즈로 줄여 만든 모바일 Web이다. 실제 웹 방식이지만 앱을 사용하는것처럼 보인다.
장점 웹 페이지만 제작하면 완성되기 때문에 시간과 비용이 적게든다.
PC, 스마트폰 등 기기의 종류와 상관없이 모든 기기에서 같은 페이지를 볼 수 있다.
별도의 설치가 필요 없기 때문에 네이티브 앱에 비해 유지 보수가 쉽다.
단점 웹용 언어로만 제작되기 때문에 음성검색등 스마트폰 기능을 사용할 수 없다.
앱을 다운로드해서 기능을 실행하는것이 아니기 때문에 검색이나 주소 입력 등의 과정이 필요하다.
플레이스토어, 앱스토어 에서 등록 및 판매를 할수없다.

 

 3-3) HybridAPP

HybridAPP 네이티브 앱과 웹앱의 장점을 합친 앱으로 기본기능은 HTML등의 웹 표준 기술을 기반으로 앱을 만든 뒤 최종 앱 배포에 필요한 패키징 처리만 ios, Android 등 모바일 운영체제 별로 구현하는 앱이다. 네이티브 앱으로 보이지만 실제로는 웹 화면을 띄워서 실현 시킨다.
장점 모바일 웹과 기존 네이티브앱의 장점을 모두 가지고 있다.
HTML로 개발되어 비용과 시간이 적게들고 유지보수에 유리하다.
네이티브 API와 브라우저API를 이용해서 다양하게 개발할 수 있고 한번의 개발로 다수의 플랫폼에 유연하게 대처할 수 있다.
단점 네이티브 앱 보다 UI디자인이 취약한다.

 

 

728x90
반응형
LIST

'Dart > Flutter' 카테고리의 다른 글

Flutter Reusable Widgets - (4)  (0) 2023.09.17
Flutter VSCode설정  (0) 2023.09.17
Flutter Developer Tools와 Button - (3)  (0) 2023.09.17
Flutter UI Design - (2)  (0) 2023.09.17
Flutter Start - (1)  (0) 2023.09.13