본문 바로가기

Flutter  학습/오준석의 플러터 생존코딩 학습 및 요약

1. Flutter 란?

목차 : 

  • 1.1 앱 개발 방식 소개
  • 1.2 Flutter 소개

1.1 앱 개발 방식 

스마트폰 앱은 크게 (1) 네이티브, (2) 하이브리드, (3) 크로스 플랫폼 방식으로 개발됩니다. 

  • 네이티브 방식:
    • 안드로이드나  iOS 같은 자체에서 제공하는 개발 환경으로 개발합니다 
    • 네이티브 방식으로 배우거나 개발을 한다면 알아야할 지식이나 개발에 쓰는 시간이 2배 넘게 들것이다.
  개발도구  개발언어
안드로이드 안드로이드 스튜디오, 인텔리제이 코틀린, 자바
iOS XCode 스위프트, 오브젝트
  • 하이브리드 방식 
    • 웹 기술로 앱 화면을 만든 후 네이티브 기술로 감싸서 앱 형태로 포장합니다. 
    • 기존 웹 기술을 활용하여 빠르개 앱으로 변환할 수 있기 때문에 빠른 앱 개발을 할 수 있지만 네이티브 성능에 미치지 못합니다.
    • UI 또한 별도로 만들기 때문에 네이티브 앱 느낌을 내지 못합니다. 
  • 크로스 플래폼 방식
    • 한번 구현하여 안드로이드와 iOS등 등 여러가지 플랫폼용 앱을 만듭니다. 
    • 이 방식은 빌드할 때 네이티브 코드로 변환되기 때문에 결과적으로는 네이티브 방식으로 개발했을 때와 거의 같은 성능을 보장합니다. 

1.2 Flutter 소개

플러터는 dart를 이용해 여러 플랫폼용으로 앱을 만들수 있는 크로스 플래폼 개발 프레임워크 입니다.

 

개발 가능한 앱 종류

  • 안드로이드 
  • iOS
  • 데스크톱 

장점 : 

  • 낮은 진입 장벽 : 네이티브를 이용한 개발에 비해 상대적으로 배워야 할 개념이 적다. 그리고  하나의 코드로 ios, android, macos, window, web 모두 개발 가능.
  • 높은 네이티브 성능: 다른 크로스 플랫폼과 다르게 화면 구성에 필요한 UI를 플러터가 직접 그리기 대문에 속도가 빠르다.
  • 테스팅 : 핫 리로딩을 지원 .앱을 처음부터 다시 시작하지 않고 새로운 코드가 반영할수 있다.
  • 다양한 위젯들 : 이미 위젯들이 많이 포함되어 있어 가져다 사용하기 쉽다.

단점 : 

  • 아직 생태계가 크지 않다.
  • dart라는 언어가 생소하다.
  • 네이티브(Android, Swift) 보다는 성능적인 면에서 앞서지 않다.
  • 네이티브보다 용량이 크다.

 

플러터로 개발하는게 유리할 경우

  • 개발하려는 앱이 네이티브의 기능이 많이 필요로 하지 않는 경우
  • 빠르게 프로토 타입을 만들고 출시해야 할 경우
  • 예산과 일정이 촉박할 경우 등등. 

 

상황에 따라 다르겠지만 분명 한 코드로  ios, android, macos, window, web을 모두 커버할수 있는 것은 예산이나 개발 기간등을 고려해본다면 매우 매력적이다.

'Flutter  학습 > 오준석의 플러터 생존코딩 학습 및 요약' 카테고리의 다른 글

5. 기본 위젯 -2  (0) 2023.02.20
4. 기본 위젯 - 1  (0) 2023.02.20
3. 프로젝트 구조와 앱 구조  (0) 2023.02.20
2. Dart 문법  (0) 2023.02.20