2011-09-27 6 views

Trả lời

4

Đóng cửa của Google, là một bộ thư viện javascript và trình phân tích cú pháp javascript để biên dịch và nén javascript của bạn. Có các công cụ đóng cửa google có thể được tích hợp vào chu kỳ xây dựng/triển khai của bạn.

Google Dart xuất hiện (từ thông tin cũ hiện tại) là ngôn ngữ thay thế cho javascript, với tùy chọn biên dịch sang javascript. Điều này tương tự như những gì google GWT hiện nay với java (tức là, bạn viết java và nó biên dịch thành javascript. Tôi tin rằng quá trình biên dịch này cũng sử dụng trình biên dịch đóng). Điều này sẽ là lý do tại sao các đội GWT + Closure đã được chuyển sang dự án Dart - điều quan trọng cho việc tiếp quản Dart là các nhà phát triển có thể triển khai ứng dụng phi tiêu phía khách hàng tới các trình duyệt không hỗ trợ trực tiếp phi tiêu (tức là, không phải chrome). Cross biên dịch của phi tiêu để javascript (trong cùng một cách mà GWT hiện java để javascript) là phương pháp của Google để giải quyết này.

+0

Ah, tôi hiểu, Google Dart cũng giống như ClojureScript, trong đó Google Dart sẽ biên dịch xuống mã Google Closure? – Zubair

+1

Tôi nghĩ bạn sẽ cần đợi cho đến khi Google thông báo nó để tìm hiểu bất cứ điều gì về chi tiết cụ thể của nó. – John

+0

Chỉ cần cập nhật: dart2js, trình biên dịch Dart sang JavaScript, không phát ra mã Đóng. Nó phát ra JavaScript vani (được tối ưu hóa và rút gọn, tất nhiên :) –

2

Bài phát biểu phát biểu chính Dart sẽ sớm diễn ra (ngày mai?), Nhưng tôi nghĩ tôi cũng sẽ thêm đoạn trích này từ Dash email.

Điều gì về các cơ sở mã hiện có cho Google Apps lớn? Họ sẽ không phải xây dựng lại mọi thứ để tận dụng lợi thế của Dash?

Trình biên dịch Dash Cross phải có khả năng nhập mã Đóng được nhập (có một số hạn chế) và chuyển thành Dash. Mặc dù quá trình di chuyển sẽ không hoàn toàn tự động, nó sẽ giúp chuyển sang một codebase Dash dễ dàng hơn một chút.

2

Hiện tại, DartC sử dụng trình biên dịch đóng cho các bản dựng được tối ưu hóa (--optimize). Đối với chu kỳ chỉnh sửa/làm mới bình thường, nó tạo javascript trực tiếp để đạt được tốc độ cho nhà phát triển. Tối ưu hóa (và giai đoạn đóng) là một bước đóng gói và triển khai.

+0

Chỉ cần cập nhật, dartc đã được thay thế bởi dart2js: http://www.dartlang.org/docs/dart-up-and-running/contents/ch04-tools -dart2js.html –

2

Tôi tin rằng Dart được thiết kế với Google Closure Compiler ngay từ lần đầu tiên bắt đầu. Các nguyên tắc cốt lõi nằm bên dưới hệ thống gõ tùy chọn Dart là rằng:

"loại Tước chú thích không nên ảnh hưởng đến hành vi chương trình trong phương thức sản xuất"

mà phù hợp rất tốt với hệ thống kiểu chú thích bình luận dựa trên Google Closure của.

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