16

Một lot trong số questions đã được hỏi và trả lời về việc chạy javascript phía máy chủ trên Google App Engine, nhưng tất cả các câu trả lời đều xử lý các phiên bản Java để sử dụng các phiên dịch JS dựa trên Java như Rhino, Rhino for Webapps, v.v.Có thể thực thi javascript phía máy chủ từ một phiên bản * Ứng dụng Google Engine * của Google không?

Có cách nào để thực thi mã javascript phía máy chủ trên phiên bản Python GAE không? Tôi đang suy nghĩ một cái gì đó chính xác dọc theo dòng pyv8, nhưng với sự hỗ trợ cho App Engine (mà tôi đoán sẽ có nghĩa là một thực hiện python tinh khiết của thông dịch viên). Giải pháp duy nhất tôi có thể đưa ra hiện tại là sử dụng một số loại hack tổng thể để chạy một đối tượng Java và Python GAE side-by-side (thông qua các phiên bản khác nhau) để cả hai có thể nói chuyện với cùng một kho dữ liệu , cho phép cá thể Java lưu trữ mã JS và sử dụng API để nói ngược lại. Không hấp dẫn lắm.

Không cần phải tham gia vào tất cả các "điều này là không cần thiết, bạn không nên làm điều này" thảo luận - Tôi biết điều này là không lý tưởng và tôi chỉ đơn giản là tò mò nếu nó có thể được thực hiện.

+1

Bạn không cần bất kỳ loại hack nào để chạy phiên bản Python và Java của cùng một ứng dụng. Chỉ cần tải chúng lên các phiên bản khác nhau của cùng một ứng dụng. Chỉ một phiên bản có thể là phiên bản mặc định, nhưng đó có thể không phải là một bộ ngắt thỏa thuận. –

+1

Tôi đã thêm một giải thích cho nhận xét "tổng hack" của mình - không phải là hai phiên bản là một hack khổng lồ, nó chỉ là chạy một phiên bản Java và Python cạnh nhau để thực hiện điều này. – kamens

Trả lời

3

Theo như tôi có thể tìm thấy: Không

tôi đã thực hiện một chút tìm kiếm, nhưng có vẻ như không ai đã cố gắng thực hiện một động cơ Python Javascript tinh khiết, và tôi không thể đổ lỗi cho họ: nó sẽ là một số lượng lớn công việc cho rất ít trường hợp sử dụng (không may, bạn là một trong số đó). Một vài dự án — Grailbrowser và Pybrowser — có mã Python để hiển thị HTML, vì vậy có thể một ngày nhằm mục đích chạy javascript, nhưng nó thậm chí không bắt đầu, và không ai trong số họ nhìn vào phát triển tích cực.

Cách có khả năng nhất sẽ xảy ra là nếu Google cung cấp máy ảo Parrot (có thể chạy nhiều ngôn ngữ động) trên Appengine. Đó là một ý tưởng tuyệt vời, nhưng tôi không nín thở.

2

Điều gì có thể hoạt động là chạy Jython (và Rhino) trong một cá thể Java. Tất nhiên, sau đó bạn sẽ phải truy cập vào bất kỳ dịch vụ ứng dụng nào thông qua API Java, không phải là dịch vụ Python, điều này sẽ rất xấu.

0

Tôi hiện đang cố gắng để solvevthe cùng một vấn đề với PyJON

http://code.google.com/p/pyjon/

Dường như là một trình phân tích cú pháp Java JavaScrit thuần túy thông dịch viên.

Các vấn đề liên quan