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

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

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

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

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

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

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

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

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

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

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

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'개발기록 > Flutter' 카테고리의 다른 글

[flutter log] 위젯의 종류  (0) 2023.01.18
[flutter log] 플러터 기본 위젯  (0) 2023.01.17
[flutter log] 다트 비동기 프로그래밍  (0) 2023.01.11
[flutter log] 객체지향 프로그래밍  (0) 2023.01.11
[flutter log] 기초 문법  (0) 2023.01.10
'개발기록/Flutter' 카테고리의 다른 글
  • [flutter log] 위젯의 종류
  • [flutter log] 플러터 기본 위젯
  • [flutter log] 다트 비동기 프로그래밍
  • [flutter log] 객체지향 프로그래밍
성장형_개발자
성장형_개발자
시작은 미미하지만 점점 창대하리라 비전공자 신입의 성장 페이지('19.1.2 첫출근)
    반응형
    250x250
  • 성장형_개발자
    성장형개발자
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 전체 (59)
      • 개발기록 (34)
        • AWS (2)
        • Linux (3)
        • JAVA (6)
        • Intellij (1)
        • Git (2)
        • VSCode (1)
        • Python (1)
        • Flutter (9)
        • HTML (0)
        • DB (1)
        • Android (0)
        • PWA(프로그레시브 웹앱) (0)
        • excel (1)
      • 유용한 정보 (7)
      • 정보처리기사 (9)
      • Book (2)
      • 일상 (5)
      • 재테크 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리눅스
    아이폰
    오블완
    정처기
    플러터
    티스토리챌린지
    정보처리산업기사
    SQL
    Oracle
    정보처리기사
    실기
    정보처리
    Flutter
    flutter코딩
    기사
    java
    error
    flutter기초문법
    데이터베이스
    it
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
성장형_개발자
[flutter log] 플러터 소개 및 구조
상단으로

티스토리툴바