brunch

You can make anything
by writing

C.S.Lewis

by 서준수 Feb 23. 2020

다트(Dart) 소개 및 개발 환경

다트 프로그래밍 언어?

다트(Dart)는 구글이 2011년 웹 프런트엔드 개발을 위해 만든 언어이다. 지금은 웹뿐만 아니라 데스크톱이나 모바일 앱까지 개발할 수 있다. 이러한 발전과 구글이라는 거대 기업이 만든 언어인데도 한때 배울 필요가 없는 언어로 여겨졌다.


https://www.codementor.io/blog/worst-languages-to-learn-3phycr98zk


그랬던 다트가 플러터의 인기에 힘입어 재조명되고 있다. 플러터에서 다트가 사용되기 때문이다.


다트 언어의 장점과 특징

인기 없는 다트를 단지 플러터를 사용하기 위해서 어쩔 수 없이 배워야 하는 걸까? 꼭 그렇지만은 않다. 오히려 다트의 특징 덕에 플러터가 빛나는 부분도 있다.


일단 다트는 객체 지향이면서 C언어와 유사한 문법을 가지고 있다. 따라서 기존에 프로그래밍을 해 본 사람들은 쉽게 배울 수 있다. 또한 실행 중인 앱에 즉시 결과를 보여주는 hot reload를 사용해서 개발 생산성을 높일 수 있다. 그리고 AOT 컴파일로 네이티브 코드를 생성하기 때문에 모든 플랫폼에서 빠른 속도를 제공한다. 이러한 장점에 플러터까지 더해진 것이다.


또한 다트는 다음과 같은 특징을 가진다.


1. 객체 지향

2. 선택적 타입(optional type)

3. 메모리를 공유하는 thread 대신 독립 메모리를 갖는 isolate를 사용

4. 자바스크립트와 호환



다트 프로그래밍 개발 환경

여느 프로그래밍 언어와 마찬가지로 다트 프로그래밍을 위해서는 개발 환경을 설정해야 한다. 다트 자체가 여러 가지 개발용으로 사용 가능하기 때문에 목적에 맞는 환경 구축을 해야 한다. 여기서는 플러터를 사용한 모바일 앱 개발을 위한 다트 학습목적이다. 그래서 환경설정에 대한 선택지는 3가지 정도 있다.


1. Dartpad

다트 패드(Dartpad)는 공식적으로 제공되는 웹 에디터이다. 코드를 저장할 수 없기 때문에 실제 개발용으로 사용하기는 무리다. 하지만 간단한 로직 테스트로는 훌륭하다. 별도로 설치할 파일도 없고 환경을 설정할 필요도 없이 바로 사용 가능하기 때문이다. 또한 웹 기반이라 브라우저가 동작하는 환경이면 어디서든 사용할 수 있다는 것도 장점이다.


https://dartpad.dev/


2. 안드로이드 스튜디오

플러터로 모바일 앱 개발을 위한 개발 환경을 구축했다면 이미 안드로이드 스튜디오와 플러터 SDK가 설치되어 있을 것이다. (참고 : 플러터 개발 환경 구축)


이 상태라면 곧바로 다트 프로그래밍이 가능하다. 단 플러터 프로젝트로 생성한 상태라 불편한 점이 하나 있다. 바로 AVD를 실행하거나 디바이스를 연결한 상태에서 가능하다는 점이다.


AVD 또는 디바이스 연결 없이 바로 실행 가능한 방법도 있다. 프로젝트 생성 후에 lib > New > Dart File로 새로운 다트 파일을 만드는 것이다. 이때 생성된 파일은 아래 그림의 상단 녹색 박스에서 보듯이 다트 파일 아이콘으로 표시된다. (위 그림을 보면 플러터 프로젝트를 처음 생성하면서 만든 파일은 플러터 아이콘으로 보인다.)

hello_dart.dart라는 파일을 하나 추가해서 빌드해보면 AVD 또는 디바이스 연결 없이도 실행되며 콘솔 창에 결과가 나온다.


3. 인텔리제이(IntelliJ IDEA)

