4 công cụ hỗ trợ chuyển đổi qua lại giữa Python và JavaScript

Ngoc Huynh

Trong khuôn khổ bài viết hôm nay, chúng tôi xin giới thiệu đến với các bạn 4 công cụ hỗ trợ chuyển đổi qua lại giữa Python và JavaScript trong các ứng dụng Web hiện nay.

1. Transcrypt

Transcrypt là một bộ phiên dịch (transpiler) mới. Nó cố gắng lưu giữ cấu trúc của lập trình Python ban đầu tốt nhất có thể, bao gồm những lập trình mang nhiều tính kế thừa (inheritances) và lambda. Mã nguồn Python cũng có thể thực hiện gọi (call) các đối tượng trong namespace (không gian tên) của JavaScrip. Nếu bạn thử truy cập vào document.getElementById trong Python, thì code được chuyển đổi sẽ sử dụng document.getElementById hiện tại trong JavaScript.

Transcrypt thực hiện các nhiệm vụ này cùng với Abstract Syntax Tree module của Cpython, cho phép truy cập theo hướng Python phân tách cú pháp của riêng mình. Và dự án này mới chỉ trong giai đoạn alpha.

2. Jiphy

Jiphy – có nghĩa là “JavaScript in, Python out” (tạm dịch: JavaScript vào, Python ra) – chuyển đổi qua lại lẫn nhau. Thêm vào đó, code từ cả hai ngôn ngữ có thể được trộn lẫn trước khi được chuyển đổi.

Mặt hạn chế lớn nhất của Jiphy hiện tại đó là nó chỉ hỗ trợ một tập hợp con các tính năng của Python. Các class hay các argument mặc định thì vẫn chưa có, mặc dù đã có decorator và exception. Điều này là do Jiphy cứ hướng vào việc thiết lập một mối quan hệ gần nhất có thể giữa code nguồn và code mục tiêu, nhưng các tạo ra Jiphy đang tập trung vào các tính năng mới trong ES6 để hỗ trợ tính năng của Python tốt hơn.

3. Brython

Một ngày nào đó, khi WebAssembly ra mắt chính thức, thì nó có thể phát triển các ứng dụng Web bằng bất cứ ngôn ngữ nào mà chúng ta đã chọn. Brython triển khai một phiên bản của Python 3 dành cho lập trình Web phía khách hàng qua một thư viện của JavaScript mà sẽ mô phỏng tất cả các từ khóa (keyword) và hầu hết các các cài đặt sẵn cho Python 3. Các script (kịch bản) được viết bằng Python có thể được gộp trực tiếp vào một trang Web, và Brython cung cấp một giao diện mô đun của Python ở mức độ cao (browse) dùng để thực hiện công việc cùng với DOM và browse mà thông thường được thực hiện trực tiếp trong JavaScript.

Tuy nhiên, Brython cũng duy trì những hạn chế có trên JavaScript ở browse – chẳng hạn như, không có hỗ trợ trong việc xử lý hệ thống file nội bộ.

4. RapydScript

Về mặt khái niệm, RapydScript tương tự như CoffeeScript: Nhận code được viết theo Python, tạo ra JavaScript, và sử dụng những gì tốt nhất của cả hai ngôn ngữ. Đối với trường hợp của Python, đó là cú pháp sạch; đối với trường hợp của JavaScript, thì đó là các hàm ẩn danh, vận dụng DOM, và có thể sử dụng các thư viện của JavaScript hiện có như jQuery hoặc Node.js core.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/