블로그 내 검색

2012. 1. 12.

Dart Language 맛보기

웹 클라이언트 사이드의 독보적인 언어는 역시나 자바스크립트일 것이다.
최근 웹이 부각되면서 더욱 각광받는 언어이기도 하다.
구글에서도 다수의 서비스를 자바스크립트로 멋지게 구현해냈었고 지금도 구현중(일 것이다)이다.

그런데 뜬금없이 구글은 자바스크립트가 지금 해 내고 있는 일을 할 수 있는 웹 클라이언트 언어를 한창 개발중이라고 발표했다. (사실 발표한지는 좀 됐다.)

그 이름은

Dart

아직 한창 개발중이며 다트 그룹스에서는 수많은 개발자들이 개발에 참여하여 피드백을 보내고 있다.

다트 공식 페이지는 이곳.(http://www.dartlang.org)

개발 방향은
  • 보다 유연한 웹 구조적 프로그래밍 언어
  • 친근한 문법으로 쉽게 익힐 수 있는 언어
  • 빠른 실행과 높은 성능을 내는 언어
  • 다양한 디바이스(모바일, 태블릿, 노트북, 심지어는 서버)까지 아우르는 언어
  • 모든 현대적 브라우저에서 빠른 실행을 제공
이라고 한다.
이것만 보면 정말 꿈의 언어지만, 실제는 나와봐야 알 수 있겠다.

아직 개발중이라 직접 브라우저에서 사용할 수는 없고 별도의 컴파일 과정을 거쳐 자바스크립트 파일로 변환해야 한다.

자바스크립트 변환은 다트 에디터에서 가능하다.

다트 에디터는  다트 에디터만을 위해 기능이 제한된 이클립스 기반 프로그램으로 자바 버전 7이 설치되어 있어야 구동할 수 있다.

공식 페이지에서 다운로드 받을 수 있으며 간단하게 설치 가능하다.


에디터에서 실제 코딩하면 자바스크립트 파일이 컴파일되어 나온다.

생성된 자바스크립트 파일은 기본 다트 프레임워크 자바스크립트 코드 + 사용자가 코딩한 내용을 프레임워크에 맞춰 변환된 자바스크립트 코드가 합쳐져 있는데, 아무래도 자바스크립트 결과물은 기본 프레임워크 코드덕분에 아무리 다트 코드를 짧게 한다고 해도 일정량의 크기는 가질 수 밖에 없나보다.

이런 컴파일 방식 말고도 공식 사이트에서는 다트의 사용 방법은 현재 총 4가지를 제안하고 있다

1. 다트 문법으로 개발한 뒤 그것을 컴파일하여 자바스크립트 파일 생성
2. 공식 사이트의 다트보드
3. (미구현) 다트 VM을 사용자 컴퓨터에 설치하고 바로 사용
4. (미구현) 새로운 마임타입으로 사용

2번 방식은 링크를 타고 들어가면 샌드박스 안에서 다트 프로그래밍을 해 볼 수 있다.
4번은 제일 친숙한 방식으로 자바스크립트가 스크립트 태그에 타입을 "text/javascript" 라고 선언하듯이 처럼 새로운 마임타입인 "application/dart" 으로 실행하는 것이다.
그러나 아직 미구현이다.

문법을 조금 살펴보면 클래스 기반 객체지향 언어이다.
Class, Inteface가 있으며 현재 트렌드에 맞게 타입과 언타입 둘다 지원하고 있다.
그리고 공용 다양한 라이브러리를 제공하며 개발자가 직접 라이브러리를 만들 수도 있다.

직접 타이핑한 다트의 예제 코드이다.

interface Animal {
    bool isAlive();
}

class People implements Animal {
    final  num age;

    // 생성자 단축 문법. 바로 멤버변수에 인자를 할당한다.
    People(num this.age);

    bool isAlive() {
        return this.age < 100;
    }

    // 함수 반환 단축 문법. 해당 변수를 바로 반환.
    num getAge() => age;
}

// 보통 언어처럼 메인 함수가 진입점이다
main() {
    var javarouka = new People(33);
    print("javarouka'age is " + javarouka.getAge() + " years old");
    print(javarouka.isAlive());
} 

생성자의 멤버변수 단축 선언이나 함수 반환값의 지정 등 몇가지 재미있는 문법이 눈에 띈다.

...
...
...

다트가 앞으로 어떻게 발전해 나갈 지는 알 수 없다.

하지만 확실한 것은 구글측에서도 현재 자바스크립트를 어찌해 보겠다는 생각은 아닐것이다.

다트에 사용된 기술이 나중에 자바스크립트 표준으로 흡수될수도 있고 (MS의 JScript가 그랬던 것처럼 말이다), 반대로도 서로 작용하면서 다트가 발전되고 결국 다시 그것이 자바스크립트에 피드백되는 상부상조하는 방향으로 발전하지 않을까 하는 조심스런 예측을 해본다.

다트 프로그래밍 언어 수석 엔지니어의 인터뷰 링크를 걸어둔다

인터뷰 : 구글 다트가 자바스크립트보다 우월한 이유

댓글 없음:

댓글 쓰기