1. Flutter수업 -Dart란?

Dart
홍윤's avatar
Sep 26, 2024
1. Flutter수업 -Dart란?

1. Dart

💡
Dart는 구글(Google)에서 개발한 오픈 소스 프로그래밍 언어로, 주로 웹과 모바일 애플리케이션 개발에 사용됩니다. 특히 Flutter라는 UI 프레임워크와 함께 사용되어 크로스 플랫폼 애플리케이션(즉, 하나의 코드베이스로 안드로이드, iOS, 웹 등 여러 플랫폼에서 동작하는 앱)을 개발하는 데 널리 활용되고 있습니다. 아래에서 Dart의 주요 특징과 사용 사례에 대해 자세히 설명 드리겠습니다.
notion image
notion image

Dart의 주요 특징

  1. 객체 지향 언어:
      • Dart는 클래스 기반의 객체 지향 언어로, 상속, 믹스인(mixin), 인터페이스 등 객체 지향 프로그래밍(OOP)의 주요 개념을 지원합니다.
  1. 정적 타입과 동적 타입 지원:
      • Dart는 정적 타입 시스템을 제공하여 컴파일 시 타입 검사를 수행할 수 있으며, 필요에 따라 동적 타입도 사용할 수 있어 유연한 프로그래밍이 가능합니다.
  1. 빠른 컴파일 속도:
      • Dart는 JIT(Just-In-Time) 컴파일과 AOT(Ahead-Of-Time) 컴파일을 모두 지원하여 개발 과정에서의 빠른 피드백과 배포 시 최적화된 실행 속도를 제공합니다.
  1. 풍부한 표준 라이브러리:
      • Dart는 다양한 내장 라이브러리를 제공하여 네트워킹, 파일 입출력, 데이터 구조 등 다양한 기능을 손쉽게 구현할 수 있습니다.
  1. 비동기 프로그래밍 지원:
      • asyncawait 키워드를 사용하여 비동기 작업을 간편하게 처리할 수 있어, 네트워크 요청이나 파일 읽기와 같은 비동기 작업을 효율적으로 관리할 수 있습니다.

Dart의 주요 사용 사례

  1. Flutter와의 통합:
      • Dart는 Flutter의 기본 프로그래밍 언어로, 모바일 애플리케이션뿐만 아니라 웹과 데스크톱 애플리케이션 개발에도 사용됩니다. Flutter는 고성능의 네이티브 UI를 제공하여 다양한 플랫폼에서 일관된 사용자 경험을 제공합니다.
  1. 웹 애플리케이션 개발:
      • Dart는 웹 애플리케이션 개발을 위한 프레임워크인 AngularDart를 제공하며, JavaScript로 트랜스파일(transpile)되어 브라우저에서 실행될 수 있습니다.
  1. 서버 사이드 개발:
      • Dart는 서버 사이드 애플리케이션 개발에도 사용될 수 있으며, Aqueduct와 같은 서버 프레임워크를 통해 RESTful API나 웹 서버를 구축할 수 있습니다.

Dart의 장점

  • 생산성 향상: Flutter와의 통합으로 인해 단일 코드베이스로 여러 플랫폼에 배포할 수 있어 개발 시간이 절약됩니다.
  • 고성능: AOT 컴파일을 통해 네이티브 코드로 변환되어 실행 속도가 빠릅니다.
  • 풍부한 커뮤니티와 생태계: Dart와 Flutter는 활발한 커뮤니티와 방대한 패키지 생태계를 가지고 있어 필요한 기능을 쉽게 추가할 수 있습니다.
  • 안정성과 유지보수성: 정적 타입 시스템과 객체 지향 패러다임을 통해 코드의 안정성과 유지보수성을 높일 수 있습니다.

간단한 Dart 예제

아래는 Dart로 작성된 간단한 예제(ex01.dart) 입니다
//static > heap > stack class Aniaml { int id = 1; //final = readOnly static final String name = "동물"; } //static(정적) 메모리에 뜬다. //일급 객체 String name = "Hello World"; void speak() { // 메소드 (상태 변경할때) } void hello() { //static 에 떠있다. //메소드가 아니라 함수다 (기능을 가지는 친구), 상태는 가지고 있지 않다. //stack 에 뜬다. int num = 10; } // static(전역,정적) 메모리에 뜬다. // 메소드가 아니고 void main() main 함수이다. void main() { print(name); print(Aniaml.name); // 정적 변수 //int id 는 이제 뜬거다! Aniaml a = Aniaml(); print(a.id); }

결론

Dart는 현대 애플리케이션 개발에 필요한 다양한 기능과 높은 성능을 제공하는 강력한 프로그래밍 언어입니다. 특히 Flutter와의 결합을 통해 크로스 플랫폼 개발에서 큰 인기를 끌고 있으며, 웹과 서버 사이드 개발에서도 유용하게 활용될 수 있습니다. Dart를 배우고 활용함으로써 효율적이고 확장성 있는 애플리케이션을 개발할 수 있습니다.
 
Share article

Uni