Dart Basic syntax by NomadCorder
- 객체지향 언어(OOP)
- 구글에서 창시
- UI 만드는데 최적화
- 다양한 플랫폼: iOS, 안드로이드, Windows, Linux, Mac OS, 임베디드(IOT) 모두 가능
- Flutter 개발 용도
- just-in-time (JIT)
- 개발 중 코드 변경 시, 바로 결과 확인 가능, VM에서 동작하므로 조금 느림
- Ex) 버튼 하나 바꾸고, Compile 시 너무 비효율적 -> JIT: 코드 결과 바로 출력
- ahead-of-time (AOT)
-
개발 끝, 배포, 코드 -> 기계어 변환 과정, 앱을 빠르게 동작시켜 줌
-
즉, 개발 중: JIT 컴파일러 제공 + 디버깅 리소스 (VM 사용) -> 코드 결과 바로 확인 개발 후, 배포: AOT 컴파일러 사용 (VM 사용 X, 훨씬 빠름)
-
모바일 개발: 바로 Feedback 중요 (JIT) / 앱 배포: 속도 중요 (AOT)
- null 값 참조 안하는 것
- 프로그램을 안전하게 만들어줌
즉, Flutter가 Dart 선택한 이유 2가지
JIT/AOT 컴파일러 모두 존재 -> 모바일 개발에 최적의 언어 -> 빠른 피드백 / 최종 앱은 컴파일 후, 빠름 -> AOT: 어느 환경에서도 최적화 (iOS, 안드로이드, 웹, IOT 등)
타입 추론으로 타입 지정 Dart Style: var 키워드 사용 권장
재할당 불가능한 변수 생성 런타임중 생성 가능
어떤 타입 올지 모르는 변수