2011-09-27 3 views

답변

4

Google 클로저는 자바 스크립트 라이브러리와 자바 스크립트를 컴파일하고 압축하기위한 자바 스크립트 파서입니다. 빌드/배포주기에 Google 클로저 도구가 내장되어 있습니다.

Google Dart는 (현재의 부족한 정보에서) javascript로 대체되며 javascript로 컴파일하는 옵션이 있습니다. 이것은 Google GWT가 java와 현재하는 것과 유사합니다 (즉, 자바를 작성하고 javascript로 컴파일합니다.이 컴파일 프로세스는 클로저 컴파일러도 사용한다고 생각합니다).

이것이 GWT + Closure 팀이 Dart 프로젝트로 옮겨진 이유입니다. 개발자가 Dart를 직접 지원하지 않는 브라우저 (예 : 비 크롬)에 클라이언트 사이드 다트 응용 프로그램을 배포 할 수있는 Dart 가져 오기에는 매우 중요합니다.). 다트를 자바 스크립트로 교차 컴파일 (GWT가 자바 스크립트를 자바와 동일한 방식으로 수행함)이 문제를 해결하는 Google의 방법입니다.

+0

아, Google Dart가 Google Closure 코드로 컴파일된다는 점에서 Google Dart가 ClojureScript와 더 비슷합니까? – Zubair

+1

Google은 구체적인 내용을 알기 위해 Google에서 발표 할 때까지 기다려야한다고 생각합니다. – John

+0

그냥 업데이트 : dart2js, Dart to JavaScript 컴파일러는 Closure 코드를 방출하지 않습니다. 그것은 바닐라 자바 ​​스크립트를 방출합니다 (물론 최적화되고 축소되었습니다.) –

2

다트 기조 연설은 곧 (내일?) 진행될 것입니다. 그러나 나는 Dash email에서이 발췌문을 추가 할 것이라고 생각했습니다.

대형 Google Apps의 기존 코드 기반은 어떻게됩니까? Dash를 이용하기 위해 모든 것을 재건하지 않아도 될까요?

대시 크로스 컴파일러는 제한된 폐쇄 코드 (대문자)를 입력하고 대시 (Dash)로 변환 할 수 있어야합니다. 마이그레이션 프로세스가 완전히 자동으로 수행되지는 않지만 Dash 코드베이스로 이동하는 것이 다소 쉬울 것입니다.

2

현재 DartC는 최적화 된 빌드 (--optimize)를 위해 클로저 컴파일러를 사용합니다. 정상적인 편집/새로 고침주기의 경우 개발자에게 몇 가지 속도를 얻기 위해 직접 자바 스크립트를 생성합니다. 최적화 (및 폐쇄 단계)는 패키징 및 배포 단계입니다.

+0

dartc가 dart2js로 대체되었습니다. http://www.dartlang.org/docs/dart-up-and-running/contents/ch04-tools -dart2js.html –

2

Dart는 처음부터 Google Closure Compiler를 염두에두고 설계되었습니다.

구글 폐쇄의 코멘트를 기반 형 주석 시스템과 매우 잘 일치

"스트라이핑 유형의 주석 생산 모드에서 프로그램의 동작에 영향을주지해야한다"다트의 선택 입력 시스템을 기본 핵심 원리는 점이다.

http://www.dartlang.org/articles/optional-types/

bar(int n) { return n *2;} 
... 
bar(3.2); // returns 6.4 in production, but fails in checked mode 
관련 문제