[Flutter] 플러터란? / 플러터 설치

맑은 눈의 코드 👀·2023년 10월 23일
0

앱 개발_Flutter

목록 보기
1/3
post-thumbnail

시작은 웹 개발이었는데 어쩌다..앱 개발도 공부하게 되어 버렸다...
놀랍다.. 끝 없는 코딩세계💻📱

🤔 플러터 [Flutter] 란?

플러터는 cross- platform프레임워크이다.
cross-platform 라는 말은, iOSAndroid 두개의 플랫폼에 사용할 앱을 하나의 코드베이스로 구축할 수 있음을 의미한다. 이런 특징은 규모적으로 스위프트, 코틀린 각각을 다루기 어려운 스타트업 개발에 있어서 큰 장점이고, 구글에서 많은 지원을 하고 있기 때문에 앞으로의 활용 범위도 넓어질 것이라고 한다👍

앱 뿐만 아니라 웹 페이지까지 플러터로 한 번에 구축할 수 있다고 했는데..!
웹은 아직 다가가지 않는 것이 정신 건강에 이롭다고 한다❕👀

따라서 플러터는 기본적으로 앱 개발을 위한 프레임워크!
고도의 모듈화된 위젯들을 이용해 widget tree를 쌓으며 User Interface를 코드로 구현하는 환경을 제공한다. 하나하나 구현 하는 것보다 쉽게 앱 개발이 가능하다는 장점이있다.

💭왜 Flutter를 사용하는가?

앱 개발 방법에 따라 네이티브 앱, 클로스 플랫폼 앱으로 나누어 진다.

📱네이티브 앱(Native App)

Android

  • 프로그래밍 언어 : java / Kotlin
  • 개발 툴 : Android Studio

iOS

  • 프로그래밍 언어 : Obiective-C / Swift
  • 개발 툴 : XCode

Android 는 Google에서 제공하는 Android SDK를 이용해 개발하는 방면
iOS는 Apple에서 제공하는 iOS(Software Development Kit)를 이용하여 개발 한다. 또한 macOS에서만 개발이 가능하다😮

따라서 네이티브 앱은, 하나의 Android 와 iOS를 각각의 개발 방법에 따라 개별로 두 번 만드는 단점이 있다!
그러나 성능이 빠르고 최신 기능을 빠르게 적용할 수 있다는 장법도 존재❕

📱크로스 플랫폼 앱(Cross Platform App)

💡 하나의 프로그래밍 언어와 소스코드로 Android와 iOS를 모두 개발하는 방법
💡네이티브 앱의 성능을 뛰어 넘을 수는 없지만!
하나의 언어로 두 플랫폼에서 모두 실행이 된다는 엄청만 장점이 있다~~

React Native

  • 프로그래밍 언어 : javaScript
  • 페이스북에서 출시한 오픈 소스 모바일 애플리케이션 프레임 워크

Flutter

  • 프로그래밍 언어 : Dart
  • 구글에서 출시한 오픈 소스 모바일 애플리케이션 프레임 워크

💭Flutter 이해하기

📍위젯 (레고와 같이 조립이 가능 하다)

💡Flutter는 모든 것이 위젯(Widget)으로 만들어져 있다❕
위젯(Widget) 은 레고 블럭과 같이 앱을 만든데 사용되는 작은 모듈*

위젯트리(Widget Tree) 레고들록 하나하나가 위젯들이고 블록이 겹쳐서 만들어진것이 하나의 앱!

메테리얼 위젯(Material Widget) - Android 기본화면 구성요소 재현 위젯
쿠퍼티노 위젯(Cupertino Widget) - iOS 기본화면 구성요소 재현 위젯
커스텀 위젯(Custom Widget) - 특정 플랫폼에 종속되지 않고 고유의 디자인

🤔 플러터 설치하기

진짜,,,플러터까지는 설치 쉬웠다,, Android Studio 설치가 빡세서 놀랬다..

🪄설치

  1. 플러터홈페이지 에서 플러터를 다운로드한다.

  2. 플러터를 실행하기 위해서는 플러터뿐이니라 Android Studio, Xcode, Chrome등 ... 추가적으로 필요한 게 많은데 flutter doctor를 이용해 확인할 수 있다.
    터미널 실행 > 플러터 디렉터리가 위치한 경로로 이동 flutter doctor입력 > 추가 사항 알려줌
  3. X표시된 부분에서 문제가 있음 열심히 구글링하기!

😮🫶Reference

Flutter개발환경 구축

https://aws.amazon.com/ko/what-is/flutter/

profile
나를 죽이지 못하는 오류는 내 코드를 더 강하게 만들지ㅋ

0개의 댓글