Programming language/Dart

다트 프로그래밍 언어 Dart programming language

Think-About 2022. 5. 7. 00:20

다트 프로그래밍 언어 Dart programming language

Think about ~ Dart!

https://think-about.tistory.com/entry/%ED%94%8C%EB%9F%AC%ED%84%B0-What-is-Flutter

 

플러터 What is Flutter?

플러터 What is Flutter? Think about ~ Flutter! 요즘 Flutter 프레임워크를 주로 이용해서 모바일 앱 개발을 하고 있습니다. 기존에 자바나 코틀린으로 안드로이드 앱을 개발할 때와는 다른 경험을 많이

think-about.tistory.com

위 글을 통해 플러터가 무엇인지 소개해드렸습니다.

그렇다면 플러터에 사용되는 언어를 알아봐야겠죠?

그래서 이번 글은 플러터에 사용되는 언어, 다트에 대해 소개드리고자 합니다


다트 프로그래밍 언어란?

Dart logo

구글에서 어떤 플랫폼에서든 빠르게 앱을 개발하기 위해 발표한 클라이언트에 최적화된 언어입니다.

크로스 플랫폼 개발을 위한 가장 생산적인 프로그래밍 언어를 제공하는 것을 목표로 하고 있습니다.

또한, 다트 프로그래밍 언어는 오픈소스입니다.

 

다트 프로그래밍 언어 특징

1. Type Safe

변수의 값이 항상 그 변수의 정적 유형과 일치하는지 확인한다는 것을 의미하는데, 이를 사운드 타이핑이라고도 합니다. 쉽게 설명드리기 위해 C언어로 예를 들면 int a와 같이 변수의 타입을 꼭 적어주어야 하는데 다트에서는 필수가 아닙니다. var 키워드를 통해 변수의 타입을 정확하게 명시해주지 않아도 static 타입을 알아서 찾는다고 이해하시면 되겠습니다.

 

2. Null safety

값이 null 값이 될 수도 있다고 명시해주지 않는 한 null 값을 가질 수 없습니다.

다트는 정적 코드 분석을 통해 런타임에 null exception으로부터 프로그래머를 보호해줍니다.

 

3. 풍부한 라이브러리 및 API

  • 기본 제공 type, collection 및 기타 핵심 기능 (dart:core)
  • 대기열, 링크된 목록, 해시 맵 및 이진트리 등의 보다 풍부한 collection 타입들 (dart:collection)
  • JSON 및 UTF-8을 포함한 서로 다른 데이터 표현 간 변환을 위한 인코더 및 디코더 (dart:convert)
  • 수학적 상수 및 함수, 난수 생성(dart:math)
  • 웹이 아닌 응용 프로그램에 대한 파일, 소켓, HTTP 및 기타 I/O 지원 (dart:io)
  • Future, Stream과 같은 클래스를 사용하는 비동기 프로그래밍 지원 (dart:async)
  • 고정 크기 데이터(예: unsigned 8-byte integers) 및 SIMD 숫자 유형을 효율적으로 처리 (dart:typed_data)
  • C 스타일 인터페이스를 제공하는 다른 코드와의 상호 운용성을 위한 외부 기능 인터페이스(dart:ffi)
  • isolate를 사용한 동시 프로그래밍 (Synchronous Programming) (dart:isolate)
  • 브라우저 및 DOM(Document Object Model)과 상호 작용해야 하는 웹 기반 응용프로그램을 위한 HTML 요소 및 기타 리소스(Document Object Model) (dart:html)

위의 목록은 핵심 라이브러리이며 이들 외에도 많은 API가 제공됩니다.

 

4. 여러 플랫폼에서 구동 가능

Development & Production toolchain 기반의 Dart Native & Web으로

ARM32, ARM64, x86_64, web과 같은 여러 플랫폼에서 구동이 가능합니다.


지금까지 다트 프로그래밍 언어에 대해 알아보았습니다.

다트 프로그래밍 언어에 대해 직접 둘러보고 싶으신 분은 아래 링크에 접속해보시면 되겠습니다.

https://dart.dev/

 

Dart programming language

Dart is a client-optimized language for fast apps on any platform

dart.dev

 

앞으로 플러터를 활용한 앱 개발에 한 내용을 올릴 때 다트에 대한 내용도 함께 올려보도록 하겠습니다~!

지금까지 Think-about ~ Dart! 였습니다.

 

도움이 되셨다면 공감, 댓글, 구독 부탁드립니다.

'Programming language > Dart' 카테고리의 다른 글

다트 변수 Dart Variables  (0) 2022.06.27
DartPad - Dart getting started  (0) 2022.06.25