Разработка приложений для Windows с JavaScript - PullRequest
11 голосов
/ 31 августа 2010

В настоящее время я нуждаюсь в разработке приложения для Windows.Я хочу, чтобы все было просто (в духе uTorrent), и я хотел бы, чтобы в результате программа представляла собой один файл .exe, содержащий все, что ей нужно.

Программа проста.Это просто нужно немного интерфейса.Он должен работать в течение длительного периода времени (лежал там как иконка в трее).Он должен выполнять некоторые рутинные задачи, такие как простой ввод / вывод.Ему также необходим доступ к Интернету, в частности к некоторому веб-серверу.

Помимо этих небольших требований, я хотел бы написать все это на JavaScript, так как мне удобнее, чем на любом другом языке.

Я знаю, что есть такие вещи, как Windows Script Host, которые позволяют запускать программы JavaScript и взаимодействовать с некоторыми Win32 API, но смогу ли я делать все, что мне нужно, с Windows Script Host?Могу ли я упаковать все хосты сценариев Windows в один файл .exe?

Если нет, какие у меня есть альтернативы для JavaScript?

Ответы [ 11 ]

8 голосов
/ 01 сентября 2010

Я обнаружил, что на самом деле есть компилятор JavaScript, который поставляется с платформой .NET под названием jsc.exe.

Для получения дополнительной информации:

http://www.phpied.com/make-your-javascript-a-windows-exe/

http://msdn.microsoft.com/en-us/library/7435xtz6(VS.80).aspx

Полагаю, это не совсем JavaScript, поскольку он вводит дополнительные вещи, такие как import и даже некоторый синтаксис class, что странно для меня.Но это прекрасно работает для меня, так как я буду просто делать вещи, как я привык в Интернете.

3 голосов
/ 03 марта 2013

Кажется, никто не упомянул JSDB .

JSDB предлагает среду командной строки, в которой вы можете выполнить произвольный код JavaScript. Вы можете легко скомпилировать в файл .exe с помощью команды copy /b jsdb.exe+program.zip program.exe

Важно знать, что вы должны вызывать ваш основной js-файл main.js в стандартном zip-файле. Не уверен, что требуется имя программы .zip.

На самом деле я еще не пробовал создавать приложения с графическим интерфейсом, хотя, похоже, он поддерживает различные API, такие как ActiveX.

Возможно, что с помощью команды copy / b, упомянутой выше, вы можете скомпилировать скрипт из файла wscript.exe - но я попытался и не смог заставить его работать. Дайте мне знать, если кто-нибудь попытается и добьется успеха.

3 голосов
/ 31 августа 2010

Я думаю, что вы ищете Adobe AIR

Среда выполнения Adobe® AIR® 2 позволяет разработчикам использовать HTML, JavaScript, программное обеспечение Adobe Flash® и ActionScript® для создания веб-приложений, которые работают как автономные клиентские приложения без ограничений браузера. ~ Веб-сайт AIR

3 голосов
/ 31 августа 2010

Помимо хоста скриптов Windows, есть

Оба написаны с использованием стандартных веб-технологий, HTML, JavaScript, Flash и т. Д. Они также могут быть расширены с помощью объектов COM / элементов управления ActiveX, таких как FileSystemObject, WMI, WScript или даже тех,ты пишешь сам.Гаджеты рабочего стола Windows имеют доступ к отдельному API / пространству имен с различными свойствами и методами Win32.

2 голосов
/ 31 августа 2010

Я считаю, что лучший способ - это V8 JavaScript Engine , предоставленный Google.

" V8 может работать автономно или можетбыть встроенным в любое приложение C ++. "- который, я считаю, идеально подходит для ваших нужд, потому что вы можете выполнять большую часть работы с JavaScript и использовать предоставленные интерфейсы для взаимодействия с системой.

2 голосов
/ 31 августа 2010

Internet Explorer представил концепцию гипертекстовых приложений в IE 5. Он никогда не совершал большой прорыв, поэтому ресурсы и документация недостаточны.

Конкурент на основе Mozilla Prism кажется живым и здоровым, хотя, безусловно, стоит посмотреть.

Prism - это приложение, которое позволяет пользователям разделять веб-приложения из браузера и запускать их прямо на рабочем столе

0 голосов
/ 24 августа 2012

Chromium Embedded Framework (CEF) может оказать вам некоторую помощь.Я не знаю точно, как, но я действительно нашел много приложений, использующих эту платформу.

http://code.google.com/p/chromiumembedded/

Представьте для CEF: Chromium Embedded Framework (CEF) - проект с открытым исходным кодом, основанныйМаршаллом Гринблаттом (Marshall Greenblatt) в 2008 году для разработки элемента управления веб-браузером на основе проекта Google Chromium.CEF в настоящее время поддерживает ряд языков программирования и операционных систем и может быть легко интегрирован как в новые, так и в существующие приложения.Он был разработан с нуля с учетом как производительности, так и простоты использования.Базовая структура включает в себя программные интерфейсы C и C ++, предоставляемые через собственные библиотеки, которые изолируют хост-приложение от деталей реализации Chromium и WebKit.Он обеспечивает тесную интеграцию между управлением браузером и хост-приложением, включая поддержку пользовательских плагинов, протоколов, объектов JavaScript и расширений JavaScript.Хост-приложение может дополнительно управлять загрузкой ресурсов, навигацией, контекстными меню, печатью и т. Д., Используя ту же производительность и технологии HTML5, которые доступны в веб-браузере Google Chrome.

Многочисленные люди и организации тратят время и ресурсыподдерживать развитие CEF, но всегда приветствуется более активное участие сообщества.Это включает в себя поддержку как основного проекта CEF, так и внешних проектов, в которых CEF интегрируется с дополнительными языками программирования и структурами (см. Раздел «Внешние проекты» ниже).

0 голосов
/ 31 августа 2010

Если вам нужен один .EXE, с какими средами выполнения вы в порядке, если они требуют предварительных условий?

Если вы согласны с требованием предустановки среды выполнения .NET, тогда вы выполняете всю свою работув JScript.NET

0 голосов
/ 31 августа 2010

Почему бы не использовать Rhino - JavaScript на JVM? Вы даже можете скомпилировать свои сценарии в файлы .class и упаковать их в JAR вместе с Rhino для легкого распространения ...

0 голосов
/ 31 августа 2010

Раскрась меня с ума, но это всего лишь короткий шаг от Javascript до Java или C #.Я бы предложил C #, поскольку на машине с Windows библиотеки уже есть.Вы можете просто скопировать ваш .exe и начать копировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...