맨위로가기

다트 (프로그래밍 언어)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Dart는 2011년 구글이 개발한 객체 지향 프로그래밍 언어이다. 웹 개발을 위해 시작되었으나, JavaScript로의 컴파일 방식에서 네이티브 컴파일을 지원하는 방향으로 전환되었다. 2018년 Dart 2.0에서 타입 시스템이 강화되었고, 2023년 Dart 3.0에서는 사운드 널 안전성이 도입되었다. Dart는 웹, 독립 실행형, 네이티브 환경에서 사용 가능하며, 특히 플러터(Flutter) 프레임워크를 통해 모바일 앱 개발에 널리 활용된다.

더 읽어볼만한 페이지

  • 2011년 개발된 프로그래밍 언어 - 코틀린 (프로그래밍 언어)
    코틀린은 젯브레인즈에서 개발한 정적 타입 언어로, 자바 가상 머신에서 동작하며 자바와의 호환성을 갖고, 안드로이드 공식 지원 언어로 채택되어 다양한 분야에서 활용되고 있으며, 이름은 러시아의 코틀린 섬에서 유래되었다.
  • 2013년 개발된 프로그래밍 언어 - 퓨어스크립트
    퓨어스크립트는 2013년 필 프리먼이 설계한 함수형 프로그래밍 언어이며, 하스켈과 유사한 타입 시스템을 갖추고 자바스크립트 등으로 컴파일되며 엄격한 평가, 불변 자료 구조, 타입 추론을 특징으로 한다.
  • 2013년 개발된 프로그래밍 언어 - F*
    F*는 2007년 프랑스 국립 전산 및 자동화 연구소에서 설계되었고 마이크로소프트 연구소의 지원을 받아 개발된 종속 타입과 정적 타입 시스템을 갖춘 함수형 프로그래밍 언어로서, 코드 정확성 검증을 통해 안전하고 신뢰할 수 있는 소프트웨어 개발에 기여하며 오픈 소스 프로젝트로 운영되어 보안 커널 및 블록체인 기술 검증 등에 활용된다.
  • 자바스크립트 프로그래밍 언어 계열 - 타입스크립트
    타입스크립트는 마이크로소프트에서 개발한 자바스크립트의 상위 집합으로, 정적 타입 지정, 타입 추론 등의 기능을 제공하여 코드의 안정성과 가독성을 높이는 언어이다.
  • 자바스크립트 프로그래밍 언어 계열 - 커피스크립트
    커피스크립트는 자바스크립트 작성을 간소화하기 위해 고안된, 간결하고 표현력이 풍부한 문법을 가진 프로그래밍 언어로서, 자바스크립트로 컴파일되며, 셀프 호스팅 컴파일러, 소스 맵, 문학적 프로그래밍을 지원한다.
다트 (프로그래밍 언어) - [IT 관련 정보]에 관한 문서
개요
이름다트
종류프로그래밍 언어
로고
설명사용자 인터페이스 구축에 최적화된 프로그래밍 언어
웹사이트다트 공식 웹사이트
개발 및 출시
패러다임다중 패러다임: 함수형 프로그래밍, 명령형 프로그래밍, 객체 지향 프로그래밍, 반사 프로그래밍
출시일2011년 10월 10일
설계자라스 박, 카스퍼 룬드
개발자구글
최신 버전''
최신 버전 출시일'}}'
최신 프리뷰 출시일2021년 12월 14일
언어 특징
형 체계1.x 버전: 선택적 타입
2.x 버전: 형 추론 (정적 타이핑, 강한 타이핑)
구현체다트 VM
dart2native
dart2js
DDC
플러터
영향을 받은 언어C
C++
C#
얼랭
자바
자바스크립트
루비
스몰토크
스트롱토크
타입스크립트
플랫폼크로스 플랫폼
운영 체제크로스 플랫폼
라이선스BSD
파일 확장자.dart
기타
중요 개념컬렉션 확장을 위한 스프레드 연산자
각 플랫폼에 맞는 UI를 사용자 정의하는 컬렉션 if
특징사용자 인터페이스 구축에 최적화됨
참고 자료
추가 정보다트 배우기
다트 언어 둘러보기
다트 타입 시스템

2. 역사

