Язык для межплатформенного установочного скрипта - PullRequest
1 голос
/ 07 августа 2011

При написании сценария установки я быстро обнаружил, что у меня возникли кроссплатформенные проблемы, и сценарии bash трудно поддерживать.Я решил найти более чистое решение, которое было бы более кроссплатформенным.

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

  • Python-кроссплатформенный, и многие другие программы полагаются на него, поэтому он может уже присутствовать
  • Требуется Javascript-nodejsчастью моего приложения, но это немного неуклюже для вызовов exec

Есть ли языки, которые лучше подходят для этого приложения?

Требования:

  • Доступно на всех платформах
    • Может быть распространено как часть моего приложения, если оно достаточно маленькое
    • Вариация от небольшого до нет, поэтому Ruby отсутствует
    • * nix только на данный момент, но в конечном итоге будет работать на Windows
  • Maintainable
    • Очистить синтаксис (Perl отсутствует)
    • Modular (если я нюхаю ОС, я могу включить отдельный специфический для ОС код
    • Тестирование для используемых портов HTTP
    • Чтениеи разбор файлов для данных конфигурации
    • Проверка разрешений и изменение каталогов с недостаточными правами
  • Открытый исходный код

Ответы [ 2 ]

2 голосов
/ 07 августа 2011

Python может выполнять все эти функции:

  • Доступно на всех платформах (Mac, Linux, Windows и другие)
    • Может распространяться какчасть моего приложения, если она достаточно мала (вы можете создавать бинарные файлы с cx_freeze, если необходимо)
    • Вариант практически отсутствует, поэтому Ruby отсутствует (Python довольно статиченкогда дело доходит до изменения версии)
    • * nix только пока, но в конечном итоге будет работать на Windows (поставляется предварительно установленной на Mac и поставляется практически с любым дистрибутивом Linux).Двоичные файлы не нуждаются в интерпретаторе для запуска)
  • Maintainable
    • Очистить синтаксис (Perl отсутствует) (Python очень легко читается,но вам решать)
    • Модульный (если я нюхаю ОС, я могу включить отдельный специфичный для ОС код) (Модули - это просто файлы в Python)
  • Возможность загрузки файлов (неудовлетворенные зависимости) (Urllib2 позаботится об этом, и его предварительные входы
  • Открытый исходный код (Да)
0 голосов
/ 07 августа 2011

Муравей сделает то, что тебе нужно.Он не зависит от операционной системы и позволяет компилировать и устанавливать.

...