23

Tôi đã theo dõi những phát triển mới nhất với JavaScript phía máy chủ - đặc biệt là Node.js - và tự hỏi liệu có khả năng sử dụng cách tiếp cận này để phát triển ứng dụng web của Google App Engine hay không. hoặc Java?Có thể phát triển ứng dụng web của Google App Engine bằng cách sử dụng Node.js hoặc một số phương pháp tiếp cận JavaScript phía máy chủ khác không?

+2

tôi sẽ không ở tất cả ngạc nhiên khi thấy Google cung cấp một runtime V8 có trụ sở tại AppEngine, nhưng tôi sẽ không nghĩ rằng Node.js sẽ chạy trên nó, như Robert ghi chú trong câu trả lời dưới đây. Táo thường không phát triển trên cây cam. –

Trả lời

19

node.js sử dụng mô hình vòng lặp sự kiện không thực sự phù hợp với thiết kế App Engine hiện tại.

Tuy nhiên, có một số dự án đưa JavaScript vào App Engine. Hãy xem App Engine issue 35 để đọc về một số giải pháp. Điểm nổi bật là: Rhino, Rhino For Webapps, nếu bạn thích Python, hãy kiểm tra AppengineJS. Tôi cũng nghe nói rằng RingoJS có thể đáng xem xét.

+5

Câu trả lời hay, Robert. Tôi chỉ thêm vấn đề AppEngine # 35 (http://code.google.com/p/googleappengine/issues/detail?id=35) là chock-a-block với hồi hộp nhanh chóng hơn và beseechments cho Google để thực hiện V8 runtine /Node.JS cho AppEngine. Mức độ ưu tiên là 'Trung bình'. Tôi không biết về Google, nhưng khi tôi làm việc, ưu tiên phương tiện Trung bình, "Yêu cầu của bạn được xác nhận và sẽ bị bỏ qua". Nó lưu ý rằng không có ý kiến ​​nào về vấn đề giải quyết điểm tuyệt vời của Robert rằng có một trở kháng không phù hợp giữa vòng lặp sự kiện của Node.js và định hướng yêu cầu của AppEngine. –

+0

Điều gì về node.jar upcomming từ nashorn? –

+0

trông giống như AppengineJS.org không tồn tại. –

2

Tornado có thể chạy trên công cụ ứng dụng và tương tự như node.js nhưng sử dụng python và có cách tiếp cận năng suất tốt. Nhưng có những hạn chế với việc sử dụng cơn lốc xoáy trên công cụ ứng dụng có thể đánh bại đối tượng sử dụng nó cho dự án của bạn. Xem cơn lốc xoáy trên github để biết thêm thông tin Tôi sử dụng cả hai nhưng node.js với middelware kết nối và express.js để làm cho nút dễ sử dụng hơn cho các ứng dụng web đơn giản.

3

Ngoài ra, bạn có thể muốn xem ApeJS. Một khuôn khổ nhỏ tôi đã viết tương tự như AppengineJS nhưng tối giản hơn.

http://lmatteis.github.com/apejs/

1

Bây giờ lựa chọn tốt nhất là sử dụng Google Compute Engine và Datastore>link here

Bạn có thể sử dụng Google Compute Engine để lưu trữ Node.js bạn ứng dụng và sử dụng google-api-nodejs -client để kết nối với kho dữ liệu:

  1. Bạn cần tạo dự án trong Google API Console và kích hoạt với Compute Engine dịch vụ cho nó
  2. Bạn phải kích hoạt Google Cloud Datastore API (xem link ở trên)
  3. Bạn cần phải thiết lập của bạn dataset-id (cùng nhận dạng như dự án đám mây Google của bạn ID).
  4. Bạn cần kết nối với phiên bản Compute Engine với cả kho dữ liệu và phạm vi userinfo.email (hỗ trợ node.js cho tài khoản dịch vụ dựa trên chứng chỉ chưa được triển khai).
  5. Bạn cần môi trường node.js đang hoạt động trong máy Tính toán của bạn.
  6. NPM cài đặt google-api-nodejs-client trong quản trị của bạn công cụ dòng lệnh

Và bạn phải sẵn sàng để đi

+1

Bạn nên thêm thông tin khác vào câu trả lời của mình. Ngay bây giờ nó chỉ là một liên kết. nếu liên kết đó biến mất, câu trả lời sẽ trở thành vô ích. –

+1

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. – singles

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