inblog logo
|
code-sudal
    flutter

    툴 다운로드

    윤주헌's avatar
    윤주헌
    Oct 01, 2024
    툴 다운로드
    Contents
    1. 안드로이드 스튜디오 다운로드3. 안드로이드 스튜디오 설정설정(반드시 해야함)2. 플러터 다운환경 변수 설정1. 먼저 플러터 다운 받은거 압축 풀고 툴에 넣어주기2. 경로 잘 설치됐나 확인이론 설명V1V2V3V4이후

    1. 안드로이드 스튜디오 다운로드

    notion image
    notion image
    Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Studio  |  Android Developers
    Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.
    Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Studio  |  Android Developers
    https://developer.android.com/studio?hl=ko
    Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Studio  |  Android Developers
    앱 개발 무료 툴
     
    여기까지 했으면 먼저 아래의 플러터를 깔고 다시 돌아오자!
     
    • 클릭
    📱플러터 깔러가기
     

    3. 안드로이드 스튜디오 설정

    그냥 계속 next하면 됨
    그냥 다 next
    notion image
     
    notion image
    notion image
    notion image
    notion image
    notion image
    notion image
    notion image
    notion image
    SDK 경로 넣기
    notion image
    • 주의
    💡
    프로젝트의 제목은 대문자로 하면 안된다
    사진에서는 실수로 대문자를 했지만 소문자로 변경함
    notion image
    지금은 네이티브 직접 짤게 아니니까 java를 하든 kotlin을 하든 상관 x
    notion image
    notion image
    기본형
    notion image
    짠 만들어짐
    notion image
     
    원래는 플러터 메뉴얼대로 만들어줘야한다!!

    설정(반드시 해야함)

    터미널(CMD)에서 flutter doctor
    notion image
     
    첫번째 초록색 체크 플러터 인식함
    두번째 윈도우 버전 체크 운영체제 있다
    세번째 안드로이드 툴첸 안돼있음
    네번째 크롬 설치돼있으면 ok
    다섯번째 비쥬얼스튜디오 C# 같은거 할 때 사용함 데스크탑때 윈도우 대스크탑 개발할 때 사용
    여섯번째 안드로이드 스튜디오
    일곱번째 유료버전은 인텔리J로 개발 가능
    여덟번째 VS코드로도 가능 상관 없음
    아홉번째 반드시 체크 되야함 애몰레이터 설치해주는데 앱 알아서 확인할 수 있게
     
    세번째 해야함!!
    notion image
    notion image
    notion image
    notion image
    이후
    cmd가서 flutter doctor 치면
    notion image
    아직 느낌표 하나가 있다
    notion image
    cmd에 컨트롤 c 컨트롤 V 해서 계속 y
    notion image
    전부 y엔터 해주기
    notion image
     
     
     
    notion image
    notion image
    화살표 누르기 에몰레이터 실행하는 것
    notion image
    실행하고 계속 기다려 다른것 하지 마라!!
    이렇게 뜨면 잘 된거임
    notion image
    여기서
    왼쪽

    우리가 개발할 환경

    1급객체다!!
    notion image
    lib main.dart 에서 우리는 개발한다
     
    디바이스 선택하는것
    notion image
    notion image
    notion image
    누르면 해석해서 크롬 브라우저에 떤진다 → 이거를 펌웨어라 한다
     
    TV에 sk브로드밴드 장치 같은게 있는데 이게 기계인데 안에 소프트웨어가 들어가 있다 이런게 펌웨어라 한다!!
     
    기계에 집어넣는다 펌웨어
    💡
    하드웨어의 기본적인 구동 및 제어를 담당하는 특수 용도의 소프트웨어.
    소프트웨어라고는 하지만 보통 하드웨어 엔지니어가 도맡아 지원한다.
    펌웨어 하는 일
    새로운 소프트웨어나 버전이 나오면 하드웨어도 그 기능에 맞춘 논리회로가 필요한데,
    매번 물리적으로 제조하려면 시간 낭비가 크기 때문에 논리적으로 기능을 보강하거나 대신해주는 프로그램이 펌웨어다.
    즉 펌웨어는 하드웨어의 일부분이며, 없으면 장치가 정상 동작하지 못하게 된다.
     
    notion image
    안드로이드로 실행해보자
    notion image
    바꾸고 화살표 누르기
    오래걸림
    notion image
    notion image
    notion image
    바꾸고 번개버튼 누르기
    notion image
    notion image
    , 저장만 해도 바로 반영됨
    notion image
    끝!

    2. 플러터 다운

    notion image
    Choose your development platform to get started
    Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems.
    Choose your development platform to get started
    https://docs.flutter.dev/get-started/install
    Choose your development platform to get started
    notion image
    notion image
    notion image
     
    notion image
     
    맥은
    아래 내리면 있다
    export PATH =$HOME/development/flutter/bin:$PATH
    PATH에 BEAN폴더 걸어주면 된다 아마도?
     
    압축파일인데 이 안에 개발 sdk 가 들어가 있어 javac 이런거
    윈도우는 시스템환경변수 가서 설정

    환경 변수 설정

    1. 먼저 플러터 다운 받은거 압축 풀고 툴에 넣어주기

    notion image
     
    notion image
    이 두개가 실행파일
    notion image
    왼쪽 bin 적혀있는 네모 박스에서 우클릭하고 주소복사
    notion image
     
    시스템 환경변수
    notion image
    notion image
    더블클릭
    notion image
    새로 만들기 클릭 하고 아까 bin주소 붙이기
    notion image
     

    2. 경로 잘 설치됐나 확인

    notion image
    flutter --version
    환경변수 확인!
    notion image
     

    다시 올라가기

    ⬆️설정하러 이동

    이론 설명

    HW가 다르다 누구는 AMD 누구는 인텔 등
    notion image

    V1

    개발의 기본은 직접 기계어로 건드리는 것이다 (0101) 이런걸로
    → 어려움 (레지스터 건드려서 해야하는데 레지스터가 너무 많다!)

    V2

    어셈블리어
    → 기호화한것 (인간이 이해하기 쉽게)
    +가 500이라 한다면 기호화 하면 영어로 add하면 실행될 수 있게
     
    지금까지는 CPU에 종속 적이다
    → 어셈블리어로 개발하면 CPU마다 기호가 달라서 각 각 다르게 개발했다.
    amd맞게 하면 인텔에서는 못 쓴다
     
    즉 여기까지는 기계에 종속적이다
     

    V3

    OS에 종속적인 C언어가 나왔다
    장점
    1. CPU에 종속적이 아닌 이 HW위의 OS에 종속적이다 즉 만약 윈도우면 CPU에 윈도우만 있으면 사용 가능하고 리눅스면 리눅스만 깔 면 사용 가능하다
    하지만 이것도 종속 적이다
     

    V4

    JAVA OS에 종속적이지 않은 것!
    OS위에 JVM인 가상 머신을 쌓는다. 이러면 JVM에 명령해서 기계도 OS도 상관 없다 알아서 치환해줘서 해준다
    이게 크로스 플랫폼이다
     
     

    이후

    이제 하드웨어가 달라진다
    갤럭시가 있고 애플이 있다
     
    갤럭시의 HW는 퀄컴
    애플은 AMD
     
    CPU에 명령어 형식이 AMD INTEL 이 다르다
    뭐가 다르냐면

    인텔 (복잡하다)(저 전력으로 만들기 힘듦 전력 소모가 크다!)

    모든 명령어가 있다 + * - 등
     

    AMD (CPU가 간단하다)(저전력)

    명령어 집합이 작다
    예를 들어 명령어 하나로 여러가지를 할 수 있다
     
     

    다시 휴대폰으로

    notion image
    HW인 퀄컴 위에 OS 안드로이드가 있고
    애플은 AMD 위에 IOS가 있다
     
    AMD를 C 언어로 건드릴 수 있을까? 있음
    퀄컴도 건드릴 수 있을 까 있다!
     
    하지만 HW 다이랙트로 건드리는 사람은 없다
    HW를 바로 만들면 HW바뀌면 다 바뀌어야 하니까 OS 기반으로 만든다
     
    HW는 입출력 장치다(핸드폰) 엑추에이터들이 들어가 있다 (GPS, 카메라, 자이로센서(기울기 감지) 등 여러가지를 들고 있다.)
    카메라는 input장치, GPS도 주변 장치 input, 자이로 센서 출력 등
    전부 입출력 장치다. 이런것을 건드리려면 원래는 퀄컴을 건드려야한다 어려워서
    이런거 건드릴 수 있는 라이브러리 집합을 안드로이드에서 제공해준다!
    → SDK(소프트웨어 디벨롭 키트)
    💡
    개발자에게 다른 프로그램에 추가하거나 연결할 수 있는 커스텀 앱을 제작할 수 있는 기능을 제공하는 도구 모음
    즉 라이브러리 덩어리 준다(모든 개발 키트들이 들어가 있다)(그림, 기계)
     
    안드로이드 IOS가 같냐? 아니다! 버튼 하나를 만들어도 다르다!
    OS빼고 개발 가능하긴 함 하지만 귀찮고 어렵고 힘들지만…
     
    앱에서 native하게 개발한다는 것은 OS를 건드려서 개발하다는 것
    네이티브개발이라 한다
     
    안드로이드 건드려서 개발하는 것은 자바(네이티브 언어)
    아이폰인 IOS 건드려서 개발하는 것은 SWIFT(네이티브 언어)
     
    여기서
    내가 IOS 개발을 하고싶어 그러면 반드시 IOS운영체제가 필요하다 (있어야 테스트 해보지)
    이거를 맥에서만 깔 수 있게 만듬 IOS는 반드시 맥이 필요하다
     
    안드로이드는 어디에서든 개발할 수 있다.
    notion image

    OS위에 또 생기는 무언가

    안드로이드, IOS한방에 개발하고 싶으면 위에 뭐가 또 깔린다
    • 다트
     
    다트로 앱 개발은 힘들다 내가 다 점찍으면서 그릴 수는 없으니까
    그래서 Flutter UI프레임워크다 (
    즉 스윙같은것임
    스윙 있어야 자바에서 버튼 클래스 가지고 와서 버튼 만드는 것처럼
    없으면 좌표에 점 막 찍어서 하나 하나 만들어야 한다.
     
    다트는 네이티브가 아니다.
    다트는 안드로이드에 맞게, IOS에 맞게
     

    리엑트 네이티브 (JS로 만든다) RN 이라 함

    js 목적 코드 만들어서 RN실행하면 JS는 버튼 만들면 html 모양으로 해주는데
    RN이 html버튼 모양이 안드로이드 버튼과 비슷한 것을 찾아서 뿌린다!
    안드로이드 코드로 만들어진다
    만약 IOS로 보내면 IOS에 비슷한 것을 찾아서 보내준다
     
    실행시 컴버팅 된다 그래서 느리다
     
    Ex
    내가 한국 사람인데 프랑스, 미국인을 보면
     
    내가 안녕 하면 중간에 RN이 있으면 미국인들한테는 hello 프랑스인 한테는 봉쥬르 한다
     

    다트는 다르다

    네이티브가 아니고 컴파일 하면 바로 기계어로 바뀐다!
     
    IOS에 맞게 컴파일, 안드로이드에 맞게 컴파일 해야 한다
    기계어로 해서 엄청 빠르다!!
     
    차이
    리엑트 네이티브는
    버튼 그림그리면 무조건 종속될 수 밖에 없다 아무리 디자인 해도 각자 OS에 있는 디자인만 보여질 수 있다
     
    하지만 다트는 지가 그림을 다 그려버리고 OS 상관 없이 그리고 기계어로 바로 던져서
    안드로이드에 IOS그림 보일 수 있고 IOS에 안드로이드 그림 보일 수 있다.
     
    엣지, 크롬에서도, 앱에서도 다 실행가능하다
    윈도우 데스크탑, 맥 등 키오스크, 자동차 스크린
    모든 플랫폼에서 동작 가능하다!!
     
    그런건 있다.
    내가 플러터로 그림 그렸어 앱으로 던지면 바로 실행 되것지
    근데 카메라를 건드리고 싶어
     
    다트는 카메라를 못 건든다 JAVA언어가 아니니까 SDK를 못 만진다
    왜? 다트는 바로 기계어로 바뀌는데 기계어로 내가 직접 건드려야 하는데
     
    그래서 이렇게 한다
    플러터로 개발을 했어 이거를 다이랙트하게 센서 건드릴 수 없다 쉽게 건드리려면 java있어야 함
     
    만약 카메라가 있다면 얘 건드릴 수 있는 SDK가 필요하다
    SDK에 (camera 라는 라이브러리가 있다 하자) 플러터는 못 건드려서

    네이티브 건드리는 방법

    1. 자바언어로 카메라 건드릴 수 있는 것을 만든다
    1. 플러터가 자바를 때릴 수 있다 즉 통신할 수 있다 (네이티브코드와 통신)
    notion image
     
     
    내가 자바코드 모르면 못 만들잖아
    그래서 플러터에 라이브러리를 만들어 둔다
    이거를 다운 받으면 플러터에서 다운 받은 라이브러리 통신하면 알아서 SDK 연결해준다
    notion image
    즉 2가지가 있다
    1. 내가 자바로 만들어서 통신하기
    1. 남이 만든 라이브러리 쓰기
    문제는 라이브러리 커스터마이징 할 수 있을까? 못함 남이 만든거니까
     
    결국은 내가 만들어야 한다
    근데 앵간하면 라이브러리만 써도 충분하다 95%는 되는데 5%가 안될 수 있다.
     
    그럼 우리가 다운 받은 플러터 윈도우는 뭘까?
    용도는 뭘까?
    그림그리는 도구 , 라이브러리, 네이티브로 변환하는 것 3개가 들어가있겠지
     
    플러터, 빈, 케시, 다트가 있다
     
    이것만드로 못 만드니까 안드로이드 스튜디오 만듬
     
     
     
    Share article
    Contents
    1. 안드로이드 스튜디오 다운로드3. 안드로이드 스튜디오 설정설정(반드시 해야함)2. 플러터 다운환경 변수 설정1. 먼저 플러터 다운 받은거 압축 풀고 툴에 넣어주기2. 경로 잘 설치됐나 확인이론 설명V1V2V3V4이후

    code-sudal

    RSS·Powered by Inblog