hyeonwooga.log
로그인
hyeonwooga.log
로그인
Dart #1 | 다트를 선택하는 이유
HyeonWooGa
·
2023년 4월 24일
팔로우
0
dart
0
Dart
목록 보기
2/25
다트를 선택하는 이유
1. 다트는 UI에 최적화 되어있는 언어
2. 생산적인 개발 환경
3. 모든 플랫폼에서 컴파일이 빠르다
모든 플렛폼에서 컴파일이 빠른 이유
Dart 는 두 개의 컴파일러를 가지고 있다.
1. Dart Web
Dart 로 쓴 코드를 JavaScript 로 변환해주는 컴파일러
2. Dart Native
Dart 로 쓴 코드를 여러 CPU(ARM32, ARM62, x86_64) 의 아키텍쳐에 맞게 변환해줌
IOS, Android, Windows, Linux, Mac 용도로 전부 컴파일 가능
심지어 임베디드 소프트 웨어 용으로도 컴파일 가능
Dart Native 컴파일 방법 (중요)
1. Ahead-Of-Time (AOT)
컴파일을 먼저하고, 결과로 바이너리(CPU 가 이해할 수 있는 기계어)를 배포
각각의 아키텍쳐; IOS, Android, Window, Mac 등 따로따로 컴파일을 진행해야하기 때문에 시간이 오래 걸림
UI, 개발 모드 등에서 비효율적 (중간 중간 확인이 필요할때마다 처음부터 모든 코드를 다시 컴파일 해야되기 때문에)
2. Just-In-Time (JIT)
DartVM 을 이용해 우리가 쓴 코드의 결과를 바로 화면에 보여줌
가상머신에서 작동하기 떄문에 약간의 속도 저하
개발 중일때만 사용하는 것
결론
개발 중일때는 Dart VM(Virtual Machine) 을 통해서 즉시 피드백을 받고 (JIT)
개발이 끝난 후에는 각각의 CPU 의 바이너리로 변환시켜서 배포한다 (AOT)
JIT 과 AOT 를 위와 같이 사용하면
1) 개발 중의 편리성
2) 개발 후의 프로그램 성능
모두 취할 수 있게 된다 (Dart 의 장점)
Null Safety
- 안전한 프로그램을 빌드할 때 아주 중요하다
- Java 나 C++ 같은 객체지향형 언어들은 항상 null 값을 참조하면 모든 게 고장나는 문제가 있어왔다
- 하지만 Dart 는 Null Safety 를 도입해서 그게 프로그램을 안전하게 만들어준다
Flutter 가 Dart 를 선택한 이유
1. JIT 컴파일과 AOT 컴파일이 둘 다 있기 때문
모바일 개발에 장점이 있는 언어
빠른 피드백 + 좋은 성능
2. Dart 와 Flutter 둘 다 구글이 만들었기 때문
구글이 Flutter 를 위해서 Dart 언어를 수정 가능 (다른 프레임워크들은 불가능한 부분 예를 들어 React 팀이 React 를 위해 JavaScript 수정 불가능)
실제로, 과거 Dart 에는 AOT 툴체인이 없었지만 Dart 개발팀이 Flutter 개발팀을 위해서 만들어줌
HyeonWooGa
Aim for the TOP, Developer
팔로우
이전 포스트
Dart #0 | 다트란?
다음 포스트
Dart #2 | 개발환경 설정
0개의 댓글
댓글 작성
관련 채용 정보