2009-10-27 34 views
5

Trước khi kiểm tra những gì nó giống như developping trong Net, tôi có một vài câu hỏi newbie:Một vài câu hỏi trước khi cố gắng ra Net

  1. thể một người dùng không phải quản trị cài đặt .Net framework, cho dù gói ban đầu hoặc bất kỳ cập nhật tiếp theo cần thiết để chạy một programm? Một số khách hàng của chúng tôi đã khóa máy chủ XP/Vista và tôi lo lắng về việc cài đặt/cập nhật máy tính của mình khi chúng tôi tải lên bản phát hành mới yêu cầu cập nhật phiên bản .Net của họ với ServicePack

  2. mới nhất hiệu suất chấp nhận được trên phần cứng Joe thông thường (tức là không yêu cầu phần cứng người dùng mới nhất và lớn nhất)? Ứng dụng của chúng tôi là các ứng dụng kinh doanh mà người dùng để mở cả ngày, vì vậy nó không thực sự quan trọng nếu ứng dụng .Net mất nhiều thời gian hơn tương đương Delphi hoặc VBClassic của họ để bắt đầu, nhưng hiệu suất là ngang một khi khung .Net đang hoạt động đang chạy?

  3. Nếu hiệu suất rõ ràng không tốt bằng ví dụ. các ứng dụng Delphi đã biên dịch, có cách nào đáng tin cậy để tăng tốc độ không?

  4. Vì tôi thường viết kịch bản bằng Python, IronPython ngang hàng với các ngôn ngữ khác .Net, hay là ngôn ngữ sở thích hơn và tôi nên dùng VB.Net?


câu hỏi tiếp theo:

  1. nào IDE tôi nên sử dụng? MS 'VisualStudio? SharpDevelop? Khác? Tại sao?
  2. Điều gì làm cho Mono tốt hơn. Net cho các ứng dụng dành cho máy tính để bàn Windows?
  3. Trong một ứng dụng, cách kiểm tra xem người dùng có phiên bản đúng của khung .Net và bất kỳ ServicePack cần thiết nào không? Tôi muốn tránh phải đóng gói khung .Net cần thiết (nếu nó không được cài đặt và người dùng có đủ quyền quản trị, tải xuống và cài đặt nó trước khi tiếp tục chạy ứng dụng của tôi)
  4. Điều gì sẽ xảy ra nếu người dùng không đăng nhập với đủ quyền quản trị để cài đặt .Net và/hoặc bất kỳ ServicePack cần thiết nào? Có một thông báo lỗi rõ ràng, để người dùng không sử dụng công nghệ cao có thể biết điều gì sai?
  5. Là .Net tương thích hướng xuống, tức là. có thể một ứng dụng được biên dịch cho 2.0 chạy trên 3.5, hoặc có những không tương thích khó khăn, do đó nó được khuyến khích để cài đặt. Net được sử dụng để biên dịch các ứng dụng?

Cảm ơn bạn đã phản hồi.

Trả lời

2
  1. Phụ thuộc vào quyền của người dùng. Đối với các bản cập nhật cũng có một cái gì đó gọi là ClickOnce công nghệ sẽ tăng tốc bất kỳ phiên bản chương trình của bạn sẽ yêu cầu, cũng như cung cấp cho bạn vô số các bộ cho phép về cách chương trình của bạn có thể được chạy. (Ngoài ra một lưu ý, Vista đã cài đặt .NET2.0, chỉ cần một số máy XP sẽ không, nhưng bạn có thể làm cho nó thông qua các bản cập nhật cửa sổ - cài đặt ở đây phụ thuộc vào quyền người dùng chứ không phải .NET persay)
    1. Vâng, rất nhiều. Như với bất cứ điều gì mặc dù, Rác vào, Rác ra. Tuy nhiên, .NET là một ngôn ngữ được quản lý và có Garbage Collection, điều này làm mất rất nhiều công sức để bạn phát triển.
    2. N/A
    3. Hiểu sai điểm này lần đầu tiên. Cá nhân, IronPython là ở ngoài đó và làm việc, nhưng việc học có thể khó hơn một cái gì đó giống như VB.NET/C#

Hy vọng điều này sẽ hữu ích.

+0

Cảm ơn phản hồi. Đối với # 4, tôi đã đề cập đến IronPython (http://www.codeplex.com/wikipage?ProjectName=IronPython), chứ không phải C#. – Gulbahar

+0

Yea, đó là sai lầm của tôi (đã đọc sai), đã được cập nhật, hehe. –

+0