다트자바스크립트의 문제점을 해결하고, 더 우수한 성능과 대규모 프로젝트에 적합하며, 보안이 더 우수한 언어로 설계되었다.[89][88]

구글 엔지니어들은 "Brightly"라는 클라우드용 통합 개발 환경을 개발하고 있었는데, 이것이 최초의 다트 언어 애플리케이션이 될 것으로 예상되었다. 구글은 다트를 지원하지 않는 웹 브라우저를 위해 다트 언어로 작성된 프로그램을 ECMAScript 3으로 변환하는 크로스 컴파일러와 Google Closure Tools 코드를 다트 언어로 변환하는 도구를 제공한다고 발표했다.[90] 또한, 다트 가상 머신을 크롬 브라우저에 통합할 것이라고 밝혔고, 다른 브라우저들도 이에 따르기를 기대했다. 가상 머신과 크로스 컴파일러는 2011년 말까지 이용 가능할 예정이었다.[89]

하지만 다트의 보급은 확대되지 않았고, 2015년에는 가상 머신의 크롬 통합을 포기했다. 2017년에는 다트가 구글에서 중요한 언어임을 인정하면서도, 경쟁 언어인 TypeScript가 구글 사내 표준 프로그래밍 언어로 승인되었다는 사실이 발표되었다.[91]

2018년 2월에는 다트 2가 발표되었다.[92] 다트 2.6부터 네이티브 코드로 컴파일할 수 있는 dart2native가 개발되었고, 강력한 형식 시스템 등 언어 기능이 강화되었다. 2023년 5월에는 다트 3가 발표되었으며,[93] 기본적으로 null 값을 허용하지 않는 메커니즘(Sound null safety)이 도입되었다.

2. 1. 개발 초기

다트는 2011년 10월 10일부터 12일까지 덴마크 오르후스에서 열린 GOTO 컨퍼런스에서 공개되었다.[10] 이 프로젝트는 라르스 박과 카스퍼 룬드가 시작했다.[11] 다트 1.0은 2013년 11월 14일에 출시되었다.[12]

다트는 처음에 엇갈린 반응을 얻었다. 일부에서는 크롬에 다트 VM을 포함하려는 계획 때문에 웹이 분열될 수 있다는 비판을 받았다. 이러한 계획은 2015년 다트 1.9 출시와 함께 중단되었고, 다트 코드를 JavaScript로 컴파일하는 데 집중하게 되었다.[13]

2. 2. Dart 2와 발전

2018년 8월, 타입 시스템을 포함한 언어 변경 사항과 함께 Dart 2.0이 출시되었다.[14] Dart 2.6 버전에는 `dart2native`라는 새로운 확장 기능이 도입되어 리눅스, macOS, 윈도우 데스크톱 플랫폼으로의 네이티브 컴파일이 가능해졌다.[15] 이전에는 개발자가 안드로이드 또는 iOS 기기에서만 새로운 도구를 만들 수 있었으나, 이 확장 기능으로 Dart SDK 설치 없이도 실행 가능한 독립 실행형 파일을 배포할 수 있게 되었다.[16] 플러터 툴킷은 Dart를 통합하여 백엔드 지원과 같은 작은 서비스에서 컴파일할 수 있도록 한다.[17][18]

2. 3. Dart 3와 최신 동향

Dart 3.0은 2023년 5월에 출시되었으며, 타입 시스템에 사운드 널 안전성(sound null safety)을 도입하여 런타임에서 발생할 수 있는 널 참조 오류를 컴파일 타임에 방지한다.[19] 이 출시에는 레코드, 패턴,[20] 클래스 수정자와 같은 새로운 기능도 포함되었다.[21]

Dart는 3.4 버전부터 WebAssembly로 컴파일할 수 있게 되었다.[22] 2024년 5월부터 WebAssembly로의 컴파일을 지원하여, 웹 브라우저에서 더 빠른 성능을 제공한다.

3. 특징

다트(Dart)는 웹, 모바일, 서버 등 다양한 플랫폼에서 활용 가능한 프로그래밍 언어이다. 특히 웹 개발에서 다트는 자바스크립트(JavaScript)로 컴파일되어 실행되는 특징을 가지고 있다.

