2011-01-24 5 views
6

JavaScript로 Windows 데스크톱 응용 프로그램을 만들 수 있습니까?자바 스크립트 데스크톱 응용 프로그램?

HTA (HTML 응용 프로그램) 프로그램을 알고 있지만 Visual Studio에 포함 된 DLL 라이브러리를 사용할 수있는 최신 .NET 솔루션이 있는지 궁금합니다. (가) 포함 된 인터넷 익스플로러 수 있습니다

a)는 WPF 또는 Windows에서 WebBrowserObject Forms 응용 프로그램 :

최신
+0

를 내가 .NET에 대해 잘 모르지만 액션 스크립트는 자바 스크립트와 매우 유사합니다. Flex/AIR을 사용하면 데스크톱 응용 프로그램을 만들 수 있습니다. – zawhtut

답변

4

.NET 버전은 기능이없는,하지만 당신은 그것을 할 수있는 옵션을했습니다.

b) Opera Widgets은 표준 웹 기술로 데스크탑 응용 프로그램을 구현할 수있는 Opera 브라우저 기반의 프레젠테이션 엔진이며 W3C 위젯 표준을 따릅니다. 이 응용 프로그램은 독립 실행 형이므로 사용자가 Opera를 실행하지 않아도 실행할 수 있습니다. 오페라가 사용자 컴퓨터에 설치되어야합니다.

Mozilla XUL과 같은 다른 옵션이 있지만 데스크톱 응용 프로그램 개발에 대한 지원이 제한되어있어 사용하지 못할 수 있습니다.

+1

이 자습서 (http://www.webreference.com/js/column117/index.html)를 따라 Windows Forms 응용 프로그램을 시험해 보는 것처럼 보입니다. 감사! – 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, 이는 대중적인 믿음과는 달리 플래시를 실제로 사용할 필요가 없습니다. 적극적으로 개발 된 폐쇄 소스.
  • Appcelerator Titanium Desktop이 모두 공개 소스이며 적극적으로 개발되었습니다.
+0

Flash를 사용하지 않고 AIR에서 GUI를 만드는 방법은 무엇입니까? 플래시가 모든 그래픽 요소를 처리하지 않습니까? 또한 AIR에서 개발하려면 Adobe IDE를 구입해야합니까? 크로스 플랫폼 호환성에 대해서는별로 관심이 없다는 점에 유의하십시오. – posfan12

+0

AIR 런타임에는 실제로 웹킷이 포함되어 있습니다. "안녕하세요 세상"순수한 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

나는이 질문은 조금 오래 알고 있지만, 나는 거기 밖으로 Google 직원 답을 줄 알았는데.

this project을 사용할 수 있습니다.기본적으로 .Net 프레임 워크에 액세스 할 수있는 자바 스크립트 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); 

귀도

관련 문제