Dart(다트)란
구글이 JavaScript를 대체하기 위해 개발한 웹프로그래밍 언어이다.
모바일 앱, 웹 앱, 명령어 스크립트, 서버 프로그래밍 등 어떤 것이든 다트를 사용해 만들 수 있다.
웹앱이 아닌 네이티브 코드로 안드로이드나 iOS용 앱을 동시에 기발 할 수 있다.
java랑 유사한 문법으로 몇가지 특징만 숙지하면 쉽게 개발 할 수 있다.
1.모든 것들이 전부 Object로 취급한다.
- Variable안에 넣을 수 있는 것은 전부 Object
- Function, number, null 전부 Object로 취급
- 변수에 넣을 수 있는 모든 것은 객체이며, 모든 객체는 클래스의 인스턴스로 취급
Dart의 주요 기능
💡 두 가지 컴파일 방법 지원 (JIT + AOT) 💡 핫 리로드-> 빠른 개발 가능 💡 초당 60 프레임의 훌륭한 애니메이션 💡 선제적 스케줄링, 타임 슬라이싱 및 공유 리소스 💡 Lock 없이 객체 할당 가비지 수집 가능 💡 선언적인 방식의 레이아웃 |
두 가지 컴파일 방법 지원 (JIT + AOT)
Dart는 JIT와 AOT컴파일러를 둘 다 사용한다.
⏱JIT(Just-In-Time) 컴파일러는 프로그램 실행 중에 즉시 컴파일이 가능하다
✔ 빠른 개발 주기로 개발이 가능하다
✔ 실행 속도가 느려집니다.(프로그램 실행이 시작될 때 코드를 실행하기 전에 분석 및 컴파일을 수행해야 하기 때문에...)
⏲AOT(Ahead-of-time) 컴파일러는 프로그램 작성 중(런타임 이전에) 컴파일을 실행한다.
✔ 개발 중에 AOT컴파일을 수행하면 개발 주기가 느려진다. (프로그램을 변경 후 실행하여 결과를 봐야 해서)
✔ 런타임에 분석 및 컴파일을 위해 일시 중지하지 않고, 보다 예측 가능하게 실행할 수 있는 프로그램을 만든다.
✔ 실행 속도가 더 빠르다.
Dart는 이 두 가지 컴파일러를 모두 사용하는 데 적합한 적은 언어 중에 하나이다.
개발 중에는 JIT 컴파일러를 사용하여 빠른 개발을
출시할 때는 AOT로 컴파일한다.
결과적으로 Dart는 매우 빠른 개발 주기와 빠른 실행 및 시작 시간이라는 두 가지 이점을 모두 제공할 수 있다
핫 리로드
Flutter의 가장 인기 있는 기능 중 하나는 바로 Hot Reload이다.
Flutter는 개발 중에는 JIT 컴파일러를 사용하여 일반적으로 1초 안에 코드를 다시 로드하고 계속 실행할 수 있다
앱 상태는 가능할 때마다 Reload를 통해 유지되므로 앱이 중단된 시점부터 계속할 수 있다
이 핫 리로드 기능은 앱 개발의 생산성을 2배 이상 향상 지켜줄 것이라 모바일 개발자들은 입을 모아 이야기합니다🙆♂️
문자열안에서 연산하는 법 (자바와 다트의 차이)
void main() {
print('1+1 = ${1 + 1}');
print('2 + 2 = ${2 + 2}');
print('3 + 3 = ${3 + 3}');
print('100 ~/ 2 = ${100 ~/ 2}');
print('3 * 3 = ${3 * 3}');
print('4 / 4 = ${4 / 4}');
}
'개발일지 > Dart' 카테고리의 다른 글
const와 final의 차이 (0) | 2022.11.06 |
---|---|
Dart에서 형 변환 하기 (0) | 2022.11.04 |
var 와 dynamic (0) | 2022.11.04 |
명시적 타입, 타입추론, 데이터 타입 확인 (0) | 2022.11.04 |
연산(산술, 부호, 논리) (0) | 2022.11.04 |
댓글