다트는 2024년 5월부터 WebAssembly로의 컴파일을 지원하여 웹 앱을 더욱 효율적으로 배포할 수 있게 되었다.[33] 다트 코드는 소스-투-소스 컴파일러를 통해 자바스크립트로 변환되는데, 이 과정에서 최적화가 이루어져 일반적인 자바스크립트 코드보다 더 빠르게 실행될 수 있다.[33]

다트-투-자바스크립트 컴파일러는 여러 번의 발전을 거쳤다.

컴파일러설명
`dartc`최초의 컴파일러였으나 Dart 2.0에서 더 이상 사용되지 않는다.
`frog`[34] Dart로 작성되었으며 2013년에 도입되었으나 2020년에 더 이상 사용되지 않는다. Very Good Ventures의 Dart Frog[35]와는 다르다.
`dart2js`Dart 2.0에서 도입되었으며,[36] 전체 Dart 언어 사양과 의미 체계를 구현하는 것을 목표로 한다. 프로덕션 빌드에 사용되며, 축소된 JavaScript로 컴파일된다.
`dartdevc`[37] 개발 빌드에 사용되며, 사람이 읽을 수 있는 JavaScript로 컴파일된다.



2013년 3월 28일, 다트 팀은 `dart2js` 컴파일러로 컴파일된 다트 코드가 Chrome의 V8 JavaScript 엔진에서 직접 작성한 JavaScript보다 더 빠르게 실행된다는 연구 결과를 발표했다.[38][39]

Dart 2.18 이전에는 `dart2js`와 `dartdevc`를 명령줄에서 직접 호출할 수 있었으나, Dart 2.18부터는 Dart SDK에 통합되었다. `webdev serve` 명령어는 `dartdevc` 컴파일러를, `webdev build` 명령어는 `dart2js` 컴파일러를 호출한다.

다트 코드는 다음과 같은 네 가지 방법으로 실행할 수 있다.


  • 웹: 다트는 주요 웹 브라우저에서 실행될 수 있도록 자바스크립트로 컴파일된다.[94] JavaScript로 컴파일된 Dart 코드는 모든 주요 브라우저와 호환된다.[95]
  • 독립 실행: Dart SDK에는 독립 실행형 Dart VM이 포함되어 있어, CLI 환경에서 Dart 코드를 실행할 수 있다.
  • 사전 컴파일: Dart 코드는 기계어(네이티브 명령어 세트)로 컴파일할 수 있다. 플러터로 구축된 앱은 AOT 컴파일된 Dart 코드로 앱 스토어에 배포된다.[97]
  • 네이티브: Dart 2.6에서는 `dart2native` 컴파일러를 사용하여 독립 실행형 네이티브 실행 코드로 컴파일할 수 있다.[98]


다트는 개발 단계와 최종 배포 단계에서 각각 다른 컴파일러를 사용한다. 개발 단계에서는 빠른 새로고침을 위해 `dartdevc`를 사용하고, 최종 버전에서는 배포 가능한 JavaScript를 생성하는 `dart2js`를 사용한다.[105]

3. 1. 문법 및 기능

다트는 ALGOL 계열 언어이다.[75] C, Java, C#, JavaScript 등이 이 계열에 포함된다.

메서드 캐스케이드 구문은 Smalltalk에서 차용되었다.[76] 이 구문은 동일한 객체에 여러 메서드를 연속적으로 호출하기 위한 단축키를 제공한다.

다트의 믹스인은 Strongtalk[77][78] 및 루비의 영향을 받았다.

다트는 애플리케이션을 구성할 때 동시성 및 보안 단위로서 isolate를 사용한다.[79] Isolate 개념은 얼랭에 구현된 액터 모델을 기반으로 한다.[80]

동시성을 구현하기 위해 다트는 메모리를 공유하지 않고 메시지 전달을 사용하는 격리된 독립적인 작업자들을 사용하며,[46] 이는 얼랭 프로세스와 유사하다(액터 모델 참조). 모든 다트 프로그램은 최소 하나의 격리된 작업 영역(isolate)을 사용하며, 이는 메인 격리된 작업 영역(isolate)이다. 다트 2부터 다트 웹 플랫폼은 더 이상 격리된 작업 영역(isolate)을 지원하지 않으며, 대신 웹 워커를 사용할 것을 제안한다.[47][99][100]

3. 2. 널 안전성 (Null Safety)

