프로그래밍 언어인 Dart에 대해 알아보자.
프로그래밍 언어는 인간이 자연스럽게 사용하는 자연어와 기계가 처리할 수 있는 기계어 사이에서 명령어 전달을 돕는다. Dart가 그러한 프로그래밍 언어 중에 하나이다.
프로그래밍 언어는 주로 아래와 같은 구성요소를 갖는다.
변수
함수
라이브러리
제어구조
연산자
데이터 타입
문법
(미션) 위에 적힌 프로그래밍 구성요소들이 무엇인지 설명하시오
(답을 여기)
Flutter는 Dart 언어의 UI 프레임워크입니다.
Flutter와 Dart는 구글에서 모두 만들어졌습니다.
Flutter는 Dart 언어로 멀티플랫폼 앱의 UI를 구현하도록 하는 패키지
와 유용한 함수
들을 가진 모음입니다.
(미션) 플러터의 홈페이지에서 소개하는 플러터 프레임워크의 특장점들을 정리해보세요.
Flutter 설치하고 환경설정해보자.
Flutter SDK
를 설치합니다.개발
하고 테스트
하고 빌드
하는 CLI 및 소프트웨어도 설치합니다.
Android 앱 배포
iOS 앱 배포
(macOS에서만 사용가능)가상 디바이스를 사용하여 앱의 동작을 살펴봅니다.
Android emulator
를 실행할 수 있습니다.iOS simulator
를 설치하고 실행할 수 있습니다.Dart 기초에 대해 알아보자.
Dart의 특징
Hybrid Compile은 Dart 코드를 다른 프로그래밍 언어로 변환하여 실행할 수 있는 기술을 말합니다. 상황에 따라 Javascript로 변환되어 웹 브라우저에서 실행될 수도 있고, Flutter를 활용하여 Dart 코드를 네이티브 코드로 변환하여 모바일 앱에서 실행될 수도 있습니다.
JIT: 컴퓨터가 코드를 사용할 때에 컴파일한다. 개발할 때 가상머신과 사용되며, 코드가 변경될 때, 컴파일된다.
AOT: 실행되기 직전에 기계어로 번역되어 바이너리가 다 할당된다. 실행되면 바로 처리하면 된다.
Dart 클래스에 대해 이해해보자.
클래스를 선언
합니다.클래스 맴버
인 property와 method가 선언됩니다.클래스 생성자
를 선언합니다.작업을 동시에 수행할 수 있는 Dart의 동시성
Dart는 하나의 작업을 순차적으로 처리하는 동기성(Syncronous)을 지원합니다.
그리고 동시에 여러 작업을 진행할 수 있는 비동기성(Asyncronous)을 지원합니다.
비동기성은 의존성을 다루고 가독성을 높이는데 어려움이 있습니다.
비동기 작업이 끝나면 Future에 값이나 오류가 하나 반환된다.
Stream 키워드는 실습하지 않았지만, 일정 기간에 걸쳐 여러 비동기 이벤트를 처리합니다. 여러 개의 값, 오류를 반환하거나 종료할 수 있습니다.
Null safety에 대해 알아보자.
(종합퀴즈) 아래의 Calculator 클래스 완성하기
class Calculator {
const Calculator();
void add(int first, int second) {
print(first + second);
}
void subtract(int first, int second) {
print(first - second);
}
void multi(int first, int second) {
print(first * second);
}
void divide(int first, int second) {
print(first / second);
}
}
void main() {
Calculator calculator = Calculator();
calculator.add(3, 3);
calculator.subtract(5, 1);
calculator.multi(3, 3);
calculator.divide(20, 4);
}