Sự khác biệt giữa TypeScript và Dart [đã đóng]


85

Microsoft gần đây đã tiết lộ Typecript, một ngôn ngữ lập trình mới giống như JavaScript. Cách đây một thời gian, tôi đã nghe nói về Dart, một ngôn ngữ lập trình mới do Google tạo ra để giải quyết các vấn đề liên quan đến Javascript như hiệu suất, khả năng mở rộng, v.v.

Mục đích của cả hai ngôn ngữ mới có vẻ giống nhau đối với tôi .. Bạn nghĩ gì?

Là mục đích của các ngôn ngữ giống nhau?

Sự khác biệt thực sự về họ là gì?


xem một cuộc thảo luận ở đây: lập trình
viên.stackexchange.com /questions / 66978 / trên

Câu trả lời:


60

Trích dẫn Bob Nystrom :

TypeScript có vẻ tốt nếu bạn thích ngữ nghĩa của JS hoặc có một cơ sở mã JS lớn mà bạn đã đầu tư nhưng bạn đang gặp vấn đề về bảo trì ở quy mô. Con đường thành công của nó suôn sẻ hơn rất nhiều vì nó (hầu hết?) Tương thích ngược với JS.

Phi tiêu đang đặt cược rủi ro hơn. Nó xa hơn với JS theo nhiều cách mà tôi nghĩ, chủ yếu là tốt như một lập trình viên hàng ngày, nhưng nó làm cho rào cản gia nhập cao hơn. Nhưng bù lại, rào cản gia nhập cao hơn, bạn nhận được:

  • Cây lắc
  • Getters và setters (mặc dù tôi đoán TypeScript sẽ nhận được những thứ đó cuối cùng)
  • Quá tải toán tử
  • Phạm vi khối thực, không cẩu, không IIFE s
  • Một VM gốc
  • Sane bình đẳng ngữ nghĩa
  • Không có sự điên rồ chuyển đổi ngầm
  • Bị ràng buộc this ở khắp mọi nơi
  • Hỗn hợp
  • Chú thích
  • Một hệ thống nhập khẩu
  • Toán tử đăng ký do người dùng định nghĩa
  • Generics, với sự thống nhất
  • Gương
  • Lớp học thu tốt hơn
  • API DOM sạch hơn

Ngoài ra, anh viết trong http://www.reddit.com/r/programming/comments/10rkd9/welcome_to_typescript/c6g37xd :

Tôi thuộc nhóm Phi tiêu của Google, vì vậy tôi tự nhiên nhìn vào nó từ góc độ / thiên vị đó. Đây là một số thứ ngẫu nhiên lọt vào mắt tôi, chủ yếu là so sánh nó với Dart. Tôi chỉ dành vài phút để lướt qua, vì vậy đừng quá coi trọng điều này ...

Không có thuốc generic

Tôi đoán một số loại tốt hơn không có loại nào, nhưng thật sự rất khó để mất những loại đó. TypeScript có các kiểu mảng và kiểu đối tượng tích hợp bao gồm một số trường hợp sử dụng kiểu "bản đồ". Nhưng không thể xác định các loại chung của riêng bạn là một trở ngại. Các tài liệu nói rằng khi được thêm vào, các tướng sẽ hoạt động bằng cách sử dụng kiểu xóa, đó là những gì tôi mong đợi với kiểu "biên dịch thành JS nhẹ", nhưng điều đó cũng có thể là một nỗi đau. Đôi khi thật tuyệt khi có thể thực hiện công cụ với các đối số kiểu của bạn khi chạy.

Tất cả các loại là nullable

Phi tiêu là cách tương tự. Làm tôi buồn trong cả hai trường hợp.

Cú pháp chú thích kiểu là tốt

