1.1 설치

안드로이드 스튜디오 다운로드
안드로이드용 개발할 때 사용한다.
IOS 개발은 맥북에서 하면 된다.
맥은 IOS랑 안드로이드 둘 다 개발할 수 있다.
플러터 다운로드




압축 풀고 tools 폴더에 넣어준다.
C:\metacoding\tools\flutter\bin
bin까지 해서 환경변수로 넣어준다.

환경변수 추가

CMD 로 가서 Flutter —vesrion 을 입력해주면 잘 뜬다. 이게 떠야지 플러터 환경 변수 설정이 잘 된 거임 !
1.2 개념설명

자바는 크로스 플랫폼 개발이 가능하다 : )

갤럭시 하드웨어는 컬컴 (스냅드래곤)
애플의 하드웨어는 AMD
IoS에 맞게 개발해야 하는게 AMD에 맞춰서 개발했는데
AMD → 퀄컴으로 칩이 바뀌면 못쓰니까!
안드로이드 (os)가 입출력장치를 건드릴 수 있는 라이브러리 덩어리를 제공
→ 그게 SDK 이다 !
SDK안에 개발 키트들이 다 들어가 있다.
SDK를 사용해서 그림을 그릴 수 있고,
기계(카메라, 스크린, GPS 등)도 건드릴 수 있다.
퀄컴을 DIRECT 로 건드려서 개발하는 건 귀찮고 어렵고 오래걸리는 일.
그래서 OS를 건드려서 개발을 한다.

앱에서 native하게 개발한다는 것은 안드로이드를 건드려서 개발하는 것 !
안드로이드를 때릴때 필요한 Language는 자바 ! 그래서 자바가 native 언어임
IOS를 때릴때 필요한 언어는 Swift.
ios운영체제는 맥에만 설치가능
안드로이드 운영체제는 맥이랑 다른 모든곳에 설치가능

다트 ( 자바스크립트랑 비슷한 언어 ) 라는 language가 있는데
거기에 flutter ( UI 프레임워크 = “UI로 그림그리는 틀” )가 있다
FLUTTER는 언어가 아닌 라이브러리 집합 !
→ 버튼, 아이콘, 네비게이션, 드로어, 앱바 등의 다지인을 다 들고 있다.
나는 다트 언어로 그림을 그리면 된다.
리액트 네이티브가 하는 방식과
플러터가 하는 방식 이 다르다.
리액트 네이티브 ( 자바스크립트 사용 )
⇒
자바스크립트로 버튼을 만들면 리액트네이트브가 이를 받아서
HTML 버튼이랑
같은걸 찾아서 안드로이드 코드로 바뀐다.
JS ( 안녕 ) → RN (번역) → 안드로이드(Hello) / IOS(Hola)
다트는 다르게 작동한다.
React Native로 그리면
SDK에 있는 버튼만 나온다.
다트를 사용하면 그려서 주는 그림 그대로 안드로이드와 IOS가 사용한다.

기계를 때리는 자바 코드를 짜고 자바 코드랑 flutter 가 통신해서
flutter로 기계를 때릴 수 있다.
GRADLE 하듯이 F_CAMERA 라이브러리를 다운받아서 사용하면
통신할 필요없이 라이브러리를 실행시켜서 기계를 때릴 수 있다.
내가 flutter로 개발할거야.
IOS와 안드로이드를 다 만들어야 해서 FLUTTER로 개발함
내가 홈페이지도 필요하고, 서버도 만들거임
→ 앱 2개, 홈페이지, 서버 → 백엔드랑 플러터 개발자만 있으면 개발할 수 있따.
안드로이드 스튜디오는 FLUTTER를 쉽게 사용할 수 있게 해주는 툴
fluttter- bin - cache 로 가면 dart-sdk 가 있다.
dart-sdk- bin 안에 실제 dart 파일이 있다.
1.3 실행

안드로이드 스튜디오 설치 완료
플러그인에서 flutter 다운받고 리스타트


bin 폴더까지 넣지말고 SDK 통째로 path 로 잡아준다.

네이티브 코드 안건드릴 거니까 Java Kotln 둘 다 상관없다.
안드로이드, IOS, web 빼고 다 체크해제 하고 finish

짜잔

cmd에 flutter doctor ( → flutter 잘 설치됐는지 확인하는 것 )
tool은 안드로이드 스튜디로만 설치되어 있으면 된다.
Conntected device 는 가상 에뮬레이터
우리는 Android toolchain만 해결하면 된다.


체크하고 apply
그리고 다시 cmd 켜서 flutter doctor 하면

x는 없어졌는데 ! 하나가 떠 있다.

실행해주고 계속 y하고 enter

모든 licenses가 accpeted되었다.
다시 flutter doctor 하면

이렇게 되어있으면 된다 !

클릭하고
실행버튼 누르면

실행됨


함수도 일급객체여서 클래스 안에 있는게 아님

크롬으로 잡기
(windows할라면 vs 설치되어 있어야 한다 .)

실행시키면
여기 있는 코드를 해석해서 크롬에다가 집어던짐
→ 이게 펌웨어 ! ( 기계에다가 소스코드를 집어넣는 것 )

안드로이드로 실행시키려면 ?
mobile 선택하고 실행 버튼 클릭 ( 펌웨어 하기 )

아래 이런거 돌아가고 있을 때 뭐 클릭하지 말자. 에러난다.

핫 리로드 ! 번개 !!

저장만 해도 바로바로 반영된다.
Share article