• Thứ Sáu, 04/07/2014 15:36 (GMT+7)

    Trình biên dịch dành cho JavaScript

    Hoàng Anh
    Không ai phủ nhận được sức mạnh cũng như sự phổ biến của JavaScript nhưng những vấn đề rắc rối xung quanh từ hình thức xấu xí, cách trình bay phức tạp, ngôn ngữ kì quặc khiến nhà phát triển gặp khó khăn. Sau đây PCW giới thiệu những trình biên dịch JavaScript giúp lập trình viên dễ thở hơn.

    JavaScript đã trở thành một phần không thể thiếu trong thế giới công nghệ ngày nay và được sử dụng trên hầu hết hệ sinh thái IT cũng như trên Linux hay hệ thống ảo hóa. Nhưng ngôn ngữ lập trình này tương đối xấu í và quá nhiều điểm phức tạp trong cú pháp hay cách thiết kế khá kì quặc có thể khiến những nhà phát triển dày dạn nhất gặp rắc rối. Hàng loạt ngôn ngữ JavaScript mini được ra đời để cố gắng khắc phục những điểm yếu trên, nhiều trường hợp còn mở rộng các tính năng không sẵn có.

    CoffeeScript 1.7.1

     

    Jeremy Ashkenas tạo ra CoffeeScript nhằm nỗ lực đơn giản hóa cú pháp của JavaScript. Trình biên dịch này vẫn là một trong các công cụ JavaScript được sử dụng rộng rãi nhất, với cú pháp đường lấy cảm hứng từ Ruby , Python và Haskell để ngắn gọn và dễ đọc.Từ Python: sử dụng khoảng trắng như cú pháp; từ Ruby: cung cấp trình biên dịch CoffeScript đầu tiên, và phạm vi hoạt động của biến. Năm 2013, CoffeeScript cũng được Stack Overflow xếp hạng 29 trong số những ngôn ngữ lập trình phổ biến

    TypeScript 1.0.1

     

    Trình biên dịch TypeScript 1.0.1

    Ngôn ngữ này được tạo ra tại Microsoft bởi Anders Hejlsberg (nổi tiếng với C #, Delphi và Turbo Pascal ), TypeScript được thiết kế để thêm các tính năng thường không có sẵn trong JavaScript, chẳng hạn như Static Type , Class , Interface , Module và cú pháp arrow cho các chức năng ẩn. Đó được xem là những tính năng giá trị nhất của TypeScript cho hệ thống dễ dàng kiểm soát vấn đề mở rộng, gỡ rối, phát triển ứng dụng chỉ trong 1 lần viết. Microsoft cho phép TypeScript trở thành mã nguồn mở theo giấy phép Apache 2.0 như là một add-on dành cho Visual Studio

    IcedCoffeeScript 1.7.0-a

     

    Trình biên dịch IcedCoffeeScript.

    Nếu CoffeeScript là không đủ thì người dùng có thể cân nhắc IcedCoffeeScript- trình biên dịch với cú pháp rất ngắn. IcedCoffeeScript hoạt động từng bước một tương tự như CoffeScript nhưng lại được bổ sung thêm nhiều tính năng để việc xử lý hành vi và các vấn đề đồng bộ trở nên dễ dàng hơn. Đối với những người sử dụng thường xuyên sử dụng thì ICS chính là công cụ tiết kiệm thời gian. Một trong những bất lợi để sử dụng ICS là quá trình biên dịch JavaScript phức tạp hơn CoffeeScript.

    GorillaScript 0.9.7

     

    Biểu tượng GorillaScript

    GorillaScript có thể là ngôn ngữ có nhiều tính năng nhất trong thể loại trình biên dịch JavaScript. Trong số các chức năng bổ sung tùy chọn cho JavaScript là typing, macros, generics, promises, iterators (có thể tìm thấy trong ECMAScript 6). GorillaScript sử dụng phương pháp tiền biên dịch trước khi thực hiện- điều này đã cải thiện đáng kể hiệu suất ngôn ngữ thông dịch. GorillaScript có rất nhiều điểm tương đồng với C + + và VisualBasic đặc biệt hiệu quả trong việc thực hiện các ứng dụng game

    Kaffeine 0.1.6

    Kaffeine được mệnh danh là bản mở rộng những tính năng nổi trội của cú pháp Javascript. Không giống như một số ngôn ngữ khác mô tả ở đây, Kaffeine cho phép bạn sử dụng JavaScript trực tiếp và khả năng tùy chọn sử dụng các tính năng theo sở thích của người dùng. Một số đặc điểm nổi bật khác như tùy chọn Vanilla JavaScript,Line-for-line cho phép dễ dàng gỡ rối hay sửa lỗi...

    Dart 1.4.2

     

    Trình biên dịch Dart

    Dart là một mã nguồn mở ngôn ngữ lập trình Web được phát triển bởi Google nhằm thay thế cho JavaScript bằng cách biên dịch JavaScript hoặc chạy bên trong máy ảo riêng của mình. Để tăng hiệu suất, các kỹ sư của Google đã phát triển Dart như một phiên bản JavaScript mở rộng. Dark được thiết kế để dễ dàng phát triển các công cụ, phù hợp với ứng dụng hiện đại và có khả năng triển khai thực hiện hiệu suất cao.

    Asm.js

     

    Bảng so sánh hiệu suất trình duyệt hỗ trợ Asm.js

    Asm.js là ngoại lệ so các ngôn ngữ được liệt kê ở đây, đây không phải là ngôn ngữ biên dịch JavaScript mà chỉ là tập hợp tập con được tạo ra từ C/C++ bằng các công cụ đặc biệt. Asm.js hoạt động hầu hết trên các công cụ JavaScript và tạo ra hiệu suất cao hơn từ các công cụ tùy chỉnh cho chính nó.

    Kiểm tra thực tế asm.js cho thấy tốc độ mã nguồn gốc được tăng gấp đôi, hỗ trợ mạnh mẽ trong các trò chơi thời gian thực ngay cả khi trình duyệt không có Plug-in. Hiện tại chỉ có trình duyệt Firefox hỗ trợ asm.js để tăng tốc nhưng với ý tưởng cốt lõi đó đã hứa hẹ một sự kết hợp giữa mã nguồn với JavaScript

    Sweet.js

    Mozilla tự hào về ngôn ngữ Rust của mình, vì vậy mà hãng trình duyệt này đã tạo ra phương ngữ riêng của JavaScript với nhiều tính năng Rust. Sweet.js cung cấp chức năng tầng cao của Rust, cho phép bạn xác định cú pháp riêng của mình cho bất cứ classes để các nhà khai thác tùy chỉnh. Sweet.js cũng bao gồm các tính năng tiện lợi, chẳng hạn như bộ tải mô-đun dọc theo dòng của Require.js được sử dụng rộng rãi.

    LLJS-Low-Level JavaScript

     

    Quản lý bộ nhớ trên LLJS-Low-Level JavaScript

    Đây là một dự án khác của Mozilla về JavaScript. LLJS là một trình biên dịch JavaScript có hệ thống tương tự như ngôn ngữ C- nhất là khả năng quản lý bộ nhớ. LLJS biên dịch JavaScript và cho phép bạn ghi bộ nhớ hiệu quả, dễ dàng hơn so với asm.js hơn bất kì ngôn ngữ nào được nhắc đến ở đây. LLJS thêm vào JavaScript một hệ thống kiểu khuôn mẫu cùng với quản lý bộ nhớ tương tự sử dụng malloc và free trên C.


    IcedCoffeeScript 1.7.0-aIcedCoffeeScript 1.7.0-a