1. Why Dart
Dart는 2개의 compiler를 가지고 있다.
- Dart web : dart -> JavaScript
- Dart Native : dart -> mulriple different CPU(ARM32, ARM64..)
Dart가 compile되는 방식
- JIT (just in time) : dart VM 사용. 작성한 코드를 가상머신을 사용해서 바로 화면에 보여줌. (개발중일때만 JIT적용, 가상머신을 사용해서 조금 느림)
- AOT (ahead of time) : 아키텍쳐를 지정하면 바이너리(기계어)를 제공. (ex C언어로 짠코드 컴파일 -> [C + window바이너리] -> window에서 코드 사용가능)
null safety 적용
- null값을 참조하면 모든것이 망가지는것을 방지할 수 있는 안전한 방법.
flutter는 왜 Dart를 선택했을까?
1. JIT & AOT 둘 다 있기 때문
- 모바일 개발에 아주 좋은 언어 (빠른 피드백 + 최종 앱은 컴파일돼서 빠름)
2. fluuter & Dart 모두 구글이 만들었다.
- flutter를 위해 Dart를 최적화&수정 할 수 있다. 두 팀이 상호작용하며 업데이트가 된다. (react를 빠르게 하려고 JS를 수정할 수는 없다.)
2. main function
main 함수는 모든 Dart 프로그램의 Entry point이다.
매우 중요하다
- 반드시 main 함수를 작성해야 하고,
- 작성할 대부분의 모든 코드는 main 함수에 들어있어야 한다.(class, type 등 제외)
- Dart에서 세미콜론( ; )은 매우 중요하다.
- js처럼 세미콜론이 자동생성이 되지 않기 때문에 신경써줘야한다.