2009-02-14 14 views
6

Hãy tưởng tượng rằng bạn cần để phát triển và sắp xếp một application/kịch bản để làm như sau: -Công nghệ tốt nhất để sử dụng để tự động hóa tác vụ bằng cách sử dụng thư viện .net là gì?

  • tham khảo một hoặc nhiều bộ phận nhỏ .net
  • Query API, nhận được một số đối tượng
  • cho mỗi cuộc gọi đối tượng một phương pháp khác trong API

Bạn sẽ sử dụng điều gì?

Trong quá khứ tôi đã tạo ra các ứng dụng giao diện điều khiển nhỏ làm việc trên, nhưng có vẻ hơi vụng về và quá mức cần thiết.

Tôi tưởng tượng một cái gì đó như PowerShell hoặc IronPython có thể phù hợp hơn.

Bất kỳ đề xuất nào?

Trả lời

2

IronPython.

Tôi thử nghiệm sử dụng cả Powershell và IronPython cho công việc trên và đi đến kết luận rằng IronPython là phù hợp nhất (đối với tôi).

Để công bằng hoặc Powershell hoặc bất kỳ ngôn ngữ dựa trên DLR nào như IronPython hoặc IronRuby sẽ phù hợp với nhiệm vụ và sẽ ít chi phí hơn là tìm kiếm các ứng dụng giao diện điều khiển tầm thường.

Nếu tất cả những gì bạn đang làm là sử dụng thư viện .net và thực hiện một số tập lệnh thì IronPython cạnh Powershell. Nếu bạn muốn sử dụng một số loại chức năng kiểu shell hoặc sử dụng CMDLETS hiện có thì Powershell là một lựa chọn tốt hơn.

IronPython, đang triển khai python, mang lại tất cả những ưu điểm của python cho tập lệnh như dễ học, dễ đọc và nhanh chóng phát triển.

2

Vấn đề với trình điều khiển ứng dụng s là họ liên tục phá vỡ. Các ứng dụng liên tục thay đổi bề mặt bên ngoài của chúng và sự tàn phá này trên các trình điều khiển. Do đó bạn liên tục cần cập nhật các phần của trình điều khiển. Tôi tìm thấy một ngôn ngữ động không biên dịch là lý tưởng cho điều này vì bạn có thể nhanh chóng thực hiện một bản cập nhật và bắt đầu một nhiệm vụ.

Powershell là một công nghệ tuyệt vời cho việc này. Đó là một sự linh hoạt đáng kinh ngạc và rất dễ dàng để đón. Nó là một sự pha trộn của mã biên dịch và năng động. Vì vậy, các thuật toán nhiều phần nặng của trình điều khiển của bạn có thể được bất kỳ ngôn ngữ biên dịch và các mảnh dễ vỡ hơn và thường xuyên cập nhật có thể được kịch bản. Chúng tích hợp liền mạch.

Tôi là một người dùng Powershell khao khát và thực sự không có nhiều kinh nghiệm với IronPython (do đó sự lựa chọn của tôi). IronPython cũng có thể có những tính năng này mặc dù vậy nếu bạn cảm thấy thoải mái hơn với ngôn ngữ đó, đó là nơi bạn nên đi.

3

Một trong những ưu điểm của PowerShell là chúng đã thực hiện rất nhiều công việc trong nền để làm cho mọi thứ vừa với nhau dễ dàng, thực hiện chuyển đổi loại ẩn, vv để làm cho đầu ra của một chương trình có thể sử dụng làm đầu vào cho một chương trình khác. Và kể từ khi mọi thứ vượt qua các đối tượng, bạn không phải viết mã munging văn bản để kết hợp mọi thứ lại với nhau.

Tôi thích Python, tuy nhiên, khi tôi viết một lượng lớn mã gốc thay vì dựa nhiều vào thư viện và dán các thành phần lại với nhau.

0

Thất vọng với PowerShell Tôi đã xem xét IronPython. Tôi nghĩ rằng đây là một lựa chọn tốt cho PowerShell, đặc biệt nếu bạn là một lập trình viên. Ngay cả khi bạn là một người IT, tôi nghĩ rằng Windows lệnh shell + IronPython là một sự kết hợp tốt mà sẽ thực hiện những gì bạn cần trong thời đại .NET (như những gì lệnh shell + vbscript là tốt cho trong thời đại COM).