Какую технологию лучше использовать для автоматизации задачи с использованием библиотек .net? - PullRequest
6 голосов
/ 14 февраля 2009

Представьте, что вам нужно разработать и запланировать приложение / скрипт для выполнения следующих действий: -

  • Ссылка на одну или несколько сборок .net
  • Запрос API, получение некоторых объектов
  • для каждого объекта вызовите другой метод в API

Что бы вы использовали?

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

Я думаю, что что-то вроде PowerShell или IronPython могло бы быть лучше.

Есть рекомендации?

Ответы [ 5 ]

10 голосов
/ 14 февраля 2009

Абсолютно PowerShell, это именно то, для чего он предназначен.

Вот несколько полезных ресурсов, которые помогут вам начать работу:

3 голосов
/ 14 февраля 2009

Одним из преимуществ PowerShell является то, что они проделали большую работу в фоновом режиме, чтобы упростить взаимодействие, делали неявные преобразования типов и т. Д., Чтобы сделать вывод одной программы пригодным для использования в качестве ввода для другой. И поскольку все передает объекты, вам не нужно писать код для разбрасывания текста.

Однако я предпочитаю Python, когда пишу большой объем исходного кода, а не полагаюсь на библиотеки и склеивание компонентов.

2 голосов
/ 19 февраля 2009

IronPython.

Я опробовал использование Powershell и IronPython для выполнения вышеуказанной задачи и пришел к выводу, что IronPython лучше всего подходит (для меня).

Если быть честным, то Powershell или любой другой язык на основе DLR, такой как IronPython или IronRuby, подойдут для этой задачи и будут менее затратными, чем уход за тривиальными консольными приложениями.

Если все, что вы делаете, это использование библиотеки .net и выполнение некоторых сценариев, то IronPython ограничивает Powershell. Если вы хотите использовать какую-то функциональность типа оболочки или использовать существующие CMDLETS, тогда Powershell - лучший выбор.

IronPython, являясь реализацией python, обладает всеми преимуществами python для написания сценариев, такими как простота изучения, легкость чтения и быстрая разработка.

2 голосов
/ 14 февраля 2009

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

Powershell - отличная технология для этого. Это удивительно гибкое и действительно легко подобрать. Это смесь скомпилированного и динамического кода. Таким образом, чем больше алгоритмических частей вашего драйвера может быть любой скомпилированный язык, тем более хрупкими и часто обновляемыми частями может быть скрипт. Они интегрируются без проблем.

Я заядлый пользователь Powershell и действительно не очень разбираюсь в IronPython (отсюда и мой выбор). IronPython также может иметь эти функции, так что если вам удобнее пользоваться этим языком, вам нужно идти туда.

0 голосов
/ 14 февраля 2009

Из-за разочарования в PowerShell я заглянул в IronPython. Я думаю, что это хорошая альтернатива powershell, особенно если вы программист. Даже если вы являетесь ИТ-специалистом, я думаю, что командная оболочка Windows + IronPython - это хорошая комбинация, которая позволит выполнить то, что вам нужно в эпоху .NET (например, то, для чего командная оболочка + vbscript подойдет в эпоху COM).

...