Dart 2.12부터 Dart는 안전한 널 안전성을 도입했다.[48] 이는 변수가 명시적으로 허용되지 않는 한 null 값을 반환할 수 없다는 보장을 제공한다. 널 안전성은 개발자가 널 포인터 예외(흔하지만 디버깅하기 어려운 오류)를 발생시키는 것을 방지한다. Dart 3.0부터는 모든 코드가 안전한 널 안전성을 따라야 한다.

4. 활용

다트(Dart)는 다양한 방식으로 활용된다.


  • 웹 개발: 다트는 `dart2js` 컴파일러를 통해 자바스크립트로 컴파일되어 주요 웹 브라우저에서 실행될 수 있다. 컴파일된 코드는 최적화를 통해 직접 작성한 자바스크립트 코드보다 더 빠르게 실행될 수도 있다.[95]
  • 독립 실행: 다트 SDK에는 독립 실행형 다트 VM이 포함되어 있어, 명령줄 인터페이스 환경에서 다트 코드를 실행할 수 있다.
  • 사전 컴파일(AOT): 다트 코드는 기계어로 AOT 컴파일될 수 있다. 플러터로 구축된 모바일 앱은 AOT 컴파일된 다트 코드로 앱 스토어에 배포된다.[97]
  • 네이티브: 다트 2.6부터 `dart2native` 컴파일러를 사용하여 독립 실행형 네이티브 실행 코드로 컴파일할 수 있다.


2011년 11월 18일 구글은 ''Dart Editor''를 출시했지만,[50] 2015년 4월 18일 지원을 중단했다.[52] 현재는 https://dartpad.dev DartPad라는 온라인 에디터와 다트 개발 도구(Dart DevTools)를 제공하며,[65][66] 안드로이드 스튜디오, IntelliJ IDEA 등 다양한 통합 개발 환경(IDE)에서 다트 플러그인을 지원한다.[53]

플러터는 구글이 제공하는 오픈 소스 멀티 플랫폼 앱 UI 프레임워크로 다트 언어를 기반으로 한다.[67]

4. 1. 배포 방식

종속성다트 VM
필요 여부컴파일
속도실행
속도자바스크립트웹 브라우저아니오아니오느림빠름웹어셈블리[22][32]브라우저아니오아니오느림빠름독립 실행형 실행 파일macOS, Windows, Linux예아니오느림빠름런타임 전 컴파일 모듈macOS, Windows, Linux예아니오느림빠름런타임 중 컴파일 모듈macOS, Windows, Linux예예빠름느림이식 가능 모듈macOS, Windows, Linux아니오예빠름느림

4. 2. 개발 도구

2011년 11월 18일, 구글은 이클립스 구성 요소를 기반으로 한 오픈소스 프로그램인 ''Dart Editor''를 macOS, Windows, 리눅스 기반 운영 체제용으로 출시했다.[50] 이 에디터는 구문 강조, 코드 완성, 자바스크립트 컴파일, 웹 및 서버 Dart 애플리케이션 실행, 디버깅을 지원했다. 2015년 4월 18일 구글은 JetBrains의 통합 개발 환경(IDE)를 채택하면서 Dart Editor 지원을 중단했다.[52]

2015년 초, 다트 팀은 다트를 더 쉽게 사용할 수 있도록 https://dartpad.dev DartPad를 만들었다. 이 온라인 에디터를 통해 개발자는 다트 응용 프로그램 인터페이스(API)를 실험하고 다트 코드를 실행할 수 있다. 구문 강조 표시, 코드 분석, 코드 완성, 설명서 및 HTML과 CSS 편집 기능을 제공한다.[65]

다트로 작성된 다트 개발 도구(Dart DevTools)에는 디버깅 및 성능 도구가 포함되어 있다.[66]

Dart SDK에는 독립 실행형 Dart VM이 포함되어 있어, CLI 환경에서 Dart 코드를 실행할 수 있다. Dart SDK에 포함된 언어 도구는 대부분 다트 자체로 작성되었기 때문에, 독립 실행형 Dart VM은 SDK의 중요한 부분이다. 이러한 도구에는 dart2js 컴파일러와 pub이라는 패키지 매니저가 포함된다.[96]