Hầu như mọi ngôn ngữ có chú thích loại tùy chọn (ML, Scala, F #, Kotlin, v.v.) đều đi kèm với "postfix sau a :. Dart cố gắng sử dụng chú thích kiểu C gây ra một số trường hợp góc khó chịu. Tôi thích những gì TypeScript có ở đây, đặc biệt là cú pháp cho các loại hàm:

function takeCallback(callback : (n : number) => number)
{ ... }

Các giao diện được gõ theo cấu trúc, các lớp được gõ

Có nghĩa là nó là JavaScript, nhưng nó có vẻ khá gọn gàng. Có thể ngầm thực hiện một giao diện là tốt đẹp. Nhưng TypeScript dường như không cho phép bạn đi theo một cách khác: được cung cấp một lớp, bạn không thể tạo một loại mới tương thích với nó mà không mở rộng nó một cách cụ thể vì các công cụ thương hiệu. Trong Dart, nhờ các giao diện ngầm, bạn có thể.

Loại phổ biến nhất có thể thất bại

Điều đó có nghĩa đây là lỗi loại:

[1, true]

Bạn có thể quá tải trong các giao diện bằng chữ ký tham số

Điều này thực sự thú vị bởi vì nó cung cấp cho bạn một cách có luồng suy luận kiểu chính xác hơn thông qua một cuộc gọi chức năng thực hiện một số chuyển đổi loại động. Ví dụ:

interface Doubler {
  double(s : string) : string;
  double(n : number) : number;
}

Với điều này, khi trình biên dịch thấy một cuộc gọi tăng gấp đôi, nó có thể cung cấp cho bạn một kiểu trả về chính xác dựa trên loại đối số được suy ra. Điều tôi không chắc chắn là làm thế nào để thực sự thực hiện một lớp thực hiện giao diện đó và làm cho trình kiểm tra kiểu hài lòng. Bạn thực sự không thể quá tải các phương pháp cụ thể, và nỗ lực năm phút của tôi để làm cho nó hài lòng bằng cách kiểm tra kiểu động dường như không hoạt động.

Có một cú pháp dành riêng cho các kiểu mảng

Có ý nghĩa vì không có thuốc generic. Nó cũng hay và ngắn gọn, điều đó tốt, nhưng cá nhân tôi thích những thứ chung chung hơn là những bộ sưu tập trường hợp đặc biệt.

Không có sự hạ thấp ngầm

Một trong những tính năng hệ thống loại khác thường hơn của Dart là khả năng tương thích chuyển nhượng là hai chiều: bạn có thể hạ thấp mà không cần cảnh báo. Ngoài trường hợp đặc biệt điển hình là gán cho / từ bất kỳ (động trong các ngôn ngữ khác), TypeScript không cho phép điều đó. Bạn phải gõ khẳng định. Cá nhân, tôi thích cách tiếp cận của TypeScript ở đây.

Chức năng mũi tên và từ vựng này

Đây chỉ là tình mẹ và bánh táo. Tôi thích nó. (Phi tiêu cũng có điều này, và điều này luôn bị ràng buộc về mặt từ vựng.)

Nhìn chung, nó trông khá gọn gàng. Nếu bạn muốn chính xác cùng một ngữ nghĩa JS (tốt và xấu) nhưng cũng muốn phân tán các loại, TypeScript có vẻ tốt. Nó giống như Trình biên dịch đóng cửa nhưng với cú pháp tốt hơn.

Nếu bạn muốn một cái gì đó mạnh mẽ hơn từ cú pháp và ngữ nghĩa của JS, thì có vẻ như TypeScript không phải vậy.


17
Cây lắc là gì?
citykid

4
Để biết thêm về rung cây: blog.sethladd.com/2013/01/ Cách
Seth Ladd

19
"Các công cụ phi tiêu hỗ trợ rung cây, một kỹ thuật" rũ bỏ "mã không sử dụng, do đó thu nhỏ kích thước của ứng dụng đã triển khai. Tôi có thể nhập các thư viện phong phú chứa đầy tính tốt hữu ích vào ứng dụng của mình, nhưng chỉ bao gồm các chức năng tôi thực sự sử dụng trong đầu ra được tạo của tôi. " thx
citykid

3
Trong khi ở trạng thái xem trước, Typecript có hình dạng hoàn hảo để sử dụng trong các dự án chuyên nghiệp xuất xưởng vào ngày mai. Ngôn ngữ và Công cụ hoạt động mà không có bất kỳ vấn đề nghiêm trọng nào, hoặc thậm chí hầu như không có vấn đề gì cả.
citykid

4
Như @JustAnotherUserYouMayKnowOrNot lưu ý, nguyên cảo thêm Generics trong 0,9 blogs.msdn.com/b/typescript/archive/2013/06/18/...
Jon Mabe

60

Trong khi câu hỏi là "Mục đích của các ngôn ngữ có giống nhau không?", Câu hỏi thực sự là: "Làm thế nào chúng ta có thể làm cho lập trình web tốt hơn từ nơi chúng ta đang ở?" .

Cả hai dự án đều cố gắng làm điều này

  • ngôn ngữ lập trình (TypeScript thực hiện một bước nhỏ nhưng rất sạch sẽ, Dart thực hiện bước chuyển đổi mang tính cách mạng hơn mà vẫn đang di chuyển)

  • khả năng tương tác với mã js hiện tại (chuyển đổi 0 trong TypeScript biên dịch thành js, phức tạp trong Dart, vì 2 VM nói chuyện với nhau)

  • thực hành kỹ thuật phần mềm (chỉ phi tiêu, các thành phần web và bóng dom)

Trong 3 ngày qua, tôi đã đi sâu vào Dart và sau đó vào TypeScript. Cơ sở mã CoffeeScript của tôi đã đi đến những dòng mã của những năm 2000, quá nhiều để được xử lý với CoffeeScript đáng yêu nhưng quá mịn. Vấn đề tôi gặp phải là CoffeeScript thiếu các tính năng mà các ngôn ngữ được thiết kế cho lập trình quy mô vừa và lớn có: giao diện, mô-đun, loại an toàn. Nhưng có một thậm chí nhiều nghiêm trọng hơn vấn đề với cà phê và js: Các js "con trỏ này" weirdness ảnh hưởng sự tỉnh táo của tôi và CoffeeScript không giúp bất cứ điều gì ở đây.

Vì vậy, đây là kết quả của tôi sau 3 ngày sử dụng và sử dụng:

Phi tiêu

Đi kỹ lưỡng qua hướng dẫn, đọc 1 cuốn sách, đọc lướt quyển thứ 2 và thử các bản demo. Tôi nghĩ, đó là tương lai . Sau đó, tôi đã cố gắng di chuyển ứng dụng của mình sang Dart. Đó là sự nhiệt tình của tôi đã giảm từ 100 xuống 10. Đây là lý do:

  1. The Editor Editor là cách duy nhất để lập trình Dart. Trong khi các plugin cho Sublime Text tồn tại, chúng không cung cấp các tính năng như intellisense, hoàn thành mã (sửa tôi nếu tôi sai). Tuy nhiên, Trình chỉnh sửa Dart có chất lượng trước alpha. Mặc dù nó hỗ trợ các siêu phẩm ma thuật như cập nhật trang web khi bạn chỉnh sửa tệp CSS (! Thực sự tuyệt vời) nhưng nó bị treo hoặc gặp sự cố vài lần một phút. Vì vậy, bạn gõ 5 chữ cái và 2 lần bạn phải đợi 2 giây hoặc 15 giây giữa khi gõ. Và tôi đã có một dự án với một số dòng mã, vì vậy tôi không muốn chờ đợi điều gì sẽ xảy ra khi dòng 1000 được nhập. Đã chuyển một tệp từ thư mục này sang thư mục khác trong Dart Editor, bị sập. Gỡ lỗivới Trình chỉnh sửa phi tiêu ngay từ cái nhìn đầu tiên tốt hơn tất cả các công cụ gỡ lỗi js mà tôi biết (chrome là lựa chọn của tôi), nhưng vẫn còn quá nhiều thứ còn thiếu: Không có cửa sổ ngay lập tức (điều này làm cho js gỡ lỗi tốt hơn nhiều vào lúc này), không có đồng hồ.

  2. Chính trị và khả năng thoát hiểm : Một số người nói rằng Apple, MS và Firefox sẽ không bao giờ cung cấp máy ảo Dart. Chà, tôi không chắc lắm, nhưng ít nhất đối với Apple điều này xuất hiện vào lúc này rất chắc chắn. Đối với những người khác, nó có nhiều khả năng hơn ngược lại. Vì vậy, không có vấn đề gì, chúng ta có thể chuyển đổi Dart sang JavaScript. Cách tích hợp này hoạt động thực sự tuyệt vời, Dart duy trì một cs js giữ mã js được kết nối với Trình chỉnh sửa phi tiêu, do đó, một print()tuyên bố vẫn xuất hiện trong Trình chỉnh sửa phi tiêu, tuyệt vời. Nhưng ở đây có nhưng: dấu chân của mã chuyển đổi như vậy là cao. 150kB hoặc hơn (trước khi thu nhỏ). Tôi đã không đào quá nhiều vào kích thước chính xác, vì vậy đừng hiểu tôi về điều này.

  3. Trưởng thành ngôn ngữ . Bên cạnh cách các vấn đề quá nghiêm trọng với Trình soạn thảo Dart xuất hiện trong khuôn mặt của tôi 3 lần một phút, tôi cũng thấy không thể chấp nhận được rằng mọi nguồn về mã Dart mà bạn tìm thấy đều sử dụng một loại khác nhau. Ngôn ngữ thay đổi mỗi ngày. Bạn tìm thấy một bài viết từ 5 tuần trước? Nó đã lỗi thời. Bạn thử các mẫu từ hướng dẫn của Google? Ít nhất 1 mẫu không biên dịch kể từ khi API thay đổi. Ngay cả những thứ trần tục, như gắn một sự kiện vào một phần tử DOM cũng đang hoạt động tốt .

  4. Tích hợp với các thư viện js hiện có một chút liên quan. 2 VM cần liên lạc ở đây, nó khó.

Như một kết luận, bạn không thể nghiêm túc sử dụng Dart như ngày hôm nay, và việc đi sâu vào nó không quá thú vị do 1 và 3. Cả hai điểm sẽ biến mất theo thời gian. Về điểm 2, Google đã công bố điểm chuẩn hiệu suất vài ngày trước chứng tỏ rằng js được biên dịch của họ tốt hơn js viết tay. Lời khen của tôi, công việc tuyệt vời. Thời gian tải vẫn có thể bị chậm lại do vấn đề dấu chân như đã nói. Tuy nhiên, nếu mã dấu chân được sử dụng bởi nhiều trang web, nó có thể được lưu trong bộ nhớ cache và voila, cũng sẽ biến mất.

Vì vậy: Tôi coi Dart là một dự án tuyệt vời, sử dụng nó vào lúc này mang một phần rủi ro không lường trước được và sẽ mất năm nay để đưa nó đến mức ổn định tốt.

TypeScript

Đánh giá TypeScript rất dễ dàng, mất 1 hoặc 2 giờ và bạn biết tất cả mọi thứ. Đọc tài liệu đặc tả ngôn ngữ và một cuốn sách ngắn (TypeScript tiết lộ) tiết lộ, tôi biết tất cả mọi thứ và bắt đầu lập trình. Sau đó, tôi đã rất ngạc nhiên khi thấy rằng các bổ sung của TypeScript cho JavaScript chỉ đáp ứng mọi nhu cầu nghiêm trọng mà tôi có để tăng cường lập trình máy khách của mình . Dưới đây là những điểm nổi bật:

  1. Giao diện . Đóng gói và giao diện cho phép tôi cấu trúc mã của mình một cách dễ dàng. Hoàn hảo!

  2. Đẳng cấp nhà nước. . TypeScript cho phép thể hiện trạng thái mà các thể hiện của một lớp mang rõ ràng, hoặc tốt hơn là nó thực thi nó. Đây là một bước lớn tốt hơn so với js hoặc cà phê.

  3. thisgọi craziness giảm nhẹ . Bên trong các hàm mũi tên, TypeScript làm cho thiscon trỏ giống như mọi công dân có hành vi thông thường.

  4. Biên tập, Intellisense . TypeScript đi kèm với 100% intellisense hoàn hảo hàng đầu phản ứng trong phạm vi vi mô hoặc mili giây như được sử dụng từ Visual Studio khi lập trình C #. Tiêu đề TypeScript cho tất cả các thư viện js quan trọng cũng tồn tại . Tuyệt vời vĩ đại tuyệt vời.

  5. Kinh nghiệm và rủi ro . Sử dụng TypeScript mang lại rủi ro bằng không, ngôn ngữ được xác định rõ ràng, hoàn toàn ổn định, nó chỉ là js với đường, không có gì là không lường trước được.

Trên thực tế, những cải tiến này cho tôi mọi thứ tôi cần. Điều duy nhất tôi muốn thấy trong tương lai là các bộ sưu tập chung chung. Nhưng đó là đậu phộng.

Vậy hiệu suất thì sao? Mặc dù tôi tự coi mình là một kẻ lập dị hiệu suất, tôi không tin rằng có bất kỳ dự án nào sẽ đưa ra lựa chọn công nghệ ở đây dựa trên hiệu suất. Cả hai đều ở trong js liga.

Nếu bạn quan tâm đến tương lai của lập trình web, cả hai đều là những nỗ lực tuyệt vời, TypeScript thực tế hơn nhiều và có thể sử dụng được bây giờ, Dart là một dự án phòng thí nghiệm rất thú vị sẽ có thể sử dụng được khi có các trình soạn thảo và trình gỡ lỗi trưởng thành và phạm vi của các dự án có thể thực hiện được nó sẽ phụ thuộc vào chính trị.

Trong mọi trường hợp, 3 ngày eval chủ yếu là niềm vui và tôi đã học được rất nhiều, nếu bạn tìm thấy thời gian, phải mất 1 ngày để Dart và 2 giờ để TypeScript đưa ra ý kiến ​​của riêng bạn. Thử nó.

Cập nhật tháng 10 năm 2014

Đã được một thời gian và bài đăng cũ xuất hiện giả định rằng Typecript là tuyến đường ổn định an toàn để đi là hoàn toàn đúng. Tôi vừa tìm thấy một tuyên bố (rất) nổi bật về Bản mô tả, Phi tiêu và Đóng cửa:

Tôi đã quan tâm đến thách thức của lập trình Web trong một thời gian khá dài. Tôi tin rằng Google Clos hiện vẫn là lựa chọn tốt nhất để phát triển JavaScript / Web quy mô lớn, nhưng cuối cùng nó sẽ được thay thế bằng thứ gì đó ít dài dòng hơn. Mặc dù Dart cho thấy nhiều hứa hẹn, tôi vẫn không hài lòng với kích thước của JavaScript mà nó tạo ra. Bằng cách so sánh, nếu TypeScript có thể được dịch trực tiếp sang JavaScript có thể được biên dịch bằng chế độ nâng cao của Trình biên dịch đóng, thì chúng ta có thể có tất cả các lợi ích của JavaScript được tối ưu hóa từ Đóng mà không cần tính chi tiết. Hơn nữa, bởi vì TypeScript là một siêu bộ JavaScript, tôi tin rằng các phần mở rộng cú pháp của nó có cơ hội biến nó thành tiêu chuẩn ECMAScript tại một số điểm,

http://blog.bolinfest.com/2013/01/generating-google-clenses-javascript.html

Michael Bolin là một anh hùng front-end (ex) google (ex) fb, cũng tham gia vào việc đóng cửa google (lấy cuốn sách của anh ấy về Đóng cửa).

Google Traceur

Thẩm định của Google để phát trực tiếp ECMA Script 6 là dự án Traceur của nó: https://github.com/google/traceur-compiler

So với Typecript, hỗ trợ công cụ có lẽ còn thua xa so với ngày nay. Tuy nhiên, về mặt tích cực, nó sẽ nhanh hơn rất nhiều trong việc áp dụng các hiệu ứng ngôn ngữ js quá tuyệt trong tương lai như các trình lặp hoặc hiểu.

Dòng chảy Facebook, Google AtScript

cung cấp các tính năng tương tự như TypeScript.

"Người ta có thể tự hỏi những gì với các giải pháp kiểm tra loại JavaScript khác nhau này và phải làm gì với nó. Một tin tốt là Microsoft, Facebook và Google đang hợp tác về những giải pháp này, theo Jonathan Turner của Microsoft:

Nhóm TypeScript đang làm việc với cả hai nhóm Flow và AtScript để giúp đảm bảo rằng các tài nguyên đã được tạo bởi cộng đồng gõ JavaScript có thể được sử dụng trên các công cụ này. Có rất nhiều dự án này có thể học hỏi lẫn nhau và chúng tôi mong muốn được làm việc cùng nhau trong tương lai và tạo ra các công cụ tốt nhất có thể cho cộng đồng JavaScript. Về lâu dài, chúng tôi cũng sẽ làm việc để gấp các tính năng tốt nhất của các công cụ này thành ECMAScript, tiêu chuẩn đằng sau JavaScript. "

thông tin bài viết về lưu lượng fb


Tôi sẽ đợi cho đến khi Google bắt đầu sử dụng Dart cho phần lớn các dự án của riêng mình (nếu có) - bắt đầu ăn thức ăn cho chó nói cách khác. Ngoài ra âm thanh của Dart giống như Silverlight, chỉ không có phần XAML, chỉ có một ngôn ngữ, nhưng được tích hợp tốt hơn với JS / HTML.
Den

1
Vâng, Dart là một cái gì đó trong phòng thí nghiệm chúng ta có thể xem và chờ đợi trong tương lai, trong khi Typecript đã sẵn sàng để phát triển chuyên nghiệp ngay bây giờ. Vì vậy, so sánh Typecript với Dart là so sánh táo với cây cam.
citykid

7
Đây là một câu trả lời rất sâu sắc. Cảm ơn bạn đã viết nó.
Darshan Sawardekar

2
không biết làm thế nào bản sửa lỗi thisngữ cảnh "sửa lỗi" , vì bạn vẫn phải liên kết các hàm gọi lại được khai báo bên trong các phương thức với thisngữ cảnh của phương thức để truy cập các thuộc tính lớp. Làm thế nào là "sửa chữa" bất cứ điều gì?
Nurettin

1
điểm hợp lệ. trong khi liên kết đôi khi vẫn được yêu cầu, điều này được đặt bí danh bên trong các hàm mũi tên , vì vậy vấn đề ít nhất được giảm nhẹ.
citykid

17

Trích dẫn Scott Hanselman:

Mọi người đã so sánh TypeScript với Dart. Đó là so sánh táo với bộ chế hòa khí. TypeScript xây dựng trên JavaScript để không có vấn đề liên quan đến JS. Dart là một máy ảo bản địa được viết từ đầu. Phi tiêu xen kẽ với JavaScript ... nhưng nó không phải là JS. Nó thậm chí không sử dụng loại số JavaScript chẳng hạn.

Từ Tại sao TypeScript lại là câu trả lời cho bất cứ điều gì?


8
Tôi hơi bối rối một cách trung thực. TypeScript cũng không thực sự là JS, phải không? var x = {}; x.foo = 5; //Doesn't work in typescriptvar e = window.event ? window.event : e; //Doesn't work in typescriptVí dụ trên sẽ thất bại trình biên dịch TypeScript. Tui bỏ lỡ điều gì vậy? Tôi không thể "thả" JavaScript của mình và sử dụng các loại khi tôi cảm thấy thích nó. Tôi phải học một số cú pháp mới và cấu trúc mọi thứ với các loại.
aikeru

@aikeru Hmmm, bạn đúng rồi. Nó xuất hiện để loại bỏ một số sự vĩ đại của JS. Tôi sẽ sử dụng công cụ mới này, nhưng bây giờ tôi có suy nghĩ thứ hai.
Chev

3
Không đồng ý. Nó giống như so sánh táo với lê hoặc bộ chế hòa khí với phun nhiên liệu. Có rất nhiều điều về hai điều này tự nhiên dẫn đến nhiều người nghĩ về chúng cùng một lúc.
hà mã

Đối với hồ sơ, điều này hoạt động var x = {}; x['foo'] = 5;và điều này cũng vậy var y:any = {}; y.foo = 5;, nhưng tôi hơi ngạc nhiên khi thấy bạn đúng về điều này - loại nhận thức {}{}hơn any. Có thể là một vấn đề suy luận loại. Tôi đã đăng vấn đề ở đây - chúng tôi sẽ xem họ trả lời như thế nào.
mindplay.dk

3

Gần đây phải tham gia vào cuộc thảo luận này với phát hiện của riêng tôi.

Thứ 1: TypeScript

MS đã thực hiện một cách tiếp cận tốt đẹp trong thực tế là bạn có thể dễ dàng nhảy vào và ra khỏi TS và JS. Chúng tôi chủ yếu sử dụng AngularJS cho sự phát triển của chúng tôi và đã tìm thấy trong khi không có nhiều tài liệu để chuyển đổi Angular sang TypeScript. Đây là một bổ sung hay để kết hợp TypeScript vào quy trình làm việc Dev của chúng tôi.

2: Phi tiêu

Phi tiêu là một bước của sự mỉa mai đối với Google. Có lẽ họ không nhớ activeX và tất cả những cơn ác mộng xung quanh khi cố gắng để ứng dụng hoạt động trong mọi thứ trừ IE 5 hoặc IE 6 đáng sợ trong ngày. MS đã mất nhiều năm để hồi phục sau những ngày đó.

Phi tiêu như một ngôn ngữ "về mặt khái niệm" dường như cố gắng kết hợp một số tính năng OOP đẹp. Chú thích vv là một suy nghĩ tốt cho Javascript.

Vấn đề, thật khó để tưởng tượng đủ băng thông để tạo một trình soạn thảo mới, ngôn ngữ mới, vm mới trên các trình duyệt, plugin cho các IDE khác, trình biên dịch để chuyển đổi thành javascript (không có nhiều kích thước), chuyển đổi hoặc tạo thư viện phi tiêu mới để thay thế hàng ngàn thư viện js hiện tại, nhờ ai đó quyết định polyme hoặc chỉ thị, chuyển đổi trang web dartlang để sử dụng phi tiêu, đây là những gì tôi có thể nghĩ ra khỏi đỉnh đầu.

Khái niệm cố gắng sử dụng Dart trong bất cứ điều gì ngoại trừ một ứng dụng tầm thường vào thời điểm này thật đáng sợ.

Trên tất cả ES6 này là không xa. ES6 mang đến nhiều tính năng mà Dart đang cố gắng khắc phục tồn tại trong ES5. Đề xuất giá trị sẽ là gì khi ES6 xuất hiện trên đường phố? Ít nhất tại thời điểm này, thay đổi duy nhất bạn phải thực hiện trong TypeScript khi ES6 xuất hiện là có thể chọn một trình biên dịch khác để nhắm mục tiêu.

Chỉ cần làm sáng tỏ rằng tôi là một người chuyên nghiệp. MS tạo ra một số sản phẩm phong nha và đã có những bước tiến lớn để sửa chữa những sai lầm trong quá khứ với cộng đồng OSS. Tôi vẫn khác nhau hiếm khi sử dụng bất cứ thứ gì khác ngoài TypeScript từ MS.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.