Tương lai nghề nghiệp khi lựa chọn Winform và WPF làm chuyên môn?

-Em năm nay năm 3 và em đang định hướng nghề nghiệp bản thân, em định theo desktop app (Winform- WPF) , nhưng vẫn phân vân và con đường nghề nghiệp tương lai của chuyên ngành này, em lên ITVIEC search cũng không ra Winform hay WPF, C# thì đa phần theo ASP @@
-Nhờ mấy bác tư vấn giúp em về khả năng của ngành này trong môi trường VN hiện nay và tương lai ạ @@,
-Và em cũng băn khoăn liệu lương của desktop app có ngang với web app không ạ ? vì hiện em đang học cũng tập trung vào phần kéo thả, không khó như web phải học đa ngôn ngữ ạ @@
Thanks các bác ạ

2 Likes

bạn đừng làm winform nếu làm đại khái sẽ có hai kiểu dự án

  1. đi bảo trì code
    2.có những pj từ xa xửa xa xưa xa lắm ấy viết bằng vb bạn sẽ convert lên c#
    nên đừng học
    và làm WPF thì khá ngon luôn vì học xong làm được cả xamarin luôn (đương nhiên vẫn phải học thêm 1 số thứ )

Mình cũng như bạn. Học đại học làm đồ án chủ yếu kéo thả winform. Nhưng bây giờ ứng dụng người ta đưa lên web hết rồi vì tiện dụng, dễ bảo trì. Đó là xu thế, dù mình không biết về web nhưng ra đi làm cũng phải chịu khó học hỏi thôi.
So sánh desktop-app và web-app:
- Sử dụng: desktop-app phải tải về mới dùng được, trong khi web-app chạy trực tiếp trên trình duyệt. mà trình duyệt lớn hiện nay đều đa nền tảng.
- Bảo trì: mỗi khi phần mềm có cập nhật gì mới, với desktop-app người dùng phải tải bản cập nhật về máy họ, trong khi web-app thì không cần bởi phần mềm nằm trên server.
Tóm lại, Desktop app giờ chỉ phù hợp làm phần mềm nội bộ trong doanh nghiệp, tool nho nhỏ… Còn lại đa phần là web-app để hướng đến sự tiện dụng của người dùng. Tất nhiên đối với lập trình viên thì việc xây dựng sẽ lâu hơn, phức tap hơn. Do định luật bảo toàn: “Khó khăn không tự sinh ra hay mất đi, nó chỉ chuyển từ người này sang người khác”. Khách hàng sướng thì LTV khổ.
Lấy ví dụ về xu thế này: lúc trước bạn muốn chat thì phải tải Yahoo! về mới chat được. Từ khi facebook xuất hiện và cho phép chat trực tiếp trên trình duyệt thì bạn muốn cái nào hơn? Xu thế không thể đảo ngược.
Giờ bạn đi học thì làm phần mềm bằng winform cho nhanh và đơn giản. Quan trọng là học được cách tạo ra những phần mềm có đầy đủ tính năng, đáp ứng nhu cầu người dùng. Còn việc phần mềm phải chạy trên web, mobile hay bất cứ nền tảng nào khác trong tương lai thì bạn hoàn toàn có thể học được. Dù trên nền tảng nào thì phần mềm cũng thực hiện sứ mệnh của nó, giải quyết một nhu cầu nào đó (mình nghĩ đến Grab, Uber). Điều này thuộc về ý tưởng, sáng tạo.

2 Likes

Web và Desktop App đều có những mảnh đất riêng không đụng hàng nhau.

Còn xét WindowForm và WPF thì rõ ràng Winform đang ngày càng yếu thế hơn WPF vì nhiều nhược điểm về đồ hoạ.

Hi Nguyễn Quân.
Về lựa chọn desktop thì tại Việt Nam là khá khỏ hiện tại xu thế là web + di động.
WF vs WPF thì tất nhiên là WPF rồi.

Thanks các bác đã tư vấn giúp em ạ :smiley:

Mình thấy xu hướng sau này là Webapp và cơ sở dữ liệu.
Hiện nay khi viết ứng dụng winform tất cả chúng ta đều dùng chung một mô hình: C# + mssql
Nhưng kiểu này cơ sở dữ liệu ngày càng phình to, ứng dụng chậm, bảo trì khó khăn.
ĐƯA TẤT CẢ LÊN MÂY, DỄ DÀNG CẬP NHẬT SỬA CHỮA.
Ngày xưa mình bán ứng dụng, ngày nay mình bán dịch vụ

1 Like

Có những ứng dụng tạm thời chưa thể đưa lên web được, vì với mỗi bài toán đặt ra, Input đều quá lớn, mặc dù ứng dụng nhỏ. Ví dụ để chuyển đổi tag của bài hát, với 1, 2 bài thì không sao, nhưng nếu muốn đổi tag của cả một thư mục mấy chục bài mà up mấy trăm MB lên dịch vụ đám mây thì không ổn lắm, trong khi phần mềm thì chỉ có vài MB.

