DEVELOP
[Dart] 노마드코더 <Dart 시작하기> - 1. Introduction
필맆
2024. 8. 16. 15:00
시작 배경
2023년 9월, DAB경진대회 본선에 진출해 계속해서 '저메추' 프로젝트를 진행하고 있던 중, 최종 발표 시간에 우리가 기획한 서비스의 프로토타입을 시연하고 싶다는 생각을 하게 되었다.
데이터 분석을 위한 코딩 말고 개발이라고는 해본 적이 없던 중, Flutter이라는 크로스플랫폼 프레임워크를 알게 되었고, Flutter를 이용해 우리가 기획한 UI를 실현해보기로 결심하였다. 사실 시연까지는 할 필요가 없었기에 내 개인의 욕심으로 개발까지 시작한 김에 끝까지 혼자 책임지고자 공부를 시작했고 결국 성공적으로 웹의 배포까지 진행하여 최종발표 때 서비스 시연을 수행할 수 있었다.
그 시작에 있어 우선 Flutter를 구성하는 Dart라는 언어에 대해 공부했던 내용을 정리하고자 한다.
노마드 코더의 <Dart 시작하기> 강의를 수강하며 공부한 내용을 정리한 글입니다. 수업 중 사용한 코드들과 Dart언어에 관한 기본적인 개념과 그에 대한 이해를 정리하였습니다. 이후 Flutter 사용을 위한 기초를 닦는 경험이 되었습니다.
Dart 란?
- 객체 지향 프로그래밍 프레임워크
- 함수형이 아닌 다중 패러다임 프로그래밍 언어
Dart의 장점
- UI 최적화
- 생산적 개발환경
- 모든 플랫폼에서 fast
Two Compiler
1) Dart Web
dart로 쓴 코드를 javascript로 변환해주는 컴파일러
2) Dart Native
쓴 dart 코드를 여러 CPU의 아키텍쳐에 맞게 변환해주는 컴파일러
ex. IOS, Android, Windows, Linux, …
- JIT(just-in time) → fast feedback
dartVM을 이용해 코드의 결과를 미리 보여줌(개발 중 사용) - 가상머신 - AOT(ahead-of-time) → fast final applications compiled
컴파일 한 뒤, 그 결과인 바이너리를 배포 → CPU가 이해할 수 있는 기계어 (개발 후 배포 시 사용) - 실제 기계어
Why did Flutter choose Dart?
- null safety 도입
- JIT & AOT → 모바일 개발에 최적
- dart & flutter 둘다 구글이 만듦 → 상호 수정 가능
How to Learn
- dartpad.dev 사용해 코드 실행 가능
- VSCode에서 main.dart 파일 생성