Dart
특징
- 이쁜 UI 만들 때 쓰려고 만든 프로그래밍 언어
- 현대적인 디자인으로 개발되어 다른 프로그래밍 언어를 알고 있다는 가정 하에 배우기가 쉬움
-
// Dart
void whats_your_tier(String rank, int num) {
print("Your tier is ${rank.toUpperCase()} ${num.toString().padLeft(2, '0')}!");
}
void main() { whats_your_tier("Silver", 4); }
-
# Python
def whats_your_tier(rank: str, num: int) -> None:
print(f"Your tier is {rank.upper()} {num:0>2}!")
whats_your_tier("Silver", 4)
-
// TypeScript
function whats_your_tier(rank: string, num: number): void {
console.log(`Your tier is ${rank.toUpperCase()} ${num.toString().padStart(2, '0')}!`);
}
whats_your_tier("Silver", 4);
-
// C#
static void whats_your_tier(string rank, int num) {
Console.WriteLine($"Your tier is {rank.ToUpper()} {num:00}!");
}
static void Main(string[] args) { whats_your_tier("Silver", 4); }
-
// Swift
func whats_your_tier(rank: String, num: Int) {
print("Your tier is \(rank.uppercased()) \(String(format: "%02d", num))!")
}
whats_your_tier(rank: "Silver", num: 4)
- JIT(Just-in-Time) 컴파일링
- 개발하면서 뭐 하나하나 고칠 때마다 다시 컴파일하는 것 방지
- 개발 시 속도를 살짝 포기하는 대신 Dart Virtual Machine을 이용해서 바로바로 변경사항이 어떻게
- AOT(Ahead-of-Time) 컴파일링
- 앱으로 만들면 빠름
- 실제 모바일 앱을 만들 때 온갖 아키텍쳐에 맞는 native app으로 컴파일 가능함
- Flutter와 구글의 힘 (=적폐)
- Dart에 뭐가 없는데 Flutter 팀이 필요하면 Dart 팀한테 가서 만들어 달라고 함
- DartPad.dev에서 별도의 설치과정 없이 웹에서 실험으로 코딩 가능
- (+DartPad.dev에서 Flutter도 실행 가능!)
내 Dart & Flutter 실습 코드