Winforms Trong C# Đã Hết Thời Hay Chưa?

Winforms Trong C# Đã Hết Thời Hay Chưa?

Winforms là một công nghệ của Microsoft, cho phép lập trình các ứng dụng Windows. Nhờ hỗ trợ các tiện ích, dễ code, giao diện được thiết kế bằng cách kéo thả đơn giản, … Winforms đã được sử dụng để phát triển rất nhiều ứng dụng. So với các công nghệ khác, Winforms có tuổi đời khá cao (ra đời vào năm 2003) và chính thức bị Microsoft khai tử vào năm 2014. Đã hơn 5 năm trôi qua, đến giờ "số phận" của Winforms trong C# giờ ra sao? Liệu Winforms trong C# đã "chết"?

Winforms C# là "Thanh mai trúc mã" của Microsoft

Có một thực tế rằng đa phần những lập trình viên C# .Net đều đã từng học qua những lớp vỡ lòng cơ bản về Winforms C#. Mình còn nhớ những ngày đầu, khi tiếp xúc với ngôn ngữ C#. Thì chỉ vài ngày sau là mình đã có thể "va vào" Winforms để code ra cái "Form" đầu tiên của mình.

Thật sự, mình rất ấn tượng khi lần đầu tiếp xúc với Winforms: Giao diện kéo thả dễ sử dụng; Gắn các event cho các button chỉ cần double click, lại hỗ trợ các event như click, hover,…; Việc viết code cũng vô cùng trực quan: từ việc lấy text từ TextBox cho tới show dữ liệu bằng MessageBox, hoặc dùng Grid để kết nối SQL.

Với công nghệ này, bạn cũng có thể tìm thấy khá nhiều component thiết kế sẵn, rất phù hợp để làm các phần mềm quản lý, tính tiền, thống kê… . Đây cũng là loại ứng dụng mà các công ty/doanh nghiệp vừa và nhỏ cần. Một trong số đó có thể kể đến như Telerik UI hoặc DevExpress. Ngần ấy thôi là bạn đã có thể tạo ra các giao diện hiện đại, đẹp long lanh hoa mỹ.

Và giờ thì quay trở lại câu hỏi chính. Mình xin phép được trả lời. Có thể Winforms đã hết thời nhưng ở Việt Nam, Winforms vẫn còn "sống khỏe, sống tốt". Tại sao vậy nhỉ? Lí do vì sao thì mình đã liệt kê hết ở bên trên rồi!

Đừng nên đầu tư quá nhiều thời gian & công sức vào Winforms

Sau khi đọc xong câu trả lời trên, mình tin các bạn sẽ thắc mắc: "Vậy giờ có nên học và tập trung vào Winforms nữa không?"

Câu trả lời của mình sẽ là: "Hãy học để làm quen, tích lũy kiến thức cơ bản, nhưng đừng tập trung công sức và thời gian để master nó."

Lí do chính là vì Winforms đã bị Microsoft khai tử, và rất có thể chỉ thêm vài năm nữa nó cũng sẽ đi vào lãng quên như VB6. Nếu xét về khía cạnh việc làm thì hiện nay, số lượng các công ty tuyển dụng yêu cầu Winforms cũng không nhiều. Nếu công ty đòi hỏi kiến thức Winforms, có lẽ nhiệm vụ chính của bạn sẽ là bảo trì các dự án Winforms "cũ rích". Chắc hẳn là không bạn nào muốn làm công việc bảo trì nhàm chán qua ngày này tháng nọ phải không?

Tạm quên Winforms, giờ chúng ta có thể làm quen với WPF - đàn em "sinh sau đẻ muộn" của Winforms. WPF sử dụng ngôn ngữ XAML để làm giao diện nên khá linh hoạt: hỗ trợ animation, tạo user control, … tốt hơn Winforms nhiều. Tất cả đều hướng tới mục tiêu của Microsoft là định hướng cho giới developer sử dụng WPF để thay thế cho Winforms. Chính vì thế mà có khá nhiều dự án cũng đang migrate từ Winforms sang WPF.

So sánh Winforms và WPF

Winforms vẫn chưa "hết thời" tại Việt Nam. Nếu các bạn là những người mới bắt đầu làm quen về lập trình Windows bằng C# thì lựa chọn Winforms cũng không phải là một lựa chọn tồi vì bạn sẽ có nhiều tài liệu để học tập, các vấn đề đã được giải đáp trên các diễn đàn cũng đa dạng hơn, quá trình học có thể dễ dàng, trực quan hơn nhờ những ưu điểm của Winforms. Đến khi bạn đã tích lũy đủ kiến thức nền tảng rồi thì các bạn hãy cập nhật những công nghệ mới hơn như WPF nhé!

Để bạn có cái nhìn rõ hơn về sự khác nhau giữa Winforms và WPF mình đã tìm thấy một infographic so sánh khá chi tiết 2 công nghệ này:

Sự khác nhau giữa Winforms & WPF

Tham khảo

  • https://www.educba.com/winforms-vs-wpf/