Настольные приложения JavaScript?

можно ли создавать настольные приложения Windows в JavaScript?

Я знаю о программах HTA (HTML Application), но мне было интересно, есть ли более новое решение .NET, где я мог бы использовать библиотеки DLL, включенные в Visual Studio.

5 ответов


последняя версия .NET не имеет такой функции, но у вас есть варианты, чтобы сделать это:

a) WebBrowserObject в приложении WPF или Windows Forms (это будет встроенный Internet Explorer).

b) Opera Widgets, которая является браузером Opera на основе механизма презентации, который позволяет реализовать настольные приложения со стандартными веб-технологиями, и он следует стандарту W3C widgets. Эти приложения могут работать автономно, что означает, что пользователю не нужно будет открывать Opera для запуска их. Есть аналог: Opera должна быть установлена на компьютере пользователя.

есть и другие варианты, такие как Mozilla XUL, но его ограниченная поддержка разработки настольных приложений помешает вам использовать его.


Я знаю, что этот вопрос немного староват,но я думал, что отвечу за гуглеров.

можно использовать этот проект. Его в основном JavaScript interepter, который имеет доступ к .Net framework.

Так что вы могли бы сделать что-то вроде:

jish.assembly('path/to/System.Windows.Forms.dll');

var mb = jish.create('System.Windows.Forms.MessageBox');
mb.Show('Hello World');

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

Дайте мне знать, если кто-то попробует его.

изменить 1: Ну, я попробовал его с немного более сложным примером, и он также работал. Попробуйте это:

jish.assembly('path/to/System.Drawing.dll')
jish.assembly('path/to/System.Windows.Forms.dll')

var app = jish.create('System.Windows.Forms.Application');
var form = jish.create('System.Windows.Forms.Form');
var lbl = jish.create('System.Windows.Forms.Label');
form.Text = lbl.Text = 'Hello World!';
lbl.Location = jish.create('System.Drawing.Point', 50, 50);
form.Controls.Add(lbl);

app.Run(form);

Гвидо


есть несколько решений, которые позволят вам упаковать код javascript/html / css в кросс-платформенное "родное" приложение, обычно в комплекте с установщиком и механизмом обновления.

с макушки моей головы:

  • Mozilla Prism, по-видимому, больше не находится в активной разработке. открытый исходный код.
  • Adobe AIR, который на самом деле не должен использовать Flash, вопреки распространенному мнению. активно разрабатываемый, закрытый исходный код.
  • Appcelerator Titanium Desktop, который является открытым исходным кодом и активно развивается.

вы можете использовать среду Xulrunner Mozilla для использования локального JavaScript в создаваемом приложении. Среда Mozilla может воспользоваться преимуществами компонентов XPCOM и компоненты XPCOM могут быть разработаны с использованием C++.

поэтому одним из вариантов может быть использование этой проверенной среды для создания вашего приложения с использованием JavaScript и XUL, а также использование мощности C++ и DLL в компонентах XPCOM.

примеры настольных приложений разработанные на этой платформе включают:


вы можете использовать WebKit в приложении WinForms (HTML-движок, используемый в Safari и Google Chrome).

управление .Net:http://webkitdotnet.sourceforge.net/