새소식

반응형
개발기록/Flutter

[flutter log] 플러터 소개 및 구조

  • -
반응형
 
코드팩토리의 플러터 프로그래밍
저자는 왕초보 실력을 현업 수준으로 끌어올리기를 목표로 이 책을 썼습니다. 배운 이론을 곧바로 실무에 진짜 유용한 기능을 담은 앱을 만들며 익힐 수 있게 합니다. 모든 앱은 결과가 아니라 실제 프로젝트 현장에서 구현하듯이 과정을 보여주며 만듭니다. 변경하거나 수정한 코드를 확실하게 표시해 따라하기 쉽습니다. [프로젝트 소개] ➝ [사전 지식] ➝ [준비하기] ➝ [UI 구상하기] ➝ [구현하기] ➝ [테스트하기] 순서를 꼭 지켜서 앱 개발을 체계적으로 이끌어줍니다. 초보자 눈높이에 맞추면서, 다트 언어 입문부터 개발과 광고와 배포까지 현업에 도움이 될 실무적이고 활용도 높은 노하우를 담아 설명했기 때문에 탄탄하면서도 빠르게 스킬업되는 자신을 체감하게 될 겁니다.
저자
최지호(코드팩토리)
출판
골든래빗(주)
출판일
2023.01.01

안녕하세요 성장형 개발자입니다.

플러터 공부 중입니다
오늘 공부한 내용을 적어보았습니다

공부한 내용 : 플러터 입문하기

ㅇ 플러터 소개
 - 구글이 구현한 크로스 플랫폼 프레임워크
 - 한 소스코드로 수많은 플랫폼에 대응할 수 있음 -> 개발 비용 아끼고, 관리 부담을 줄일 수 있음
 - 기존 리액트 네이티브가 장악하던 크로그 플랫폼 앱 개발 프레임워크 시장을 플러터가 상당 부분 장악했음
 - 상대적으로 다루기 쉬움
 - 크로스 플랫폼 호환성이 상당히 자연스러움
 - 구글에서 강력하게 밀고 있는 프로젝트
 - 종합적으로 앞으로 더욱 기대되는 프레임워크
 - 플랫폼 간의 이질감이 적음
 - 기존 크로스 플랫폼 프레임워크 : 코드를 네이티브 프레임워크 코드로 전환하는데 중점
    플러터 : 스키아 엔진이라는 2D 렌더링 엔진과 직접 통신(똑같은 API를 사용)
     -> 어떤 플랫폼이든 일관된 UI를 제공(타 프레임워크보다 플랫폼별  UI 디버깅 부담이 현저히 적음)

ㅇ 플러터 구조
  -> 잘 모듈화된 아키텍처 덕분에 쉽게 여러 플랫폼을 지원하고 일관된 API 및 개발 경험을 제공
 1. 임베더 계층 : 가장 하드웨어와 가까운 로우 레벨
  -> 플러터가 현재 지원하는 6개 플랫폼의 네이티브 플랫폼과 직접 통신을 하고 운영체제의 자체적 기능을 모듈화
  -> 이 모듈들은 각 플랫폼의 네이티브 언어로 작성되어 있음
 2. 엔진 계층 : 중간 계층
  -> 대부분 C++로 작성되어 있음
  -> 플러터 코어 API, 스키아 그래픽 엔진, 파일시스템, 네트워크 기능 정의되어있음
 3. 프레임워크 계층
  -> 플러터 개발자들이 대부분의 시간을 보내는 계층
  -> 위젯, 애니메이션, 머티리얼 패키지, 쿠퍼티노 패키지 등이 있음

ㅇ 스키아 엔진
 - 스키아 엔진과 직접 통신한다
  -> 어떤 플랫폼이든 스키아 엔진을 지원한다면 플러터가 컴파일되고 실행되도록 구현할 수 있다
  -> ios, 안드로이드 앱, 윈도우, 리눅스, 맥os, 웹사이트를 같은 플러터 코드로 배포하도록 구현 가능

 - 스키아 엔진을 사용했을 때 장점
  -> 대부분의 프레임워크들은 웹뷰를 사용하거나 각 플랫폼  UI 라이브러리 사용
  -> 플러터는 웹뷰를 사용하지 않고, 직접 스키아 엔진을 사용해 화면에 UI를 그려냄
  -> 새로 렌더링이 필요한 위젯들만 렌더링하기 때문에 타 프레임워크보다 상당히 높은 퍼포먼스를 선보임

 - 예시 비교(리액트 네이티브)

플러터 리액트 네이티브
필요한 제스처 및 이벤트를 브릿지 없이 실행 자바스크립트 브릿지를 통해 플랫폼과 통신
스키아 엔진에 직접 그려냄 플랫폼의 UI(OEM 위젯)를 그대로 사용
상당히 빠른 퍼포먼스를 자랑 플랫폼과 리액트 네이티브 간 통신을 할 때 필요한 리소스 비용이 상당히 높음

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.