Bạn có bất kỳ tham chiếu nào cho câu trả lời đầu tiên của bạn không? Điều này có vẻ không đúng trong quan điểm của tôi. Thiết lập Khuôn khổ .NET sẽ sửa đổi các tệp hệ thống, ví dụ: ghi vào% SYSTEMROOT% và đến hive đăng ký HKLM. Cả hai sẽ yêu cầu quyền quản trị. Hoặc là có một phiên bản cài đặt hoàn toàn vào thư mục AppData của người dùng? –

0

Để trả lời một số câu hỏi của bạn.

  1. Obvously các đăng nhập người dùng phải có quyền để cài đặt/gỡ bỏ cài đặt phần mềm, nhưng điều này là như nhau cho bất kỳ phần mềm trên máy, không phải là một vấn đề cụ thể .net
  2. Hiệu suất là rất cao có thể chấp nhận, cách tốt hơn so với Java , và tốt như vậy (nếu không tốt hơn) so với thực thi thông thường
  3. Hiệu suất là chấp nhận được, nhưng bạn có cách để chuyển đổi .net assembly thành thường xuyên .exe theo cách này họ sẽ không yêu cầu .net framework để chạy
  4. Go C# nếu có thể hoặc vb.net (nhiều mẫu mã hơn, và luồng chính hơn)
+0

Cảm ơn. Đối với # 3: Bạn muốn giới thiệu công cụ nào để biên dịch tĩnh một ứng dụng .Net và có nhược điểm đối với các ứng dụng giao hàng theo cách đó? Đối với # 4: Mặc dù vậy. Tôi đoán C €/VB.Net thực sự là ngôn ngữ duy nhất có sức hút đáng kể. – Gulbahar

+0

Khi bạn biên dịch .NET nguyên bản, bạn sẽ phải tự phục vụ cho các cấu hình máy khác nhau. Khuôn khổ .NET chọn biên dịch lý tưởng trong JIT có nghĩa là bạn không nhất thiết phải lo lắng về điều này. Đây là những gì tôi đã đọc. –

+1

# 2 có lẽ là tranh chấp, số 3 là sai. Nếu bạn đang đề cập đến 'ngen', thì tất cả những gì bạn làm là tạo mã gốc. Sự phụ thuộc cho khung vẫn còn. – Joey

2
  1. No. Tệp hệ thống cần sửa đổi và bản thân khung như vậy chỉ có thể được cài đặt bởi người dùng đặc quyền. Các ứng dụng chạy trên .NET không yêu cầu các quyền đặc biệt để cài đặt hoặc cập nhật.

  2. Hiệu suất của ứng dụng .NET không thực sự là vấn đề đối với các ứng dụng kinh doanh. Có, chúng ngang bằng với Delphi, VB pre .NET và Java.

  3. Giống như với bất kỳ ứng dụng nào: định hình và tối ưu hóa. Các ứng dụng .NET Profiling có thể thực sự rất dễ dàng với số lượng siêu dữ liệu có thể (và theo mặc định) được lưu trữ trong tệp thực thi thực tế để sử dụng profiler.

  4. Không có nhận xét nào thực sự, vì tôi không sử dụng bất kỳ phần nào trong số ba điều này.

+0

Cảm ơn bạn rất nhiều vì đã phản hồi rất tốt mọi người. Google nói với tôi rằng để bắt đầu với VB.Net, tôi cần: .Net framework + SDK (trình biên dịch) + VisualStudio (IDE). Điều này có đúng không? Có add-on/alternative nào tôi nên biết (ví dụ: IDE nguồn mở SharpDevelop) không? – Gulbahar

+0

IMO, SharpDevelop là tốt cho phát triển đơn âm trên Linux, nhưng không sử dụng nó trên Windows. Đi cho Visual Studio Express thay thế. Theo như những gì bạn cần ... Nếu bạn cài đặt Visual Studio, bạn có mọi thứ bạn cần. –

0
  1. Không bao giờ thử điều này nhưng thật dễ dàng để bạn thử nghiệm.
  2. Vâng, đúng vậy.
  3. Bạn có thể tắt các ứng dụng nhưng hiếm khi cần thiết.
  4. Không thể giúp bạn với điều này. Tuy nhiên, một số có thể nói rằng VB.net là một ngôn ngữ sở thích :-) Nếu bạn bắt đầu từ đầu, hãy xem xem mã mẫu nào có sẵn trong các ngôn ngữ .NET khác nhau trong miền vấn đề của bạn. Nghiêm túc, có một cái nhìn. VB.Net nên dễ đọc hơn C# vì nó sử dụng rất nhiều từ đẹp thay vì ví dụ: Niềng răng khó chịu {}. Nhưng một khi bạn vào nó, C# rất dễ đọc và ít lộn xộn hơn nhiều so với VB cũ.
+0

Bạn sẽ thấy rằng phần lớn các bài viết, câu trả lời diễn đàn, mẫu mã, v.v. đều nằm trong C#. Chúng tôi phải sử dụng VB nơi tôi làm việc và đôi khi nó là một nỗi đau để chuyển đổi một số giải pháp từ C# sang VB, đặc biệt là đối với một số cấu trúc không tồn tại trong VB (chưa) Lời khuyên của tôi cho bất cứ ai tự hỏi chọn C#. Điều duy nhất tôi thích tốt hơn với VB là trình soạn thảo VS2008 là tốt hơn nhiều ở tự động hoàn thành và định dạng mã. – MetalMikester

+0

Có rất nhiều thứ ASP.NET trong VB vì những người đã chuyển từ VB6 sang VB.NET. Có những vấn đề khác như quản lý danh tính nơi VB thống trị. – serialhobbyist

0
  1. Tôi nghĩ bạn cần có quyền quản trị để cài đặt khung. Nhưng cả XP và Vista hiện tại đều phải có phiên bản 2.0 của khung công tác, đây là một mục tiêu tốt cho các ứng dụng mới.

  2. Hiệu suất có thể chấp nhận được cho mọi thứ trừ trò chơi đồ họa chuyên sâu.

  3. Thực sự không cần thiết.

  4. Bạn có thể sử dụng IronPython để phát triển ứng dụng và tôi biết ít nhất một cửa hàng thương mại thực hiện nó (http://www.resolversystems.com/), nhưng tôi muốn giới thiệu C# hoặc VB.NET. Cá nhân tôi thích Delphi Prism (http://www.embarcadero.com/products/delphi-prism).Nếu bạn vào Delphi, có lẽ đó là con đường để đi?

+0

XP không có .NET. Hãy nhớ rằng ngày tháng trở lại năm 2002, trong khi XP là từ năm 2001. – Joey

+0

"XP hiện tại" ... Tôi giả định rằng bất kỳ tổ chức lớn nào cũng đã nâng cấp lên SP2 ngay bây giờ! –

1

IronPython không có cùng mức hỗ trợ như C# và VB. Tuy nhiên, nó hoạt động đặc biệt tốt, và nếu bạn thích Python đó là một chiến thắng.

4

Người dùng không phải quản trị có cài đặt khung .Net, cho dù gói ban đầu hoặc bất kỳ cập nhật tiếp theo nào cần thiết để chạy chương trình không?

Nói chung, không. Để phát triển, bạn chắc chắn sẽ cần khung được cài đặt để sử dụng hầu hết các công cụ và bạn sẽ cần quyền truy cập quản trị cho công cụ đó. Điều đó nói rằng, có một số cách giải quyết kỹ thuật cho phép bạn triển khai một ứng dụng đơn lẻ mà không cần có .NET framework trên máy tính mục tiêu.

Hiệu suất có thể chấp nhận được trên phần cứng Joe thông thường (tức là không yêu cầu phần cứng người dùng mới nhất và lớn nhất)?

Vâng, rất nhiều.

Nếu hiệu suất rõ ràng không tốt bằng ví dụ. các ứng dụng Delphi đã biên dịch, có cách nào đáng tin cậy để tăng tốc độ không?

Có rất nhiều công cụ nội quan, lược tả và tối ưu hóa có sẵn - CLR Profiler, dotTrace, Reflector, v.v. Một phần của một điểm tranh luận, vì hầu hết các chương trình .NET là ngang hàng (hoặc tốt hơn) các đối tác của họ, như đã nói ở trên.

Vì tôi thường viết kịch bản bằng Python, là IronPython ngang hàng với các ngôn ngữ khác .Net, hay ngôn ngữ sở thích hơn và tôi nên dùng VB.Net?

Mặc dù triển khai tương đối trưởng thành và đạt đến giai đoạn "nó chỉ hoạt động", các công cụ hỗ trợ IronPython không mạnh bằng các ngôn ngữ khác trong gia đình .NET. Đối với một người mới bắt đầu, bạn có thể muốn thử C# chỉ để có được bàn chân của bạn ướt, kể từ khi các bộ công cụ sẽ được phát triển tốt và bạn sẽ có rất nhiều ví dụ để đi về. Điều đó nói rằng, tôi thường xuyên sử dụng IronPython và IronRuby trên các dự án sản xuất. Đồ tốt!

+0

+1 Điểm tốt, hỗ trợ lược tả và tháo rời là tuyệt vời cho mã .Net. Phiên bản mới hơn của phản xạ (EAP) thậm chí có thể lấy mã nguồn trong khi gỡ lỗi, từ một assembly bạn không có mã nguồn. – Groo

Các vấn đề liên quan