안드로이드 스튜디오, IntelliJ IDEA, PyCharm, PhpStorm 및 WebStorm은 다트 플러그인을 지원한다.[53] 이 플러그인은 구문 강조, 코드 완성, 분석, 리팩토링, 디버깅 등 여러 기능을 지원한다. 다른 에디터들도 다트 플러그인을 제공하는데, Sublime Text,[55] Atom,[56] Emacs,[57] Vim[58] 및 Visual Studio Code[59]가 포함된다.

4. 3. 플러터 (Flutter)

플러터는 구글이 네이티브 앱 개발을 위해 도입한 오픈 소스 멀티 플랫폼 앱 UI 프레임워크로, Dart, C, C++, Skia를 사용하여 제작되었다.[67] 플러터는 프레임워크, 위젯, 도구를 제공하여 개발자가 모바일, 데스크톱 및 웹 앱을 구축하고 배포할 수 있도록 돕는다.[70]

플러터 2.0 이전에는 개발자들이 안드로이드, iOS, 웹만을 대상으로 할 수 있었다. 플러터 2.0은 macOS, Linux, Windows에 대한 지원을 베타 기능으로 출시했고,[67] 플러터 2.10은 윈도우에 대한 정식 지원과 함께 출시되었으며,[68] 플러터 3은 모든 데스크톱 플랫폼에 대한 정식 지원을 출시했다.[69]

플러터는 파이어베이스와 연동되며,[71] pub.dev라는 패키지 저장소에서 패키지(애드온)를 찾아 프레임워크를 확장할 수 있다.[72] JetBrains 또한 플러터 플러그인을 지원한다.[73] 플러터는 모바일 앱 프레임워크, 위젯, 툴을 모두 포함한 SDK이며, 개발자는 Dart로 작성된 모바일 앱을 빌드하고 배포할 수 있다.[103] 또한, Firebase 및 다른 모바일 앱 SDK와 연동이 가능하며, 오픈소스이다.[104]

5. 비판 및 논란

초기 다트는 구글 크롬(Chrome)에 Dart VM을 포함하려는 계획 때문에 웹을 분열시킨다는 비판을 받았다.[89] 하지만 이 계획은 2015년에 중단되었다.[91] 2017년에는 구글 내부에서 경쟁 언어인 TypeScript가 표준 프로그래밍 언어로 승인되었다는 발표가 있었다.[91]

6. 예제 코드

1부터 10까지 출력하는 간단한 for 루프 예제는 다음과 같다.[74]



void main() {

for (var i = 1; i <= 10; i++) {

print(i);

}

}


6. 1. Hello World

dart

void main() {

print('Hello, World!');

}

