2012-01-09 42 views
55

Tôi đã tạo một ứng dụng bằng cách sử dụng node.js và tôi muốn biết liệu có thể đóng gói phía máy khách (js, html, css) và phía máy chủ vào một ứng dụng độc lập (không yêu cầu trình duyệt không).Có thể tạo các ứng dụng dành cho máy tính để bàn với node.js không?

+0

Tôi cho rằng bạn có nghĩa là "sử dụng một giao diện người dùng thông thường"? Nó không được thiết kế cho điều đó, vì vậy tôi nghi ngờ rằng nó sẽ rất hữu ích cho điều đó. Chúng tôi sử dụng khuôn khổ của chúng tôi cho những thứ họ được thiết kế. nodejs thậm chí không phải là một ngôn ngữ, tho, vì vậy hãy nhớ điều đó. Nó chỉ là một khuôn khổ để chạy một ứng dụng javascript với một máy ảo javascript. – jcolebrand

+2

Điều này dường như là một phần của một hồ bơi trùng lặp: http://stackoverflow.com/questions/6145561/is-there-a-way-to-compile-node-js-source-files, http://stackoverflow.com/câu hỏi/7557364/đóng gói-nút-js-script-nút-exe-thành-một-thực thi, http://stackoverflow.com/questions/8173232/make-exe-from-node-js-app, http : //stackoverflow.com/questions/8794140/is-it-possible-to-create-desktop-applications-with-node-js, http://stackoverflow.com/questions/9724817/how-to-create-a -stand-alone-command-line-application-với-nút-js, http://stackoverflow.com/questions/13388108/standalone-node-js-application – Mogsdad

+0

Một danh sách tốt các công cụ ở đây: http: // stackoverflow .com/a/12486874/32679 – GrGr

Trả lời

45

https://github.com/rogerwang/node-webkit là một dự án với mục tiêu chạy một thể hiện của webkit công cụ trình duyệt trong cùng một tiến trình như nodejs. Nó cho phép bạn trực tiếp sử dụng các API nút trong trình duyệt. Nó hiện chỉ hoạt động trên linux hoạt động trên Windows, Mac và Linux ngay bây giờ.

+0

Điều này trông giống như appjs - mặc dù nút-webkit cho phép bạn sử dụng các hàm Javascript trực tiếp từ DOM, trong khi appjs (rõ ràng) yêu cầu cả phía máy chủ và phía máy khách. –

+0

Ngoài ra, bạn có bất kỳ hướng dẫn nào để cài đặt nút-webkit không? Tôi rất mong được học nó. –

+1

Có vẻ như bây giờ hỗ trợ Linux, Mac OSX và Windows. – counterbeing

8

Tôi đã điều tra chính chủ đề này kể từ khi dự án node-webkit được công bố.
Tôi có một bài viết trên blog về những nỗ lực ban đầu của tôi http://csainty.blogspot.com/2012/01/creating-desktop-apps-with-nodejs.html

Trong thả mã mới nhất bây giờ bạn có thể chỉ định một closedown callback ứng dụng, mà làm cho nó dễ dàng tại để nhanh chóng applicaton của bạn và một máy chủ web localhost khi ứng dụng được khởi động. Sau đó đóng tất cả xuống khi nó được đóng lại.

Điều này làm cho việc chuyển ứng dụng web sang màn hình trở nên dễ dàng tùy thuộc vào những phụ thuộc máy chủ khác mà bạn có thể có.

var nwebkit = require('node-webkit'), 
    http = require('http'); 

var server = http.createServer(function (req, res) { 
    // If you need it you can create a local web server 
    // You can also use express etc if preferred 
    }).listen(3000, '127.0.0.1'); 

nwebkit.init({ 
    'url': 'index.html', 
    'width': 800, 
    'height': 600, 
    'onclose': function() { 
     server.close(); 
    } 
}); 
+0

Với nwjs không cần phải khởi động máy chủ web để máy chủ webapp tài sản tĩnh. Bạn có thể đặt "main": "app/index.html" trong manifest.json, nó có thể tải webapp từ các tệp cục bộ và các hạn chế bảo mật sẽ không áp dụng, bạn có thể tạo ajax, v.v. – sibidiba

7

bạn có thể viết một ứng dụng máy tính để bàn sử dụng Qt với nút

thấy điều này ràng buộc

https://github.com/arturadib/node-qt

+2

Thật không may trông giống như dự án đẹp đó không phải là duy trì quá nhiều nữa. – taseenb

13

Tôi cũng đang điều tra này.

AppJS trông rất hứa hẹn như là một api để xây dựng các ứng dụng nền tảng đa nền tảng sử dụng HTML5, CSS3 và NodeJS. Thật không may cho tôi nó có lẽ không đủ phát triển cho dự án tiếp theo của tôi.

+0

+1 để tìm kiếm tuyệt vời. Dự án có vẻ tốt với một số ứng dụng đã được phát triển. –

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