2012-01-09 3 views
55

Я создал приложение, использующее node.js, и мне интересно узнать, можно ли упаковать клиентскую часть (js, html, css) и серверную часть в автономное приложение (которое не требует браузера).Можно ли создавать настольные приложения с node.js?

+0

Я полагаю, вы имеете в виду "используя обычный интерфейс"? Это не для этого, поэтому я сомневаюсь, что это было бы очень полезно для этого. Мы используем наши рамки для того, для чего они предназначены. nodejs даже не язык, поэтому помните об этом. Это всего лишь фреймворк для запуска приложения javascript против виртуальной машины javascript. – jcolebrand

+2

Это похоже на дубликат пула: http://stackoverflow.com/questions/6145561/is-there-a-way-to-compile-node-js-source-files, http://stackoverflow.com/questions/7557364/packing-node-js-scripts-node-exe-in-one-executable, 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-with-node-js, http://stackoverflow.com/questions/13388108/standalone-node-js-application – Mogsdad

+0

Хороший список инструментов находится здесь: http: // stackoverflow ,com/a/12486874/32679 – GrGr

ответ

45

https://github.com/rogerwang/node-webkit проект с целью запуска экземпляра WebKit браузера в том же процессе, что и nodejs. Это позволяет вам напрямую использовать API узлов в браузере. Он в настоящее время работает только на linux теперь работает на Windows, Mac и Linux.

+0

Это похоже на appjs - хотя node-webkit позволяет вам использовать функции Javascript непосредственно из DOM, в то время как appjs (по-видимому) требует как серверной, так и клиентской стороны. –

+0

Кроме того, есть ли у вас инструкции по установке node-webkit? Я с нетерпением жду его изучения. –

+1

Теперь он поддерживает Linux, Mac OSX и Windows. – counterbeing

8

Я расследовал эту тему, так как был анонсирован проект node-webkit.
У меня есть блог о моих первых попытках http://csainty.blogspot.com/2012/01/creating-desktop-apps-with-nodejs.html

В последней капли кода теперь вы можете указать функцию обратного вызова приложения должна завершиться, что делает его легко теперь создать экземпляр Applicaton и локальный веб-сервер при запуске приложения. Затем закройте его полностью, когда он закрыт.

Это упрощает перенос веб-приложения на рабочий стол в зависимости от того, какие у вас могут быть другие зависимости сервера.

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

С nwjs нет необходимости запускать веб-сервер на сервер. Вы можете установить «main»: «app/index.html» в manifest.json, он может загрузить webapp из локальных файлов, а ограничения безопасности не будут применяться, вы можете сделать ajax и т. Д. – sibidiba

7

вы можете написать приложение на рабочем столе, используя Qt с узлом

посмотреть связывающую

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

+2

К сожалению, выглядит, что хороший проект не слишком много поддерживается. – taseenb

13

Я также расследует это.

AppJS выглядит очень многообещающим как api для создания кросс-платформенных настольных приложений с использованием HTML5, CSS3 и NodeJS. К сожалению для меня это, вероятно, недостаточно хорошо для моего следующего проекта.

+0

+1 для отличной находки. Проект выглядит хорошо с несколькими уже разработанными приложениями. –

Смежные вопросы