Dart 란
Dart는 모든 플랫폼에서 빠른 앱을 위한 클라이언트 최적화 언어입니다.
- UI 최적화용
사용자 인터페이스 생성 요구에 특화된 프로그래밍 언어로 개발합니다.
- 생산적인 개발
핫 리로드를 사용하여 실행 중인 앱에서 즉시 결과 확인 가능합니다.
- 모든 플랫폼에서 빠름
모바일, 데스크톱 및 백엔드용 ARM 및 x64 머신 코드로 컴파일합니다. 또는 웹용 JavaScript 로 컴파일합니다.
Why Dart
Dart 의 컴파일러 기술을 사용하면 다양한 방식으로 코드를 실행할 수 있습니다.
-
기본 플랫폼(Dart Native): 모바일 및 데스크톱 장치를 대상으로 하는 앱의 경우 Dart에는 JIT(Just-In-Time) 컴파일 기능이 있는 Dart VM과 기계 코드 생성을 위한 AOT(Ahead-of-Time) 컴파일러가 모두 포함되어 있습니다.
-
웹 플랫폼(Dart Web): 웹을 대상으로 하는 앱의 경우 Dart 는 개발 또는 프로덕션 목적으로 컴파일할 수 있습니다. 웹 컴파일러는 Dart를 JavaScript로 변환합니다.
또 다른 특징
- null safety 특성을 가집니다. c 또는 java 에서 null 참조하면 오류가 발생합니다.
- flutter, dart 둘 다 구글에서 개발한 것입니다. 즉 flutter의 성능 향상을 위해 dart를 최적화할 수 있습니다.
- flutter가 dart에 대해 뭔가 필요한 게 있으면, flutter를 위해 dart를 수정할 수 있습니다. react-native, django, flask 등 다른 프레임워크들은 사용하는 언어를 수정할 수 없다는 점이 다릅니다.
main 함수
main 함수는 모든 Dart 프로그램의 Entry point 입니다.
main 함수에서 쓴 코드가 호출됩니다. (만약 main 함수가 없다면 실행이 되지 않음)
dart는 자동으로 세미콜론을 붙여주지 않기 때문에 직접 붙여야 합니다. (일부러 세미콜론을 안 쓸 때가 있기 때문입니다.)
1 | void main() { |
Flutter
Flutter 프레임워크는 인기 있는 다중 플랫폼 UI 툴킷으로 Dart 플랫폼으로 구동되며 iOS, Android, macOS, Windows, Linux 및 웹에서 실행되는 UI 경험을 빌드하기 위한 도구 및 UI 라이브러리를 제공합니다.