Nói chung là WPF và ASP.NET có chỗ đứng riêng của mình, nếu bạn thích theo hướng Windows desktop thì cứ WPF mà triển. Né thằng WF ra, khó code, khó design, khó bảo trì.

3 Likes

Ứng dụng Desktop hiện giờ đa số đều thay thế được bằng ứng dụng web. Ví dụ như quản lý chi tiêu, soạn thảo văn bản, một số game nhẹ, quản lý project, thậm chí là IDE

Nhưng vì sao người ta chuyển sang web thay vì desktop?

  • Dễ dàng bảo trì và nâng cấp hơn, chỉ cần cập nhật code lên server là client chạy được bình thường và được update tính năng mới, không cần download, cài đặt
  • Sử dụng cho mọi thiết bị từ máy tính Windows, Linux, macOS đến smartphone Android, iOS, Windows Phone. Miễn là thiết bị có trình duyệt là được
  • Website là một công cụ để quảng bá công ty hiệu quả nhất

Tuy nhiên desktop software chưa chết, có điều nó biến thành thứ to hơn, phức tạp hơn mà công nghệ web không thể sánh bằng như xử lý đồ hoạ, âm thanh, IDE, ứng dụng văn phòng với tính năng nâng cao như macro, game nặng, phần mềm bảo mật, hệ điều hành,…

3 Likes

Mấy ứng dụng nền cơ bản đó đem lên mây làm gì. Tui nói là ứng dụng quản lý dữ liệu lớn. Còn chuyển nhạc tập tin, thì là ứng dụng cấp thấp thôi.

WinForm yếu hơn WPF chỗ nào?
Bạn có cách khắc phục điểm yếu đó không?

Nếu bạn là senior thì bạn phải giải quyết được câu thứ hai.


Em nghĩ đó là nơi anh nên hỏi , vì anh Kim Long , admin của web chuyên .NET và làm tool nên anh hỏi anh ấy là chuẩn nhất :smiley:

Nếu kể ra 10 hạng mục để so sánh chắc WF yếu thế hơn khoảng 7-8 hạng mục gì đó.

Để giải quyết thì vẫn có cách nếu chày cối. Đó là học thật đỉnh Win32 API. Nếu vậy thì viết luôn C/C++ cho rồi :slight_smile:

Phải làm ít mà lợi nhiều chứ ai làm ngược lại bao giờ.

2 Likes

Ngày nay những webapp xử lí nặng, người ta làm hết qua worker chứ cũng không có xử lí 1 nhát rồi trả về output cho enduser ngay.

Việc này giúp cho phía webapp hạn chế đáng kể công việc, người dùng cũng không cần ngồi nhìn con chuột quay tít mù, ram với cpu cao ngất ngưởng nữa.

Vậy nên nói web không sống được trong giới xử lí nặng cũng không đúng, ít nhiều nó cũng góp công sức không nhỏ. (Đơn cử như những webapp CI)

Viết C++ thì cũng phải học api của OS thôi, chứ không thì cũng không ra nổi app :joy:

3 Likes

?? :smiley: ??

Mấy cái ứng dụng cấp thấp người ta mới hay làm cloud. Vấn đề là khối lượng input tại một thời điểm, không phải là độ khó của lập trình. Có những công việc mà ứng dụng offline kiếm nhan nhản trên Google, mà dịch vụ online cực hiếm.

4 Likes

chuyển sang làm web đi, winform bây giờ ko kiếm ăn dc đâu, đi làm nó hỏi C# rồi sau đó nó chuyển em sang web hết
chị hồi xưa tốn tiền đi học giờ chả để làm gì (coi như có biết tí C# thỉnh thoảng nghịch chơi)

2 Likes

Bác này nói ngược hả. Mấy cái tạp nham mới đưa lên web chứ những cái lớn làm sao đưa lên web được tính ra chi phí cho server khỏe cho nhiều người dùng 1 lúc rồi còn cả vụ không có mạng là không cần làm việc luôn hả ?? Vd visual studio web :v mất mạng là ae được ngồi chơi pikachu chứ… 1 triệu user dùng một web app 1 lúc và => sập. Đều có mảnh đất riêng cả thôi

Người ta nói ko ăn dc nho thì chê nho chua. Do mấy ông ko đủ trình viết app trên desktop nên bỏ. Tui hỏi 1 câu không có viết desktop app thì lấy đâu tiện ích cho mấy ông sài. Cứ bu vào webapp 1 lúc nào đó không có net thì mấy ông ôm cái pc mà ngắm à hay dùng chơi xếp bài. :unamused:

Chơi khủng long nhé ::))
Xét về tính phức tạp, yêu cầu, lượng kiến thức thì app cần nhiều hơn web thật thì làm app là khó hơn web khá nhiều thì phải.

E năm 3 tính định hướng theo web backend. Về mặt ngôn ngữ, công nghệ thì e thích môi trường bên c# .net hơn, nhưng thấy thị trường công việc đa số là java. Trong trường thì dạy nodejs. Ko biết liệu theo c# sau này có lỗi thời ko a?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?