인텔리제이를 사용하는 방법도 있다. 이때는 프로젝트 생성 직후에도 별도로 AVD나 디바이스 연결이 필요 없다. 대신 개발 환경을 다시 구축해야 한다. 그래서 자주 귀찮기 싫고 한 번 귀찮고 말고 싶다면 이 방법을 추천한다.


다트 패드가 당장 쓰기엔 가장 편리하겠지만 파일을 저장할 수 없기 때문에 학습한 내용을 저장하고 관리하기 불편하기 때문에 여기서는 인텔리제이를 통해서 다트 프로그래밍 학습을 할 것이다.


코드는 다트 패드이건 안드로이드 스튜디오 건 간에 동일하게 동작할 것이기 때문에 환경은 어떤 것을 사용해도 무방하다.


인텔리제이 다트 개발 환경 구축

안드로이드 스튜디오가 인텔리제이 기반이기 때문에 두 IDE는 아주 비슷하다. 따라서 기존 안드로이드 스튜디오 사용자라면 아주 쉽게 적응할 수 있다.


인텔리제이는 하기 사이트에서 Community 버전을 받아서 설치하면 된다.

https://www.jetbrains.com/ko-kr/idea/download/#section=windows


만약 플러터를 위한 환경 설정을 진행하지 않았다면 별도로 다트 SDK를 설치해야 한다. 하지만 플러터 SDK를 설치했다면 해당 SDK에 다트 SDK도 포함되어 있기 때문에 별도로 다트 SDK를 설치할 필요가 없다. 따라서 다음과 같이 진행하도록 한다.


1. 인텔리제이에 다트 플러그인 설치

2. 플러터 SDK 내부의 다트 SDK 사용

3. 인텔리제이에 다트 SDK 경로 설정


1) 인텔리제이에 다트 플러그인 설치

플러터 플러그인 설치와 동일하다. 먼저 인텔리제이를 처음 실행한 후 아래 화면과 같이 Configure > Plugins를 선택한다.


그 후 Dart라고 검색하설치한다. (아래 화면은 이미 설치되어 있어서 Uninstall 버튼이 보이는 것이다.)


2) 플러터 SDK 내부의 다트 SDK 사용

플러터 SDK에서 다트 SDK는 bin 폴더 아래 cache 폴더 내부에 있다.


예시) D:\flutter\bin\cache\dart-sdk



3) 인텔리제이에 다트 SDK 경로 설정

인텔리제이에 다트 플러그인을 설치하면 새 프로젝트 생성 시 아래와 같이 Dart를 선택할 수 있는 메뉴가 생긴다. 해당 메뉴 선택 후 SDK 경로를 설정해주고 Console Application을 선택한다.



그 후에 프로젝트명을 정하고 Finish를 선택한다.



그러면 Hello world 예제가 자동으로 만들어진다. 이때 곧바로 실행하면 에러가 뜨는데 아래와 같이 Checked mode를 해제해주면 된다.



다시 실행하면 정상적으로 실행되고 결과는 다음과 같다.


Hello world: 42!


main.dart는 bin아래에 있고 프로젝트 생성 시 입력했던 파일명인 dartEx01.dart는 lib 아래에 있다. 42라는 숫자가 나온 이유는 calculate() 함수가 dartEx01.dart에 있는데 해당 함수를 보면 6*7을 리턴해주고 있기 때문이다.



이것으로 환경 설정이 끝났다. (플러터를 제대로 시작하기도 전에 환경 설정에만 한참이었다.)



(참고) 만약 플러터 SDK를 설치하지 않고 인텔리제이를 통해 다트 언어부터 공부한다면 다트 SDK는 아래 사이트에서 받을 수 있다.


https://dart.dev/get-dart


윈도우10 기준으로 SDK 설치 방법은 두 가지인데 Chocolatey라는 윈도우 패키지 매니저를 이용하거나 인스톨러 파일을 받아서 설치하는 것이다. Chocolatey는 별도의 설치가 필요하기 때문에 인스톨러를 통한 설치 방법으로 진행했다. 인스톨러는 하기 사이트에서 받을 수 있다.


https://gekorm.com/dart-windows/


설치는 그냥 쭉쭉 Next를 누르면 된다. 하지만 아래 화면에서 SDK 설치경로는 어딘지 확인해야 한다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari