JavaScript: автономный компилятор или интерпретатор для Windows?
Какие компиляторы или интерпретаторы JavaScript доступны для Windows?
Недавно я прочитал книгу Красноречивый JavaScript. Эта книга представляет читателя для программирования с использованием JavaScript в качестве первого языка. К сожалению, программы ограничены для запуска внутри браузера, встроенного в HTML. Итак, интересно, можно ли писать программы JavaScript, которые могут выполняться автономно.
Компилятор или интерпретатор должен быть легко доступен как предварительно скомпилированный двоичный, который может быть загружен и установлен новичком. Он должен иметь возможность писать простые автономные программы JavaScript, скомпилированные с помощью этого компилятора. Дополнительные библиотеки JavaScript, фреймворки, IDE и поддержка отладки, которые будут работать с этим компилятором, будут плюсом.
Ответы
Ответ 1
Node.js отлично работает как интерпретатор, даже если вы не хотите использовать его для веб-приложений. Это среда, которая работает на движке JavaScript V8. Он хорошо документирован с большим выбором официальных и сторонних модулей.
Он требует, чтобы cygwin запускался в Windows, хотя (или вы можете скомпилировать его с помощью MingW). Существуют предварительно скомпилированные двоичные файлы, включая необходимые библиотеки cygwin, доступные в node-js.prcn.co.cc.
Ответ 2
Никто еще не упомянул о компиляторе собственного javascript: http://msdn.microsoft.com/en-us/library/vstudio/7435xtz6(v=vs.100).aspx
Microsoft (R) JScript Compiler version 8.00.50727
for Microsoft (R) .NET Framework version 2.0.50727
Copyright (C) Microsoft Corporation 1996-2005. All rights reserved.
jsc [options] <source files> [[options] <source files>...]
JScript Compiler Options
- OUTPUT FILES -
/out:<file> Specify name of binary output file
/t[arget]:exe Create a console application (default)
/t[arget]:winexe Create a windows application
/t[arget]:library Create a library assembly
/platform:<platform> Limit which platforms this code can run on; must be x86, Itanium, x64, or anycpu, which is the default
- INPUT FILES -
/autoref[+|-] Automatically reference assemblies based on imported namespaces and fully-qualified names (on by default)
/lib:<path> Specify additional directories to search in for references
/r[eference]:<file list> Reference metadata from the specified assembly file
<file list>: <assembly name>[;<assembly name>...]
- RESOURCES -
/win32res:<file> Specifies Win32 resource file (.res)
/res[ource]:<info> Embeds the specified resource
<info>: <filename>[,<name>[,public|private]]
/linkres[ource]:<info> Links the specified resource to this assembly
<info>: <filename>[,<name>[,public|private]]
- CODE GENERATION -
/debug[+|-] Emit debugging information
/fast[+|-] Disable language features to allow better code generation
/warnaserror[+|-] Treat warnings as errors
/w[arn]:<level> Set warning level (0-4)
- MISCELLANEOUS -
@<filename> Read response file for more options
/? Display help
/help Display help
/d[efine]:<symbols> Define conditional compilation symbol(s)
/nologo Do not display compiler copyright banner
/print[+|-] Provide print() function
- ADVANCED -
/codepage:<id> Use the specified code page ID to open source files
/lcid:<id> Use the specified LCID for messages and default code page
/nostdlib[+|-] Do not import standard library (mscorlib.dll) and change autoref default to off
/utf8output[+|-] Emit compiler output in UTF-8 character encoding
/versionsafe[+|-] Specify default for members not marked 'override' or 'hide'
Обычно в некоторых окнах устанавливаются несколько копий, но они обычно не находятся на пути, поэтому вы должны их найти.
Компилятор способен компилировать файлы javascript в исполняемые файлы, которые могут запускаться на любой машине Windows с установленной .NET.
Ответ 3
Доступно несколько бесплатных автономных интерпретаторов Javascript:
- V8 - это тот же движок Javascript, который используется в браузере Chrome.
- SpiderMonkey - от Мозиллы.
- Rhino - реализация Javascript на Java.
Ответ 4
jsdb приятно. Я использую его в editplus, иногда в Aptana Studio
Ответ 5
Вы также можете в некоторых обстоятельствах запускать сценарии JScript (реализация Microsoft Javascript) непосредственно в командной строке.
Но мой личный фаворит - это Rhino, упомянутый в другом ответе.
Ответ 6
Хорошо, Windows Scripting Host - это инструмент для выполнения различных административных задач с использованием Microsoft Active Scripting и может запускать скрипты на разных языках, включая JScript, их реализацию ECMAScript. Больше нечего об этом говорить, поэтому укажите ваш браузер на ссылку - http://msdn.microsoft.com/en-us/library/shzd7dy4(VS.85).aspx
Забудьте о компиляторе, BTW, ECMAScript - интерпретируемый язык (компиляция JIT - это другая проблема)
Кроме того, обратите внимание, что стандарт ECMAScript не определяет никаких стандартных операций ввода-вывода, поэтому основная программа отвечает за его предоставление.
Ответ 7
Возможно, немного запутанный для того, что вы ищете, но вы можете использовать Rhino JavaScript Compiler для компиляции исходного кода JavaScript в файлы классов Java, которые затем может быть скомпилирован в двоичные исполняемые программы, используя стандартный интерфейс GCJ для компилятора GCC.
Как уже упоминалось, реализация JScript ECMAScript доступна по умолчанию при современных установках Windows. Файлы с расширением ".js" можно дважды щелкнуть или выполнить в командной строке с помощью команды cscript.exe.
Ответ 8
У меня также была такая же потребность, но в итоге я нашел приложение DeskJS (https://deskjs.wordpress.com). Это бесплатное и портативное консольное приложение Windows, которое позволяет запускать чистый код JavaScript и даже загружать любые существующие JS файлы. Он поддерживает основные всплывающие окна JS, реализованные в браузерах. Вы можете сохранять свои команды в виде файлов JS, которые можно запускать при запуске, или путем перетаскивания их в приложение. Плюс там гораздо больше, как вы можете создать систему сборки для Sublime Text, которая может запускать JS файлы через cmd, поддерживает темы для настройки всей консоли и фрагментов, которые позволяют вам сохранять короткие фрагменты кода JavaScript для последующего использования. Усовершенствования все еще выполняются в приложении вместе с другими встроенными API-интерфейсами.
Ответ 9
Вы пробовали Mozilla XUL и XULRunner? Это сложнее, чем просто интерпретатор, но он работает также на Mac OSX и Linux, а не только на Windows. Firefox и Thunderbird написаны с его использованием (да, Firefox написан на Javascript!). В следующем месяце в Варшаве состоится семинар XUL на конференции FalsyValues - ссылка.