본문 바로가기
Flutter

[플러터 04] 플러터란 ?

by JINJINC 2025. 1. 2.
728x90
반응형

플러터(Flutter)란 무엇일까요?

Flutter는 구글에서 개발한 모바일 UI 프레임워크입니다. iOS와 Android뿐만 아니라 웹까지 하나의 코드로 모두 개발할 수 있는 강력한 도구입니다.

간단히 말해, 한 번의 코딩으로 여러 플랫폼에서 동작하는 앱을 만들 수 있다는 것입니다!

플러터의 핵심 목표는 무엇일까요?

Flutter는 각 플랫폼(iOS, Android)에서 자연스럽게 동작하는 고성능 앱을 만드는 것이 목표입니다.

예를 들어, iOS에서는 iOS답게, Android에서는 Android답게 작동합니다.

 

플러터로 개발할 수 있는 것들은?

  • Android 앱
  • iOS 앱
  • 웹 앱
  • 데스크탑 앱

UI란?

UI는 User Interface의 줄임말입니다.

쉽게 말해, 사용자가 앱을 보고, 만지고, 조작하는 모든 것입니다.

예시

  • 휴대폰 화면에서 터치하는 동작
  • 리모콘에서 버튼을 누르는 행동
  • 게임에서 캐릭터를 이동시키는 것 등

UI는 사용자가 앱과 소통하는 매개체입니다.

 

프레임워크란?

프레임워크는 Frame(틀) + Work(일)의 합성어입니다.

쉽게 말해, 어떤 일을 쉽게 할 수 있도록 도와주는 도구입니다.

예시

  • 레고 블록을 생각해보세요.
  • 블록을 조립하면 자동차나 집을 쉽게 만들 수 있죠!
  • Flutter는 레고처럼 앱을 쉽게 만들 수 있도록 다양한 블록(도구)을 제공합니다.

플러터는 하나의 코드로 다양한 플랫폼에서 고성능의 앱을 만들 수 있는 프레임워크입니다.

앱 개발을 빠르고 쉽게 하고 싶다면? Flutter가 정답입니다!

 

Flutter는 구글이 지원하는 무료 오픈소스 프레임워크입니다.

주요 특징

  • 고성능 네이티브 앱 개발 가능
  • Flutter는 코드를 네이티브 수준으로 컴파일하기 때문에, 성능이 매우 뛰어납니다. 즉, 앱이 빠르고 부드럽게 동작합니다.
  • 크로스 플랫폼 개발
  • 하나의 코드로 iOS와 Android 모두에서 동작하는 앱을 만들 수 있습니다.
  • 위젯 중심 개발
  • Flutter에서 모든 것은 위젯입니다. 위젯만 잘 이해하면 앱을 쉽게 개발할 수 있죠!

거의 모든 것은 위젯!

 

Flutter는 Dart 언어를 사용합니다.

만약 Kotlin, Swift, Java, 또는 Typescript를 사용해본 적이 있다면 Dart를 쉽게 배울 수 있습니다.

Dart로 작성한 코드는 네이티브 코드로 컴파일됩니다. 따라서 앱 성능이 우수하죠! 또한 Flutter는 핫 리로드(Hot Reload)라는 강력한 기능을 제공합니다.

  • 코드를 수정하고 저장만 하면 앱에서 즉시 변경 사항이 반영됩니다. 즉, 개발 속도가 매우 빨라집니다!

<aside> 💡

네이티브 코드란?

네이티브 코드는 기기의 운영 체제에서 직접 실행되는 코드를 말합니다. 즉, iOS에서는 Objective-C/Swift, Android에서는 Java/Kotlin으로 변환됩니다.

이 방식은 앱이 하드웨어와 직접 상호작용할 수 있도록 하여 빠르고 최적화된 성능을 제공합니다.

</aside>

Dart 언어의 특징

Dart는 UI 개발에 최적화된 프로그래밍 언어입니다.

Dart의 주요 특징

  • 쉽게 배울 수 있음: C#, Java, Javascript 등 기존 언어를 알면 쉽게 학습할 수 있습니다.
  • 정적 타입 언어: 타입을 명시할 수 있으며, 타입 추론도 지원합니다.
  • 비동기 지원: 단일 스레드에서 비동기 방식으로 동작합니다.
  • 동시성(Concurrency): 완벽하게 격리된 상태에서 동시성을 지원합니다. (Isolate)
  • 컬렉션 중심: 배열 대신 컬렉션을 사용합니다.
  • 스프레드 연산자 지원: 쉽게 리스트와 컬렉션을 조합할 수 있습니다.

플러터 대표적인 위젯

  • StatelessWidget – 상태가 없는 위젯
  • StatefulWidget – 상태를 가질 수 있는 위젯
  • AssetImage – 이미지를 불러오는 위젯
  • Text – 텍스트를 표시하는 위젯
  • Scrollable – 스크롤 가능한 위젯
  • Animatable – 애니메이션을 구현하는 위젯

지금 당장 앱을 만들어야 한다면

현재 팀 구성

  • 안드로이드 개발자 1명
  • 서버 개발자(백엔드) 1명
  • 디자이너 1명

👉 현재 인력으로 안드로이드 앱만 개발 가능합니다.

하지만 iOS 시장도 타겟하고 싶다면?

선택지

  1. iOS 시장을 포기한다.
  2. iOS 개발자를 고용한다.
    • 하지만 iOS 개발자는 구하기 어렵습니다.
    • 특히 지방에서는 더욱 힘들 수 있습니다.
  3. 크로스 플랫폼 개발자를 고용한다.
    • React Native, Xamarin, Flutter가 대표적인 크로스 플랫폼 기술입니다.
    • 이 중에서 Flutter는 가장 빠르고 강력한 도구로 꼽힙니다.

➡️ Flutter를 선택하면 iOS와 Android를 한 번에 개발할 수 있습니다!

728x90
반응형

'Flutter' 카테고리의 다른 글

[플러터 05] Dart언어의 기초1  (0) 2025.01.02
[플러터 03] 플러터 기초1  (0) 2025.01.02
[플러터 02] 설정하기  (0) 2025.01.02

댓글