компиляция javascript в исполняемый exe-файл
я знаю, что javascript создавался как интерпретируемый язык, но может есть возможность скомпилировать код яваскрипта в исполняемый exe-файл?
|
зачем?
|
просто интересно, в интернете на этот вопрос неоднозначное мнение, но если рассуждать логически, то получается вот такой ответ - синтаксис javascript похож на C++ и значит существует возможность компиляции на машинный язык...
|
Вариантов дофига:
1.Переименовать .html с js в .hta 2.Запускать .js файлы как есть.(для вывода юзать доп синтаксис JScript) 3.Всякое движки javascript, тот же ff на нём написан. 4. ... 5. ... 6. profit! |
нужен вариант, в котором файл js.js компилировался бы в исполняемый файл js.exe, возможно ли такое?И это без всяких дополнений различными махинациями в исходном коде программы
|
Цитата:
например PHP гораздо ближе к C++, нежели чем JS но при этом они(PHP и C++) все равно очень далеки от друг друга но, все три языка имеют схожий(не идентичный)синтаксис Цитата:
собираем его интерпретатор в машинный код, а в качестве входных данных указываем интерпретируемый файл ВСЕ! Итак вернемся к вопросу: зачем вам понадобился именно исполняемый файл exe? just 4 fun? или с практической точки зрения |
пока чисто теоретический интерес. Очень часто я встречал сообщения в интернете, что это невозможно, но ведь любой язык можно перевести в другой. Данные сообщения равносильны тому, например, что английский нельзя перевести на русский, но это как то глупо звучало бы, да? И данные сообщения исходят от считающих себя продвинутыми программистов!!!!!.....
|
Цитата:
1)либо вручную на это понадобится куча денег 2)автоматически не все языки одианаково хорошо переовдятся друг в друга автоматически полноценны перевдчик из одного языка в другой начинает свою стоимость от 1000$ сделать просто так(без денег) такой переводчик мало кто возьмется и доведет до конца не уверен, что есть такой переводчик для JS->компилируемый язык скорее всего нету а значит пока что невохможно |
для меня это пока чисто теоретический вопрос, я люблю решать такие практически нерешаемые задачи, но сейчас на это у меня нет времени, так что пока интересуюсь поверхностно, но возможно в скором будущем я займусь этим вопросом.
|
Цитата:
не проще сразу JS->машинный код ? А вообще есть очень похожий на js язык (прототипирование, замыкания и т. д.) и он, кажется, имеет компилятор, сейчас поищу. |
Вот, кажется подходит:
Цитата:
|
Цитата:
|
Берёте любой интерпретатор JavaScript, пакуете его в самораспаковывающийся архив вместе с нужным скриптом, указываете в свойствах архива команду, которую необходимо выполнить после распаковки -- получаем типа exe-файл. Какая задача -- такое решение.
Вариант 2, для истинных ценителей exe-файлов. Расковырять гугловский движок V8, он делает JIT-компиляцию скриптов, и переделать его на нужный лад :) |
надо было для работы написать браузер на ВБ(без доп кнопок), просто переделать, что б вместо страницы он выполнял JS
|
Цитата:
этот вариант наиболее близок к решению поставленной задачи, а идеальным решением было бы прямой перевод на машинный язык текста программы |
Цитата:
Для того чтобы делать выполняемые exe файлы есть куда более простые решения. А вы пока ещё упрямый ребёнок, который пытается выяснить у всех "почему крокодил зелёный?". И даже не смотря на то, что вам будут пытаться помочь и расскажут почему же он зелёный, вам еще долго будет казаться это занимательным и чем то загадочным. |
Цитата:
|
Поставим вопрос немного по другому...
Если я умею писать только на js и ни на чем больше (пусть такое и маловероятно, но допустим), и мне вот вдруг захотелось написать отдельное приложение для win? Как тогда готовый код js скомпилировать в отдельный exeшник? Я думаю автор это имел в виду. Ну и еще в вопросе проскальзывает подтекст, связанный с защитой кода от копирования. |
Woit,
не стоит строить домыслы о том, чего хочет другой человек на столь голых фактах |
Цитата:
|
Можно написать такое приложение, но exe-файл должен содержать небольшой код интерпретатора команд или объект webbrowser. Я сейчас делаю такие программы. Например:
1) IPreader http://dl.dropbox.com/u/3467322/RSS/IPReader/ipreader.zip(360kB). Интерфейс написан на HTML и Javascript. 2) Конфигуратор электросчетчиков Меркурий http://dl.dropbox.com/u/3467322/RSS/Konfigurator/konfigurator.zip(1.2MB). Полнофункциональный проект для фирмы Инкотекс. Мне нравится сама идея использовать HTML и Javascript для создания интерфейса программы, она позволяет значительно улучшить красочность программ. |
|
Вижу что есть люди которым интересно ненормальное программирование, поэтому открыл новый блог по созданию приложений на основе браузера.
Приглашаю к обсуждению. |
Вы не поверите, но "скомпилировать" js -> exe можно:
раздел Standalone JSDB programs |
Я же не против, причем обоими руками за. Дело в том что можно писать на любом языке программирования, а системный подход останется один и тот же. Получить исполняемый файл с Javascript можно, причем на любом языке программирования. Рядом со мной девочка пишет на Borland C++, я использую малоизвестный AutoHotKey, а вы JSDB.
|
Цитата:
|
Цитата:
Цитата:
Создаете окно программы с помощью любо языка программирования, который содержит компилятор и может получать экзешник. Встраиваете в него например объект WebBrowser, с помощью переменной передаете в WebBrowser текст своего Javascript, компилируете проект и получаете исполняемый файл. Все. Более подробно можно посмотреть как делаю это я http://j2-webdesignblog.blogspot.com. Удачи. |
А с чего вы взяли, что в любом языке есть объект WebBrowser?
|
Если его нет, то его можно встроить руками, я ведь именно так и поступаю. WebBrowser встраивается как COM-объект.
|
Цитата:
|
Цитата:
словом: 1. если это wintel машина -- доставить dotnet (от 2 и до...) 2. далее по инструкции Создание, компиляция и отладка кода JScript |
а мне JScript.NET по душе, только вот синтаксис и кроссплатформенность привести в порядок и можно забыть про C# наверое.
|
Кому данная тема еще интересна.
Предлагаю посмотреть несколько примеров, каким способом можно упаковывать Javascript и HTML в EXE на основе Autohotkey+COM+HTML+Javascript+Jquery. Грабли браузеров Каскадные таблицы стилей Повороты Управляемая HTML-страница Упаковка Javascript и HTML в exe-файл с помощью AutoHotKey На перепутье Internet Explorer и WebBrowser Web-интерфейс Может кому пригодится... |
1. Appcelerator Titanium
2. W3С Widget (не совсем .exe и работает только при наличии Оперы, на сегодняшний день) |
Вот эта программа компилит HTA в exe. Не требует плясок с бубном.
Если не встречались с HTA (HTML Application), читаем тут. Компиляция только под win. Плюсы: используется объектная модель браузера, можно писать на VBS, JS. Минусы: hello, IE!; Размер экзешника больше листинга. Подозреваю, что скорость невелика, но не тестировал. Приложение платное, но триал вечный и без ограничений. |
Цитата:
Спасибо за ссылку. Я уже достаточно много приложений написал пользуясь технологией Autohotkey+COM+HTML+Javascript+Jquery. Последнее время стал смотреть в сторону QT, который позволяет работать на C++, делать многопоточные приложения, бесплатен, содержит большое количество классов и самое главное может использовать HTML интерфейсы (только они ввели некоторые изменения и назвали QML, но это не суть). В применяемой мной технологией Autohotkey+COM+HTML+Javascript+Jquery мне не хватило многопоточности, остальное работает на ура. Может кто знает какие приложения способны делать такой функционал с обязательной многопоточностью. |
Кажется нашёлся способ....
В среде hiasm есть элемент js или vb код...:) Попробовал вроде бы получилось.
|
jxcore компилит nodejs проекты как положено
http://jxcore.com/ - компилит всё что вам надо.
|
vvl,
чувак, эта тема уже несколько лет как неактуальна) |
Safort, почему? Очень даже актуальна.
С моей стороны озвучу давно известные и самые популярные, на сегодняшний день, инструменты: http://electron.atom.io/ http://nwjs.io/ |
Часовой пояс GMT +3, время: 15:33. |