velog에 적었던 글들을 차근차근 tistory로 옮길 예정입니다.
[Dart] Dart 시작하기 (1)
졸업 프로젝트 주제를 정하고 workframe으로 flutter를 하게 되었다. 하지만 dart언어를 공부해본 적이 없기 때문에 노마드코더의 'Dart 시작하기'를 듣게 되었다.
velog.io

졸업 프로젝트 주제를 정하고 workframe으로 flutter를 사용하기로 했다. 하지만 dart언어를 공부해본 적이 없기 때문에 간단하게 공부를 하게 되었다.
노마드 코더의 'Dart 시작하기'를 듣고 공부하였다.
( 현재는 완성 완료 ⬇️ )
GitHub - yourwriting/yourwriting-front: 사용자 손글씨 폰트 생성 노트 애플리케이션
사용자 손글씨 폰트 생성 노트 애플리케이션. Contribute to yourwriting/yourwriting-front development by creating an account on GitHub.
github.com
Dart 컴파일 방식
JIT(just-in-time)
dart VM을 이용, 쓴 코드의 결과 바로 보여줌, 개발 중에만 사용
AOT(ahead-of-time)
코딩 다 하고 아키텍쳐를 지정 해줘야함 → 컴파일을 먼저하고 그 결과인 바이너리 배포
VARIABLES
dynamic
변수를 선언할 때 관습적으로 메소드 내부에 지역 변수를 선언할 때에는 var를 사용하고 class에서 변수나 property를 선언할 때에는 타입을 지정해 준다. var name; 이라고만 선언할 경우 변수의 타입이 dynamic이 된다. dynamic name; 이라고 선언해도 같다. 정말 필요할 때만 사용!
null safety
개발자가 null값을 참조할 수 없게 해서 프로그램을 더 안전하게 해준다. 어떤 변수, 혹은 데이터가 null이 될 수 있음을 명시한다. 타입 뒤에 ‘?’를 붙여서 표시하면 그 값이 null도 되고 그 타입도 될 수 있도록 할 수 있다.
if ( x != null ) {
x.isNotEmpty
}
// 동일한 의미
x?.isNotEmpty
final
‘final 변수명’으로 작성하면 변수명을 변경할 수 없도록 할 수 있다. ⇒ const 기능과 동일하다.
late
‘late 변수명’은 var, final 등 앞에서 사용하는데 변수의 초기값 없이 변수를 선언할 수 있게 해준다. late를 이용하면 api로 받아오기 전에 미리 선언해놓고 이후에 변수 내용을 받을 수 있다.
const
‘const’는 final과 비슷하지만 가장 중요한 건, compile-time에 알고 있는 값이어야 한다. api로부터 받아올 것이라면 값을 모르기 때문에 const가 아닌 final을 사용해야 한다.
DATA TYPES
List
List 는 var 변수명 = [ ] 혹은 List 변수명 = [ ] 둘 다 가능하다. list의 장점은 collection if와 collection for을 사용할 수 있다는 것이다. 뒤에 ;을 붙이면 저절로 포매팅 된다.
collection if
collection if는 조건이 맞으면 list 내부에 원하는 리스트 멤버를 추가할 수 있다.
ex)
var list = [
if(newMem) 1,
];
string interpolation
text에 변수를 추가하는 방법이다. react랑 비슷한데, 단순히 변수만 추가할거라면 $변수명, 계산까지 하려면 ${변수명 + 계산}으로 적어주면 된다.
collection for
collection for는 리스트 내부에서 원하는 멤버를 추가할 때 for문을 사용해서 그 멤버에게 뭔가 추가할 수 있다.
ex)
var oldFriend = [’1’, ‘2’]
var newFriend = [
‘3’,
for(var friend in oldFriend) “! $friend’,
];
Map
자료형을 명시적으로 특정해서 정의해줄 수 있다. var로 적으면 컴파일러가 알아서 예측해준다. map보다 class 추천.
Set
요소가 항상 하나씩만 있어야 되면 list말고 set을 사용하면 된다. 중괄호로 작성.