2011-01-24 13 views
6

JavaScriptでWindowsデスクトップアプリケーションを作成することはできますか?JavaScriptデスクトップアプリケーションですか?

私はHTA(HTMLアプリケーション)プログラムを知っていますが、Visual Studioに含まれているDLLライブラリを利用できる新しい.NETソリューションがあるのだろうかと思っていました。

+0

を私は、.NETについて多くを知らないが、ActionScriptはJavaScriptに非常に似ています。 Flex/AIRを使用すると、デスクトップアプリケーションを作成できます。 – zawhtut

答えて

4

最新の.NETバージョンでは、このような機能を持っていませんが、あなたはそれを行うためのオプションました:

a)のA WPFでWebBrowserObjectまたはWindowsフォームアプリケーションをを(それが埋め込まれたInternet Explorerのでしょう)。

b)Opera WidgetsはOperaブラウザベースのプレゼンテーションエンジンで、標準のWebテクノロジでデスクトップアプリケーションを実装し、W3Cウィジェット標準に準拠しています。これらのアプリケーションはスタンドアローンで実行できます。つまり、ユーザーはOperaを起動する必要がありません。対応があります:Operaはユーザーのマシンにインストールする必要があります。

Mozilla XULのような他のオプションがありますが、デスクトップアプリケーション開発のサポートが限られているため、使用できません。

+1

このチュートリアルでは、Windows Formsアプリケーションを試しているようです:http://www.webreference.com/js/column117/index.html。ありがとう! – posfan12

2

ビルドしたアプリケーションでMozillaのXULRunner環境を使ってローカルJavaScriptを利用することができます。 Mozillaの環境は、XPCOMコンポーネントとXPCOM components can be developed using C++を利用することができます。

したがって、この試行錯誤した環境を使用して、JavaScriptとXULを使用してアプリケーションを構築し、XPCOMコンポーネントでC++とDLLの機能を使用することもできます。このプラットフォーム上で開発されたデスクトップアプリケーションの

例としては、

3

をお聞かせしますが、いくつかの解決策アウトがあります。パッケージjavascript/html/cssコードをクロスプラットフォームの "ネイティブ"アプリケーションにインストールします。通常、インストーラと更新メカニズムを使用します。私の頭の上オフ

  • Mozilla Prism、ないアクティブな開発中のもう、明らかに。オープンソース。
  • Adobe AIR、これは一般的な信念に反して、実際にはFlashを使用する必要はありません。積極的に開発されたクローズドソース。
  • Appcelerator Titanium Desktopであり、どちらもオープンソースであり、積極的に開発されています。
+0

Flashを使用せずにAIRでGUIを作成するにはどうすればよいですか? Flashがすべてのグラフィック要素を処理しないのですか?また、AIRで開発するには、Adobe IDEを購入する必要がありますか?クロスプラットフォームの互換性にはあまり関心がありませんが、それはプラスです。 – posfan12

+0

AIRランタイムには実際にWebkitが含まれています。 「こんにちは世界」の純粋なHTMLエアーアプリを作る方法を示す古いブログの記事は次のとおりです:http://filchiprogrammer.wordpress.com/2008/03/12/creating-a-sample-hello-world-adobe-air-application -with-html-and-javascript/- AIRアプリケーションをコンパイルする限り、Adobeの無料Air SDK(http://www.adobe.com/products/air/sdk/)で行うことができます。あなたが自由なIDEを望むならば、FlashDevelopはおそらく現在そこにある最善のオプションでしょう。 – Metal

5

私はこの質問は少し古いですけど、私は、私はそこのGooglerのためにお答えしようと思いました。

this projectを使用できます。基本的に.Netフレームワークにアクセスできるjavascriptのinterepterです。

だからあなたのようなもの行うことができます:

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

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

をそして、それは動作しますが、私はしかし、より複雑なリサイズを試していませんでしたので、それが最終的に落下するかどうかを言うことができないアプリ。

誰でも試してみてください。

編集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); 

グイド

関連する問題