@murmuringvoices
Звукорежиссер

Десктопные приложения на интерпретируемых языках. Как это работает?

Вопрос. Я начал изучать всякое программирование потихоньку, и стало интересно. Насколько я понимаю, когда ты делаешь приложение на каком-то компилируемом языке - ты компилируешь исходный код, получаешь бинарник, и если он был собран под правильную архитектуру - он скорее всего запустится. Ну, это если очень упростить всё. Но я слышал, что люди делают десктопные приложения на всяких там питонах и других интерпретируемых языках. Можно ли так сделать, и если да - как сделать приложение на подобном языке, которое не будет требовать от конечного юзера установки интерпретатора со всеми модулями и остальным окружением? Говорю про питон потому, что начал потихоньку его учить. Но сам вопрос мне интересен в целом, без привязки к конкретному языку.
В заголовке написал "десктопные", потому что остальные обычно предполагают либо наличие окружения, либо предполагают, что человек в состоянии его установить. Так - совсем не обязательно именно десктопные.

UPD: Речь тут не обязательно о линукс, в линукс то понятно, там зависимости будут. Случайно этот тег поставил). Речь об OS X и возможно Windows
UPD 2: Всем спасибо! Теперь вроде понятнее. Как я понял, если у пользователя нет окружения и нельзя поставить зависимости - значит надо упаковать это окружение для пользователя в само приложение.
  • Вопрос задан
  • 569 просмотров
Решения вопроса 3
nazarpc
@nazarpc
Open Source enthusiast
Приложение можно комплектовать необходимой версией интерпретатора и зависимостями в случае чего.
Но если говорить о Linux - то скорее всего будет просто указана зависимость в пакете от интерпретатора.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Можно ли так сделать

Можно

как сделать приложение на подобном языке, которое не будет требовать от конечного юзера установки интерпретатора со всеми модулями и остальным окружением?

Интерпретируемые языки требуют наличия интерпретатора. Ваше приложение может быть со встроенным интерпретатором (обычно игры так делают).

Десктопные приложения на интерпретируемых языках. Как это работает?

Работает так как запрограммировано)). Откройте /etc/init.d/cron вот вам пример программулины на баше, если запустите этот файл - увидите как она работает.

Что касается питона - в чем проблема, поищите приложения, написанные на нем и почитайте код.
Ответ написан
Gasoid
@Gasoid
для питона есть py2exe который создает один файл .exe
он пакует интерпретатор и библиотеки нужные
в принципе так делает дропбокс
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Applez
@Applez
Разраб
Можно ли так сделать, и если да - как сделать приложение на подобном языке, которое не будет требовать от конечного юзера установки интерпретатора со всеми модулями и остальным окружением?

Если язык интерпретируемый, то такое не возможно. Это все равно, что дать вам флешку с файлом и не дать вам компьютер, на котором вы его просмотрите. В лучшем случае, вы можете написать различные скрипты, которые перед запуском будут проверять наличие в системе необходимых компонент и уведомлять о необходимости их установки. (или просто не запускать ваше приложение. или, возможно, даже, готовить окружение для пользователя самостоятельно)
Ответ написан
Olej
@Olej
инженер, программист, преподаватель
Можно ли так сделать, и если да - как сделать приложение на подобном языке, которое не будет требовать от конечного юзера установки интерпретатора со всеми модулями и остальным окружением?

Не можно. ;-)

Насколько я понимаю, когда ты делаешь приложение на каком-то компилируемом языке - ты компилируешь исходный код, получаешь бинарник,

Сравнительное обозрение языков программирования
Из всех используемых языков программирования (несколько десятков) компилирующих осталось на сегодня, собственно, всего 3 ... даже, если точнее, 2.5: C / C++ и Go.
Вымирают как мамонты ;-)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы