Thị phần của các chương trình được viết bằng .NET hiện nay là gì? [đóng cửa]


11

Chúng tôi hiện đang chuyển chương trình Visual Basic 6.0 sang .NET . Đối tượng mục tiêu chỉ là người dùng máy tính để bàn bình thường ở nhà. Thảo luận về điều này, chúng tôi nhận ra rằng chúng tôi không thể đưa ra các chương trình chính thống dường như được viết bằng .NET. Có phải chúng ta đã nhầm? Có một lý do tốt cho việc này?


6
Tôi nghĩ Visual Studio và Paint.NET là hai chương trình chính được viết bằng .NET.
Jonas

1
Bạn có thể thêm mã vào sản phẩm hiện tại của mình để báo cáo lại những thư viện .NET mà người dùng hiện tại có không?

@ ThorbjørnRavnAndersen: vâng, bạn có thể - Richard Grimes đã làm điều đó khi Vista ra mắt, vì vậy bạn có thể sử dụng các kỹ thuật của anh ấy để xem những nhị phân nào được xây dựng với trình tải CLR cho các ứng dụng bạn đã cài đặt. grimes.demon.co.uk/dotnet/vistaAndDotnet.htm (tải xuống ở phía dưới)
gbjbaanb

Câu trả lời:


3

Tùy thuộc vào định nghĩa của "chương trình luồng chính", dường như không có nhiều chương trình được viết bằng VB6.

Tất nhiên, C # và VB.NET hiện đã chiếm gần như vị trí của VB6 ~ 10 năm trước. Ít nhất 98% là phần mềm cá nhân bạn không thể mua trong cửa hàng phần mềm địa phương. Nhưng điều đó không có nghĩa là không có chương trình .NET ngoài kia. Có rất nhiều - nhưng bạn sẽ phải tìm kiếm chúng ở đúng nơi.


18

Khách hàng của bạn không quan tâm nếu chương trình của bạn được viết bằng .NET hay không. Do đó, nếu bạn có thể đảm bảo rằng phần lớn đối tượng mục tiêu của bạn có thể cài đặt và chạy phần mềm của bạn mà không gặp sự cố, bạn vẫn ổn.

Rất khó để tìm thấy thông tin chính xác về sự thâm nhập của .NET Framework , vì vậy bạn không nên dựa vào bất kỳ thông tin nào.

Tại sao không nhắm mục tiêu Hồ sơ khách hàng .NET và đảm bảo rằng nó được cài đặt cùng với các tệp nhị phân của bạn? Thật dễ dàng, đơn giản và hiệu quả.

Hồ sơ khách hàng .NET Framework 4 là tập hợp con của .NET Framework 4 được tối ưu hóa cho các ứng dụng khách. Nó cung cấp chức năng cho hầu hết các ứng dụng khách, bao gồm Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF) và các tính năng ClickOnce. Điều này cho phép triển khai nhanh hơn và gói cài đặt nhỏ hơn cho các ứng dụng nhắm mục tiêu Hồ sơ khách hàng .NET Framework 4.

Tôi thấy một lợi thế lớn khác của việc chuyển mã VB6 của bạn sang .NET: khả năng tạo phiên bản phần mềm chạy trên Linux và OSX bằng Mono . Ví dụ đáng chú ý về các ứng dụng máy tính để bàn được viết bằng .NET và các nền tảng chéo có sẵn ở đây .


11
đúng ở điểm quan trọng: khách hàng không quan tâm đến nền tảng miễn là nó chạy trên hệ thống của họ. nhưng không đúng về đoạn cuối: mono làm việc và là một thành tích ấn tượng; nhưng đó là một cơn ác mộng đã được cài đặt trên người dùng cuối. Lời hứa 'nền tảng chéo' của .NET đã chết trên nước.
Javier

@Javier: Chà, ngoại trừ Windows, Windows Phone và XBox 360. Nhưng sự hấp dẫn của ngôn ngữ mã byte thống trị Windows chưa bao giờ, đối với tôi, mã đa nền tảng; thay vào đó, Windows không còn bị ràng buộc với một kiến ​​trúc cụ thể (x86 là một mớ hỗn độn). Phiên bản tiếp theo của Windows cũng sẽ chạy trên ARM . Ngoài ra, thật tuyệt khi giờ đây phần mềm có thể tận dụng các tính năng dành riêng cho thiết lập; về cơ bản, đó là tất cả những lợi thế của phương pháp Linux (biên dịch phần mềm trên mọi hệ thống mới) mà không gặp rắc rối nào.
BlueRaja - Daniel Pflughoeft

@ BlueRaja-DannyPflughoeft: phải, .net (CLR, thực sự) không phân phối dưới dạng nền tảng "cross-windows-platform". Trên thực tế, không có gì để hắt hơi
Javier

@BlueRaja: bạn quên rằng thứ được hiển thị đang chạy trên ARM là .. mã C ++ của Microsoft. Những thứ như trình điều khiển máy in và Office. Chúng không phải là ứng dụng .NET, vì vậy lập luận rằng .NET là cần thiết là hoàn toàn sai.
gbjbaanb

@Javier: Mono có tệ khi cài đặt không? Tôi đã cài đặt một ứng dụng đơn (Banshee) trên Mac OSx của tôi và không gặp phải bất kỳ vấn đề nào. Đối với windows, mono không bắt buộc phải cài đặt. Là một nhà phát triển có kế hoạch làm ứng dụng đơn, tôi sẽ rất vui nếu bạn có thể cung cấp cho tôi các bài viết hoặc bất kỳ tài liệu tham khảo nào thể hiện những gì bạn nói.

8

Kinh nghiệm cá nhân của tôi là .NET chiếm ưu thế trong phát triển nội bộ, cấp doanh nghiệp. Hầu hết các ứng dụng này không được xây dựng cho tiêu dùng công cộng và do đó không phải là một phần của từ vựng hàng ngày của chúng tôi.

Tuy nhiên, có một lý do rất thuyết phục là rất nhiều công ty lớn đã áp dụng các công nghệ này: năng suất và hạnh phúc của lập trình viên. C # là một ngôn ngữ lập trình hiệu quả, tuyệt vời và hệ sinh thái .NET rất phong phú với các thư viện hiện có để giữ cho chúng ta phải phát minh lại các bánh xe. Ngoài ra, WCF, đôi khi rất phức tạp, là một khuôn khổ rất mạnh mẽ để xây dựng liên lạc giữa các hệ thống khác nhau.

Liên quan đến hoàn cảnh cụ thể của bạn, tôi sẽ chỉ thực hiện việc chuyển ứng dụng của bạn nếu bạn sẽ thực hiện nhiều cải tiến và thay đổi trong tương lai. Nếu nó ổn định và trong chế độ bảo trì, bạn sẽ hối tiếc bất kỳ quyết định nào ngoài việc để nguyên như vậy.


2
+1 cho "C # là tuyệt vời". Đây thực sự là một ngôn ngữ tuyệt vời
shashwat

2

Trên thực tế, theo TIOBE , C # (một ngôn ngữ .NET) hiện là ngôn ngữ phổ biến thứ tư trên thế giới.

Ngoài ra, tôi đồng ý với một người đăng khác rằng khách hàng không quan tâm ứng dụng của bạn được viết bằng ngôn ngữ nào, miễn là nó hoạt động.


3
Tôi nghĩ rằng số lượng thẻ trên StackOverflow mang tính đại diện nhiều hơn so với xếp hạng tìm kiếm TIOBE.
Jonas

4
Không, đó chỉ là vì các lập trình viên C là Lập trình viên thực và Lập trình viên thực sự không yêu cầu trợ giúp.
Gustav Bertram

2
Đọc entrails dê có lẽ chính xác hơn TIOBE. Nhân tiện, tôi không bao giờ biện hộ cho việc kiện những con dê vướng víu cho bất cứ thứ gì ngoài việc chế biến các chất ăn bởi một con dê.
Adam Crossland

@Gustav: có, số lượng thẻ trên C # trên SO chỉ cho thấy đó là một ngôn ngữ khó mà nhiều người cần trợ giúp hơn :)
gbjbaanb

1

Quyết định xem có những tính năng mà thị trường của bạn muốn mà bạn chỉ có thể hoặc dễ dàng tạo hơn trong .NET. Hãy xem xét rằng việc thuê các nhà phát triển mới là một thị trường khác để xem xét. Bạn có thể hoặc không thể tìm thấy thêm các nhà phát triển VB.NET phù hợp với nhu cầu của bạn (mức độ kinh nghiệm, kiến ​​thức về tên miền, v.v.). Các nhà phát triển hiện tại của bạn thực sự muốn thực hiện chuyển đổi?

Tôi không biết về thị trường người dùng gia đình, nhưng thị trường kinh doanh khá nặng về các ứng dụng .net.


0

VB6 không còn được MS hỗ trợ nữa (ref: http://bloss.technet.com/b/lifecycle/archive/2008/04/16/end-of-support-for-visual-basic-6-0. aspx ). Vì vậy, nếu bạn gặp vấn đề từ quan điểm phát triển, bạn sẽ không nhận được hỗ trợ từ nguồn.

VB.NET, mặt khác, vẫn được tích cực phát triển và hỗ trợ.

Sự giống nhau giữa .NET Framework và Java JRE cũng như sự tương đồng giữa chính C # và Java đã phát triển cộng đồng nhà phát triển C # /. NET cực kỳ nhanh chóng.

Nguồn cung của các nhà phát triển VB6 sẽ giảm dần trong khi các nhà phát triển VB.NET / C# có khả năng tăng và có thể giữ cho sản phẩm của bạn tiến lên phía trước.


0

chúng tôi không thể đưa ra các chương trình luồng chính dường như được viết bằng .Net.

Tôi khá chắc chắn bảng điều khiển card đồ họa ATI Catalyst được viết bằng .NET - vì vậy về cơ bản đó là mọi PC có card đồ họa ATI. Số lượng lớn người dùng máy tính để bàn bình thường ...

Một ví dụ điển hình khác là Samsung Kies - thứ mà hầu hết những người có điện thoại Samsung đã cài đặt ..


Hãy giải thích các downvote?
MattDavey

-1

Tôi cho rằng điều đó không quan trọng - điều có thể quan trọng hơn là phần lớn các chương trình sẽ được viết trong tương lai. Bây giờ MS đang tập trung vào các ứng dụng Win8, bạn có thể nên lo lắng hơn về việc áp dụng HTML5 + js và WinRT thay vì .NET kế thừa.

Điều cuối cùng bạn muốn làm là chuyển mọi thứ sang .NET và sau đó phải thực hiện nhiều thao tác khác để làm cho nó hoạt động tốt với Windows 8.


ha! sự thật đau lòng :) WinPhone8 thực sự cho thấy đây là trường hợp, không còn XNA nữa, nếu bạn muốn đồ họa 3d lạ mắt, bạn cần SDK gốc.
gbjbaanb

Tôi không thấy mối tương quan giữa hỗ trợ XNA trên WinPhone 8 và .NET Framework hỗ trợ trên Windows 8? (btw Tôi không phải là người đã đánh giá thấp bạn, nhưng gọi .NET là 'di sản' là một cách yêu cầu)
MattDavey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.