* 본 포스팅은 유튜브 '코딩셰프' 님 플러터 영상을 보고 정리하는 글임
순한맛 1 우리는 왜 플러터(flutter)를 학습해야 할까요?
WHY flutter?
- 2016년 8월, 깃허브에 공식 발표 없이 깃허브에 코드가 게시
- 지르콘(Zircon)이라는 마이크로 커널 기반
- 2017년 11월 swift 지원계획 발표
- 2018년 1월 픽셀북을 공식 fuchsia 테스트 디바이스로 추가
- 2019년 1월 안드로이드앱 구동 가능성
- 2019년 5월 구글 I/O에서 fuchsia 언급 > 플러터는 다양한 웹플랫폼을 위한 UI 툴킷이라는 설명
- 2019년 7월 1일 fuchsia 홈페이지 오픈
커널이란?
1. 마이크로 커널 : fuchsia 사용됨. 구글에서 개발
- 최소한의 기능만 넣은 커널
- 그외 기능은 모듈화 시켜서 조립식으로 사용
2. 단일형 커널 : 안드로이드 개발에 사용. 오픈형
- 필요한 기능을 모두 커널에 넣어서 단일화 시킨 것
- 단점 : 모든 기능이 얽혀있어서 기능을 업데이트 하거나 수정할때 시간이 오래 걸림 = 안드로이드의 큰 파편
왜 구글이 fuchsia OS를 만들려는 이유
1. 사물인터넷 등 소형 시스템용으로 설계된 little Kernel의 파생물
2. 스마트폰, 노트북 등 개인용 컴퓨터 타겟
>> fuchia OS를 모든 기기에서 보편적으로 사용가능 할 수 있도록 만들겠다.
3. 음성명령에 중점 두고 개발됨
>> 안드로이드는 터치 시스템에 최적화되어 있음. 이후 노터치 기기 등 어떠한 환경에서도 구동될 수 있도록.
4. 안드로이드의 파편화
>> 구글 트레블 프로젝트(제조사들이 소프트웨어에 큰변화를 주지 안고 보다 빠르게 안드로이드 업데이트를 배포할수 있도록 해주는 정책) but 제조사가 업데이트 주도권을 갖고 있음. 그래서 구글이 발빠르게 업데이트를 해도 반영되지 않았음. fuchsia는 사물인터넷을 지원하기 때문에 보안상 빠르게 업데이트를 제공할 가능성이 높으며 주도권 또한 구글이 가지고 있음.
5. 오라클과의 자바 특허싸움
>> 자바 라이센스비를 오라클에 많은 돈을 제공해야함.
Flutter란 무엇이란?
- 프레임워크. 앱을 만들기 위한 규칙이 제공되는 틀
- fuchsia의 사용자 인터페이스와 앱 만들기 위해 사용.
즉, 플러터로 만든 안드로이드 앱은 fuchsia에서 아무 추가도 없이 바로 구동됨.
스마트폰뿐만 아니라 다양한 기기에서 사용될 수 있는 앱을 만드는데 사용가능
- 프로그래밍 언어는 Dart 사용
- 크로스 플랫폼(안드, IOS) 어플리케이션 개발
- 인터페이스나 사용자 경험을 하나로 통일. 각 os마다 UI/UX를 설정해줘야하는 네이티브와 달리 플러터는 자체적으로 랜더링해서 어디든 같은 경험을 할수 있게 해줌
- Hummingbird라는 플러터 웹 프로젝트도 제공하고 있음. 웹앱 개발도 가능. but 매우 초기라 크롬으로만 브라우저 지원.
순한맛 2
SDK 설치와 환경변수 설정하기
SDK란?
1. Software Development Kit
2. 소스코드의 모음과 유틸리티
3. 구글이 제공
SDk 설치 및 환경변수 설정
1. 시스템 속성 > 고급 > 환경변수 > 시스템 변수 내 PATH 편집 > 새로만들기로 flutter 경로 추가
2. cmd > 'flutter' 입력후 환경변수 설정된 것 확인
순한맛 3 안드로이드 스튜디오, 비주얼 스튜디오 코드, 에뮬레이터 설치하기
안드로이드 스튜디오 다운 및 AVD 다운
1. 안드로이드 스튜디오 다운
2. AVD > pixel 2 / pie로 다운
3. Plugins > Dart / flutter 설치
순한맛 4 플러터 닥터 설정 및 프로젝트 생성하고 에뮬레이터에서 실행해 보기
플러터 닥터 설정
cmd > 'flutter doctor' 입력 > 확인
*주의* flutter 2.10 이후 버전은 visual studio 다운 후 'Desktop development with C++'/MSVC v143 - VS 2022 C++ x64/x32 빌드 도구 + window용 CMake 도구 + Windows 10 SDK 포함으로 설치
'공부 > Flutter' 카테고리의 다른 글
Flutter 스터디 5 Drawer 메뉴 (0) | 2023.01.25 |
---|---|
Flutter 스터디 4 클래스와 위젯, AppBar 아이콘 (null safety 조금) (0) | 2023.01.19 |
Flutter 스터디 3 캐릭터 카드 페이지 만들기 (+ Layout 몇 개 정리) (0) | 2023.01.16 |
Flutter 스터디 2 Widget과 main.dart 기본 작성 (0) | 2023.01.16 |
[미해결] Flutter 설치 시 오류) 비주얼스튜디오 microsoft.net.4.8.fullRedist를 설치할 수 없습니다. (1) | 2023.01.16 |