Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

Dart 소개

Dart는 멀티 플랫폼위에서 작동하는 클라이언트 앱의 개발을 목적으로 만들어진 클라이언트 개발에 최적화된언어다. 구글이 개발한 언어이며 모바일, 데스크탑, 서버, 웹 애플리케이션을 만드느데 사용한다.

Dart는 객체지향, 클래스, 가비지 컬렉션을 지원하는 언어로 C 스타일 문법을 가지고 있다. Dart는 네이티브 코드(native code)와 Javascript로 컴파일 될 수 있다. 기타 interfaces, mixins, abstract classes, reified generics, type inference를 제공한다.

잊혀질 듯 했으나

2011년 10월 10일 덴마크 Aarhus에서 열린 GOTO 컨퍼런스에서 발표되었다. Dart 1.0은 2013년 11월 14일에 출시된다.

(많은 프로젝트들이 소리 소문 없이 사라지기는 했으나 그래도) Google에서 개발한 언어이고 chrome에 Dart VM을 포함하려는 등등의 시도로 왠지 괜찮을 것 같았으나 "잊혀진 언어"가 된다. 무려 2018년 배우면 안되는 언어 들 중 1위를 기록하는 업적을 이루었다. Overall Rankings, Community Engagement, Job Market, Growth and Trends 4개 영역 중 3개 영역에서 1위를 하는 등 다른 언어를 압도했다.

Javascript를 대체할 것 처럼해서 등장을 했지만, 이미 Javascript가 잘하고 있는 와중에 새로운 언어의 필요성을 느끼지 못했다. 애플, 모질라가 부정적인 입장을 내비친게 치명타였으며, 앞으로도 javascript를 대체하는 언어가 되지는 않을 것이다.

Flutter로 기사회생

관짝에 들어가서 못 박힌 신세로 잊혀질 것 같은 Dart 였으나 Flutter의 등장으로 기사회생 한다. Flutter는 구글이 만든 모바일 애플리케이션 SDK인데, iOS와 안드로이드를 모두 지원, 네이티브급의 성능과 UI를 제공 그리고 배우기 쉽다는 장점까지 알려지면서 빠르게 주목을 받기 시작했다. 2020년 현재 GitHub 스타 랭킹 18위를 기록 중이다. 이 Flutter가 Dart를 사용하고 있다.

Flutter이 인기를 끌면서 플랫폼인 Dart 언어의 장점도 덩달아 발굴되고 있다.
  • 유연하다.
  • 오픈소스다.
  • 배우기 쉽다.
  • 훌륭한 tool chain을 제공한다.
  • 견고하다.
  • 뛰어난 생산성
  • Flutter에서 이용한다. : 가장 큰 이유일 듯. 사실 여기에 나열된 장점도 Flutter 덕분에 사용자가 늘어나면서 발굴된 것들이다. 아무리 장점이 많아도 어필할 사용자가 있어야 하니까.
  • 구글의 지원을 받고 있다. : 구글의 지원을 받고도 망한 많은 프로젝트가 있는데, 일단 Dart는 (Flutter 덕분에) 이륙에 성공했다. 구글의 오픈소스 운영체제인 Fuchsia의 중요 플랫폼이 될거라고 한다. Fuchsia는 지금은 IoT영역에서 주로 사용 중인 것 같지만 2018년 화웨이와 구글이 자사의 스마트폰에 Fuchsia를 작동하는 테스트를 하고 있다는 소식도 나오고 있어서, 이래저래 미래는 밝을 것 같다.