본문 바로가기
IT오류잡기/유익한 IT

[Flutter] 플러터 시작하기 - 기본 1 이론편 (블로그로 Dart 끝내기)

by 고집프로그래머 2024. 3. 6.
반응형

ㅡ[Flutter 공부 필기] -

 

같이 공부하기. 

 

안녕하세요. 고집블로거입니다.

 

Flutter가 워낙 인기가 많아지고 있어서 , 플러터 독학을 해보려고 합니다.

 

독학하면서 개발자가 보는 시점의 Key포인트만 정리해서, 초보자도 쉽게 배울 수 있도록 글을 쓰려합니다.

 

Flutter 게시글이지만 Dart언어가 필수이기 때문에 Dart에 대해 간단히 정리한 기본 1탄입니다.

 

Dart는 구글에서 만든 언어로 굉장히 빠르다는 걸 사람들이 강조합니다.

 

이유는 여러 가지가 있는데 아래 특징을 살펴봅시다.


  1. 객체 지향 프로그래밍: Dart는 클래스와 객체 지향 프로그래밍 개념을 지원하여 코드의 재사용성과 구조화를 높입니다.
  2. 단일 상속: Dart는 단일 상속을 지원하며, 다중 상속의 복잡성을 피할 수 있도록 설계되었습니다.
  3. 타입 시스템: Dart는 강력한 정적 타입 시스템을 갖추고 있어 코드의 안정성을 높이고 오류를 사전에 방지할 수 있습니다. 하지만 타입 추론을 통해 타입을 명시하지 않아도 되는 경우도 있습니다.
  4. 비동기 프로그래밍: Dart는 비동기적 작업을 처리하기 위한 Future 및 Stream과 같은 내장 라이브러리를 제공하여 비동기 코드를 효율적으로 작성할 수 있습니다.
  5. Flutter 지원: Dart는 특히 Flutter 프레임워크에서 사용되며, Flutter를 통해 iOS 및 Android 애플리케이션을 개발할 때 주로 사용됩니다.

Dart의 대표적인 특징 : 2개의 컴파일러가 존재

  • Dart web : dart -> javascript로 변환
  • Dart native: dart -> 여러 CPU의 아키텍처에 맞게 변환 / 거의 모든 것에 사용 가능

JTL / AOT란?

 

Dart로 개발된 코드는 Just-in-Time(JIT) 컴파일러와 Ahead-of-Time(AOT) 컴파일러를 사용하여 실행될 수 있습니다. JIT 컴파일러는 개발 중인 도중에 코드를 빠르게 테스트하고 디버깅하는 데 유용하며, AOT 컴파일러는 애플리케이션을 빌드할 때 더 빠른 성능을 제공합니다.

  • JTL : just-in-time : 개발하는 중에는 가상머신이 제공. 하지만 배포할 때는 AOT를 사용. 
  • AOT : ahead-of-time : C, C++, Go에서 사용, 코드를 다하고 컴파일할 때 아키텍처를 지정해 주어야 함. 작업한 언어 -> 적용할 시스템 바이너리로 컴파일한 후 바이너리를 제공. 즉, 컴파일을 먼저 하고 그 결과인 바이너리를 배포 (전체를 컴파일해야 함)
  • 결론 : 개발할 때 JTL을 사용하여 컴파일을 굉장히 빨리하면서 바로바로 결과물을 확인할 수 있고 , AOT컴파일 방법으로 여러 CPU에 맞게 바이너리를 통하여 배포가 가능하다!!

 

Null Safety란?

  • null값을 참조할 수 없도록 하는 것, 보통 대부분의 경우 null관련 exception에러를 던져버리는데 Dart에서는 이를 방지해 주는 기능이 굉장히 큰 특징 중 하나입니다.
  • 예시 ) 

참고 :https://nomadcoders.co/dart-for-beginners/lectures/4096

 

위 코드처럼  isEmpty함수에서 변수 string이 null일 경우, null.length가 작동하지 않기 때문에 null point exception 같은 컴파일 에러가 발생하는데, Dart에서는 이렇게 사용하여도 null safety 때문에 컴파일이 가능합니다.


자세한 내용은 아래 참고해 주시면 될 거 같습니다 

아래 페이지에서 중요한 부분들만 정리하였습니다

 

https://dart.dev/overview

 

Dart overview

A short introduction to Dart.

dart.dev


Dart 사용 방법 

vscode와 같은 편집툴을 사용하여도 되지만 , 간단한 테스트는 아래 사이트로 연습이 가능합니다.

 

https://dartpad.dev/

 

DartPad

 

dartpad.dev

 

해당 링크로 이동 시 이런 페이지가 뜹니다.

 

여기서 바로 코드를 작성하면, 컴파일도 바로 되어서 오른쪽 창에서 확인이 가능합니다.

 

저는 간단한 문법들 연습할 때 해당 사이트로 사용해서 테스트해보았습니다.

 

여기까지 Dart의 핵심 포인트들을 정리하였고, 자세한 내용은 유튜브 혹은 사이트를 참고해 주시면 됩니다.

 

유튜브 강의 내용에서 중요한 부분들만 추려서 정리하였는데 혹시 틀리거나 정보가 추가되었으면 하는 부분은 댓글 부탁드립니다 :) 

 

감사합니다.

728x90
반응형