TIL: Flutter | Dart (1) 다트의 특징 - 221211

Lumpen·2022년 12월 10일
0

Dart

목록 보기
1/20

Dart

자바스크립트를 대체하려다 실패한 다트는
가장 쓸모없는 언어로 여겨졌지만
플러터가 잘되면서 재조명되고 있다

단순히 플러터 덕으로 다트가 쓰인다기 보다는
플러터가 다트라는 언어를 사용하기 때문에 좋은점이 있다

다트는 객체지향이면서 C언어와 유사한 문법을 사용한다
또한 실행중인 앱에 즉시 결과를 보여주는 hot reload를 사용할 수 있다
다트는 AOT 컴파일로 네이티브 코드를 생성하기 때문에
모든 플랫폼에서 빠른 속도를 제공한다

다트의 특징

  1. 객체지향
  2. 선택적 타입
  3. 메모리를 공유하는 thread 대신 독립 메모리를 갖는 isolate를 사용
  4. 자바스크립트와 호환

개발 환경

다트는 다중 플랫폼 개발을 위한 언어로
목적에 맞는 환경 구축이 필요하다
나는 플러터로 모바일 앱을 개발할 예정

다트는 .dart 확장자를 가진 파일을 사용한다

문법

import 문으로 패키지 내의 라이브러리 모듈을 불러올 수 있다


add(int a, int b) {
	return a + b;
}

main() {
	var result = add(1, 2);
    print(result);
}

다트는 앱 실행을 하는 최상위 함수인 main 함수를 사용한다

변수

다트의 변수 선언은 var 키워드를 사용한다
특정 타입을 지정하지 않은 변수에 사용
해당 변수가 참조하는 타입에 따라서 타입이 결정된다
다트의 모든 변수는 객체(object)기 때문에 변수에도 할당이 아닌 참조라는 표현을 사용한다

모든 객체는 Object 클래스를 상속 받는다
타입 어노테이션은 타입 추론이 가능할 경우 사용하지 않아도 된다

타입

타입이 예상되지 않을 경우 dynamic 키워드를 사용한다
어노테이션이 아닌 var를 사용하더라도 한 번 결정된 변수의 타입은 변하지 않는다

dynamic 이라는 키워드를 사용하여 변수를 생성하면
생성된 변수는 동적으로 타입을 사용할 수 있다

dynamic a = 1
a = '1'

위와 같이 동적으로 타입을 사용하는데 이게 맞나 싶다..

제네릭 타입도 지원한다

public, protexted, private 키워드가 없다
private 는 식별자 앞에 언더바(_)를 붙여 사용함으로써 구현 가능하다

debug 모드와 release 모드 두 가지의 런타임 모드가 있다
디버그 모드는 좀 더 쉬운 디버깅을 제공하고 릴리즈 모드는 dart2js 컴파일러르 통해
앱 사이즈와 성능을 최적화 한다

문자열

문자열은 큰 따옴표, 작은 따옴표 모두 사용 가능하고
자바스크립트의 템플릿 리터럴 처럼 사용하는 문법도 있는데
백틱(`)을 사용하지 않고 작은 따옴표를 사용한다

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글