```

위 코드는 다트(Dart) 프로그래밍 언어의 가장 기본적인 Hello, World! 예제이다.[108]

6. 2. 피보나치 수 계산

n번째 피보나치 수를 계산하는 함수는 다음과 같다.[74]



void main() {

var i = 20;

print('fibonacci($i) = ${fibonacci(i)}');

}

/// n번째 피보나치 수를 계산합니다.

int fibonacci(int n) {

return n < 2 ? n : (fibonacci(n - 1) + fibonacci(n - 2));

}



다음은 피보나치 수를 계산하는 또 다른 함수의 예시이다.



int fib(int n) {

if (n <= 1) return n;

return fib(n - 1) + fib(n - 2);

}

main() {

print('fib(20) = ${fib(20)}');

}


6. 3. 클래스 예제

dart

// math 라이브러리를 임포트하여 sqrt 함수에 접근한다.

// `math`라는 이름으로 임포트하므로, 접근 시 `math.` 접두사를 사용해야 한다.

import 'dart:math' as math;

// Point 클래스를 생성한다.

class Point {

// final 변수는 할당된 후 변경할 수 없다.

// 두 개의 인스턴스 변수를 선언한다.

final num x, y;

// 인스턴스 변수를 설정하기 위한 생성자이다.

// 이 생성자는 두 개의 필수 매개변수를 갖는다.

Point(this.x, this.y);

// 초기화 목록이 있는 명명된 생성자이다.

Point.origin()

: x = 0,

y = 0;

// 메서드이다.

num distanceTo(Point other) {

var dx = x - other.x;

var dy = y - other.y;

return math.sqrt(dx * dx + dy * dy);

}

// "getter"의 예시이다.

// final 변수와 동일하게 작동하지만, 접근할 때마다 계산된다.

num get magnitude => math.sqrt(x * x + y * y);

// 연산자 오버로딩의 예

Point operator +(Point other) => Point(x + other.x, y + other.y);

// Dart 2+에서 Point와 같은 클래스를 인스턴스화할 때, new는 선택적인 단어이다.

}

// 모든 Dart 프로그램은 main()으로 시작한다.

void main() {

// point 객체를 인스턴스화한다.

var p1 = Point(10, 10);

print(p1.magnitude);

var p2 = Point.origin();

var distance = p1.distanceTo(p2);

print(distance);

}

참조

[1] 서적 Dart for Absolute Beginners https://books.google[...] Apress 2015-11-24
[2] 웹사이트 Dart: a language for structured web programming http://googlecode.bl[...] 2016-01-31
[3] 웹사이트 Dart SDK Tags https://github.com/d[...]
[4] 웹사이트 The Dart type system https://dart.dev/gui[...]
[5] Youtube Web Languages and VMs: Fast Code is Always in Fashion. (V8, Dart) - Google I/O 2013 https://www.youtube.[...] 2013-12-22
[6] 뉴스 The Dart Team Welcomes TypeScript https://news.dartlan[...] 2020-02-22
[7] 웹사이트 A Bit About Dart - Learn Dart: First Step to Flutter https://www.educativ[...] 2023-06-20
[8] 웹사이트 A Tour of the Dart Language https://dart.dev/gui[...] 2018-08-09
[9] 웹사이트 The Dart type system https://dart.dev/gui[...]
[10] opening keynote GOTO conference http://gotocon.com/a[...] 2011-10-10
[11] 웹사이트 What is Dart http://radar.oreilly[...] O'Reilly 2014-08-16
[12] 웹사이트 Dart 1.0: A stable SDK for structured web apps https://news.dartlan[...] 2018-08-08
[13] 뉴스 Dart News & Updates http://news.dartlang[...] 2019-09-10
[14] 웹사이트 Announcing Dart 2 Stable and the Dart Web Platform https://medium.com/d[...] 2018-08-08
[15] 웹사이트 Dart language evolution https://dart.dev/gui[...] 2023-06-20
[16] 웹사이트 Dart overview https://dart.dev/ove[...] 2023-05-12
[17] 웹사이트 Dart 2.5 brings native compilation to the desktop https://www.infoworl[...] 2019-11-28
[18] 웹사이트 Dart 2.6 released with dart2native https://sdtimes.com/[...] 2019-11-28
[19] 웹사이트 Dart language evolution https://dart.dev/gui[...] 2024-01-09
[20] 웹사이트 Patterns https://dart.dev/lan[...] 2023-05-12
[21] 웹사이트 Class modifiers https://dart.dev/lan[...]
[22] 웹사이트 Landing Flutter 3.22 and Dart 3.4 at Google I/O 2024 https://medium.com/f[...] 2024-05-14
[23] 웹사이트 Dart Programming Language Specification, 5th edition https://dart.dev/gui[...]
[24] 웹사이트 Dart Programming Language Specification, 6th edition draft https://spec.dart.de[...]
[25] 웹사이트 Dart language GitHub repository https://github.com/d[...]
[26] 웹사이트 TC52 - Dart http://www.ecma-inte[...] 2013-12-16
[27] 웹사이트 ECMA-408 https://www.ecma-int[...] 2023-05-12
[28] 뉴스 Dart News & Updates http://news.dartlang[...] 2019-09-10
[29] 뉴스 Dart News & Updates http://news.dartlang[...] 2019-09-10
[30] 웹사이트 Packages of publisher tools.dart.dev https://pub.dev/publ[...] 2023-05-12
[31] 웹사이트 An Introduction to the dart:io Library https://dart.dev/gui[...] 2013-07-21
[32] 웹사이트 Announcing Dart 3 https://medium.com/d[...] 2023-05-13
[33] 웹사이트 JavaScript as a compilation target: Making it fast http://www.dartlang.[...] Dartlang.org 2013-08-18
[34] 웹사이트 Towards a single Dart to JavaScript compiler https://news.dartlan[...] 2023-05-13
[35] 웹사이트 Dart Frog https://dartfrog.vgv[...] 2023-05-13
[36] 웹사이트 Announcing Dart 2 Stable and the Dart Web Platform https://medium.com/d[...] 2018-08-08
[37] 웹사이트 dartdevc: The Dart development compiler https://dart.dev/too[...]
[38] 웹사이트 Dart News & Updates: Why dart2js produces faster JavaScript code from Dart http://news.dartlang[...] 2013-03-28
[39] 웹사이트 Dart Performance https://web.archive.[...]
[40] 간행물 GC Proposal for WebAssembly https://github.com/W[...] WebAssembly 2023-05-12
[41] 웹사이트 WebAssembly Garbage Collection (WasmGC) now enabled by default in Chrome Blog https://developer.ch[...]
[42] 웹사이트 SpiderMonkey Newsletter (Firefox 110-111) https://spidermonkey[...] 2023-02-16
[43] 웹사이트 1788206 - OffscreenCanvas.transferToImageBitmap incurs a copy https://bugzilla.moz[...]
[44] 웹사이트 Safari Technology Preview 167 Release Notes https://docs.develop[...]
[45] 웹사이트 How does JIT and AOT work in Dart? https://onuoha.mediu[...] 2020-04-07
[46] 웹사이트 The Essence of Google Dart: Building Applications, Snapshots, Isolates https://www.infoq.co[...]
[47] 웹사이트 Dart2 Breaking Change: Removing web support for dart:mirrors and dart:isolate https://groups.googl[...] 2018-02-23
[48] 웹사이트 Announcing sound null safety https://medium.com/d[...] 2020-06-10
[49] 웹사이트 Concurrency in Dart https://dart.dev/lan[...]
[50] 웹사이트 Google Releases Dart Editor for Windows, Mac OS X, and Linux https://web.archive.[...]
[51] 웹사이트 Dart plugin for Eclipse is Ready for Preview https://news.dartlan[...] 2019-09-10
[52] 웹사이트 The present and future of editors and IDEs for Dart http://news.dartlang[...] 2015-04-30
[53] 웹사이트 JetBrains Plugin Repository : Dart http://plugins.intel[...]
[54] 웹사이트 Dart Tools https://dart.dev/too[...]
[55] 웹사이트 Dart - Packages - Package Control https://packagecontr[...]
[56] 웹사이트 dart - Dart plugin for Atom https://dart-atom.gi[...]
[57] 간행물 bradyt/dart-mode https://github.com/b[...] 2023-04-15
[58] 간행물 Dart Support for Vim https://github.com/d[...] Dart 2023-05-09
[59] 웹사이트 Dart - Visual Studio Marketplace https://marketplace.[...]
[60] 웹사이트 The chromium team is currently actively working https://plus.google.[...]
[61] 웹사이트 A Chrome app based development environment https://github.com/d[...] 2021-10-26
[62] 웹사이트 Spark, A Chrome App from Google is an IDE for Your Chromebook https://news.dartlan[...] 2013-11-22
[63] 웹사이트 Chrome Dev Editor: Announcements https://plus.google.[...]
[64] 웹사이트 Chrome Dev Editor is a developer tool for building apps on the Chrome platform: Chrome Apps and Web Apps, in JavaScript or Dart. (NO LONGER IN ACTIVE DEVELOPMENT) - googlearchive/chromedeveditor https://github.com/g[...] 2019-07-29
[65] 웹사이트 Announcing DartPad: A friction-free way to explore Dart code http://news.dartlang[...] 2015-05-06
[66] 간행물 Dart & Flutter DevTools https://github.com/f[...] Flutter 2023-05-12
[67] 웹사이트 What's New in Flutter 2.0 https://medium.com/f[...] 2021-03-03
[68] 웹사이트 Announcing Flutter for Windows https://medium.com/f[...] 2022-02-03
[69] 웹사이트 What's new in Flutter 3 https://medium.com/f[...] 2022-05-12
[70] 웹사이트 FAQ https://flutter.dev/[...]
[71] 웹사이트 Firebase https://flutter.dev/[...] 2021-08-29
[72] 웹사이트 Dart packages https://pub.dev/ 2023-05-12
[73] 웹사이트 Flutter - IntelliJ IDEs Plugin Marketplace https://plugins.jetb[...] 2023-05-13
[74] 웹사이트 Loops in Dart Fluter World Dart and Flutter Tutorials https://www.flutterw[...]
[75] 웹사이트 Algol Family http://c2.com/cgi/wi[...]
[76] 웹사이트 Method Cascades in Dart https://news.dartlan[...] 2023-05-13
[77] 논문 Extending the Smalltalk Language with Mixins http://ftp.linux62.o[...] OOPSLA 1996-09
[78] 웹사이트 Transcription of A Quick Tour of Dart by Gilad Bracha http://blog.sethladd[...] 2023-05-13
[79] 웹사이트 The Essence of Google Dart: Building Applications, Snapshots, Isolates http://www.infoq.com[...]
[80] 웹사이트 Fearless concurrency: how Clojure, Rust, Pony, Erlang and Dart let you achieve that. - Renato Athaydes https://sites.google[...] 2023-05-13
[81] 논문 Mirrors: design principles for meta-level facilities of object-oriented programming languages http://ftp.linux62.o[...] ACM 2014-02-15
[82] 웹사이트 Dart overview https://dart.dev/ove[...] 2021-04-06
[83] 웹사이트 Dart programming language https://dart.dev/ 2021-04-06
[84] 웹사이트 A Tour of the Dart Language https://dart.dev/gui[...] 2018-08-09
[85] 웹사이트 The Dart type system https://dart.dev/gui[...] 2021-08-29
[86] 웹사이트 http://gotocon.com/a[...]
[87] 웹사이트 Opening Keynote: Dart, a new programming language for structured web programming http://gotocon.com/a[...] GOTOカンファレンス オーフス 2011 2011-10-10
[88] 웹사이트 Future of Javascript https://gist.github.[...] 구글社内
[89] 웹사이트 Dash, Google's Alternative to JavaScript https://googlesystem[...] Google Operating System
[90] 웹사이트 Google Dart to “ultimately ... replace JavaScript” http://www.2ality.co[...]
[91] 웹사이트 TypeScriptが標準言語になっても、Dartのことは忘れてませんよとGoogle担当者がフォロー http://www.publickey[...] Publickey 2017-04-12
[92] 웹사이트 Googleが「Dart 2」発表、Dartを再起動。iOS/Android用ライブラリ「Flutter」と共にWebとモバイルのクライアント開発にフォーカス https://www.publicke[...] Publickey 2018-03-05
[93] 웹사이트 "Null"完全制御のプログラミング言語「Dart 3」がリリース https://news.mynavi.[...] 마이너비 2023-05-12
[94] FAQ Dart lang http://www.dartlang.[...]
[95] 웹사이트 JavaScript as a compilation target: Making it fast http://www.dartlang.[...] Dartlang.org 2013-08-18
[96] 웹사이트 An Introduction to the dart:io Library http://www.dartlang.[...] 2013-07-21
[97] 웹사이트 Flutter FAQ https://flutter.io/f[...] 2016-10-02
[98] 웹사이트 Announcing Dart 2.6 with dart2native: Compile Dart to self-contained, native executables https://medium.com/d[...] 2019-12-06
[99] 웹사이트 The Essence of Google Dart: Building Applications, Snapshots, Isolates https://www.infoq.co[...] 2021-08-29
[100] 웹사이트 Dart2 Breaking Change: Removing web support for dart:mirrors and dart:isolate https://groups.googl[...] 2018-02-23
[101] 웹사이트 The Essence of Google Dart: Building Applications, Snapshots, Isolates https://www.infoq.co[...] 2021-08-29
[102] 웹사이트 Flutter - Beautiful native apps in record time https://flutter.dev/
[103] 웹사이트 FAQ https://flutter.dev/[...] 2021-08-29
[104] 웹사이트 Firebase https://flutter.dev/[...] 2021-08-29
[105] 웹사이트 Deployment https://angulardart.[...]
[106] 웹사이트 Dart News & Updates: Why dart2js produces faster JavaScript code from Dart http://news.dartlang[...] 2013-07-21
[107] 웹사이트 Dart Performance http://www.dartlang.[...] 2013-07-21
[108] Github Another Hello World example hosted in Github https://gist.github.[...]
[109] 웹인용 Dart: a language for structured web programming http://googlecode.bl[...] 2016-01-31
[110] 웹인용 Dart SDK Tags https://github.com/d[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com