Flutter에 대해

여갱·2023년 7월 6일
1

Flutter

목록 보기
1/4

크로스 플랫폼(cross platform) : 단일 소스코드로 안드로이드와 iOS 모바일 어플리케이션을 개발할 수 있는 UI 프레임워크이다.

Google에서 만들었고, Dart언어를 사용한다. 사용하는 언어 또한 Google에서 만들었기 때문에, flutter를 위해 dart를 수정하는 경우도 있었다.

Flutter 시스템 구조


플러터는 3가지 계층으로 구성되어있다.
1. 프레임워크
2. 엔진
3. 임베더

1. 프레임워크

  • 플러터는 구글의 Materal Design과 애플의 Cupertiono UI를 지원한다.
    동일한 소스 코드에서 임포트문을 변경하면 앱의 전체 look and feel을 바꿀 수 있다.

  • 그 아래의 Widget은 플러터의 모든 것이라고 할 수 있다.

  • Rendering은 두 번째 계층인 엔진과 관련있다. 엔진에서 그려주는 내용이 이 영역에서 표현된다.

  • Gesture 항목은 모바일 기기에서 제공하는 사용자 이벤트와 관련있다. 터치하거나 스와이프 동작에 반응할 수 있다.

  • 그 외의 Animation, Painting, Foundation은 플러터 프레임워크가 동작하기 위한 내부 구조.

2. 엔진

  • 주 역할은 렌더링(기술적으로 어떤 것을 화면에 그린다는 의미)이며, 일종의 그래픽 엔진이다.

3. 임베더

  • 크로스 플랫폼 기술이어도 결국 안드로이드나 iOS 네이티브 환경에서 동작해야하기 때문에 각 플랫폼에 의존적인 내용을 담고있는 계층이다.

Flutter의 특징

  1. 하나의 소스 코드로 iOS, 안드로이드 개발 가능
  2. 가벼움. 모든 것이 위젯으로 구성되어 있고 main.dart 파일 하나면 안드, iOS 앱으로 자동 변환되어 실행 가능.

    안드로이드 개발에서는 UI 구성을 위해 XML 파일도 작성하고 빌드 도구인 그레이들(Gradle)을 배워야함. 액티비티, 서비스와 같은 안드로이드 앱의 기본 구성요소와 액티비티 라이프사이클 등 처음에 배워야할 게 많음.

  3. 위젯으로 빠르고 아름다운 앱을 만든다.
  4. dart가 웹 개발을 위해 만들어졌기 때문에 기존 웹 개발자나 CSS 개발자도 손쉽게 플러터 시작 가능
  5. 구글의 지원 good
  6. Flutter(플러터)의 특징 중 Hot Reload(핫 리로드) 기능 : 코드 변경 또는 수정 후 저장하면 변경사항을 즉각적으로 확인할 수 있는 기능이다. 이 기능으로 인해 실시간으로 앱을 테스트 및 디버깅, 빠른 개발을 할 수 있다.

안드로이드 개발에서 변경한 내용에 대해 빠르게 확인해보고 싶지만, 그럴 수가 없는 게 현실이고, 프로젝트가 커지면 커질수록 빌드로 생기는 이 대기시간은 기하급수적으로 증가했다.

0개의 댓글

관련 채용 정보