Lập trình ứng dụng .NET - không thể bỏ qua WPF

ngày 10-03-2016

Ngày nay, giao diện ứng dụng không chỉ là đóng vai trò là cổng giao tiếp để người dùng thực hiện các chức năng của ứng dụng mà giao diện ngày càng được nâng tầm, dần trở thành công cụ hỗ trợ đắc lực, giúp người dùng dễ dàng thấy được sự liên hệ giữa các số liệu, có cái nhìn xuyên suốt, trực quan, sinh động với các thao tác thuận tiện, dễ dàng để nhanh chóng đưa ra quyết định quan trọng.

Một giao diện người dùng như vậy cần phải tích hợp thống nhất các thành phần đồ họa, media, văn bản và các thành phần trực quan khác. Ví dụ như trong trường hợp ứng dụng quản lý và theo dõi bệnh nhân của một bệnh viện nào đó. Yêu cầu về giao diện người dùng cho hệ thống mới này sẽ bao gồm:
  • Hiển thị hình ảnh và thông tin văn bản về bệnh nhân.
  • Hiển thị và cho phép cập nhật hình ảnh 2 chiều về nhịp tim, huyết áp của bệnh nhân.
  • Ghi nhận và hiển thị hình ảnh cắt lớp 3 chiều về thông tin của người bệnh.
  • Tích hợp những đoạn video siêu âm và những chẩn đoán khác liên quan đến bệnh nhân và cho phép bác sỹ hay y tá thêm vào các ghi chú cần thiết.
  • Cho phép nhân viên bệnh viện đọc và ghi chú thêm những thông tin về tình trạng của bệnh nhân đó.
  • Ứng dụng hoạt động chính trên hệ điều hành Windows ở các máy tính trong bệnh viện với đầy đủ các tính năng, nhưng đồng thời cũng có thể chạy trên trình duyệt Web hạn chế một số chức năng để cho phép các bác sĩ truy nhập từ xa qua mạng Internet khi cần thiết
Với công nghệ trước đây, một ứng dụng với các yêu cầu như vậy thật sự là thách thức đòi hỏi rất nhiều tài nguyên và công sức. WPF ra đời chính là để xây dựng một nền tảng chung giúp cho việc xây dựng các ứng dụng trở nên trực quan và thuận tiện hơn bao giờ hết.

WPF Cung cấp một nền tảng thống nhất để xây dựng giao diện người dùng


Trước khi WPF ra đời, để tạo màn hình gồm các control trên giao diện đồ họa Windows, thông thường lập trình viên sẽ chọn Windows Forms rồi xây dựng theo yêu cầu. Nếu cần hiển thị văn bản, Windows Forms có một số tính năng hỗ trợ văn bản trực tiếp hoặc có thể sử dụng thư viện Adobe’s PDF để hiển thị văn bản. Nếu muốn thể hiện hình ảnh và đồ họa 2 chiều, lập trình viên sẽ dùng GDI+. Để hiển thị video hay phát âm thanh, lập trình viên lại phải sử dụng Windows Media Player, và nếu muốn có xử lý đồ họa 3 chiều, anh ta lại phải dùng Direct3D, một thành phần chuẩn khác của Windows. Tóm lại, lập trình viên quá nhiều kỹ năng công nghệ để có thể giải quyết được yêu cầu của bài toán. WPF là giải pháp hợp nhất nhằm giải quyết tất cả những vấn đề công nghệ nêu trên, hay nói cách khác, WPF cung cấp nhiều tính năng lập trình giao diện trong cùng một công nghệ đơn nhất. Điều này giúp cho quá trình tạo giao diện người dùng trở nên dễ dàng hơn rất nhiều so với trước đây.


 

WPF – Cung cấp khả năng làm việc chung dễ dàng hơn giữa người thiết kế giao diện và lập trình viên


Một ứng dụng phức tạp, gồm nhiều chức năng, trong đó mỗi màn hình chức năng có nhiều thông tin liên quan đến nhiều bộ phận khác nhau thì giao diện đó cần phải có người thiết kế giao diện chuyên nghiệp thiết kế và phải được thống nhất với người dùng để tránh sửa đổi sau này. 

Người thiết kế sẽ mô tả giao diện người dùng và các tương tác trên đó thông qua công cụ Microsoft Blend for Visual Studio rồi công cụ này sẽ phát sinh ra các đoạn mô tả giao diện dưới dạng ngôn ngữ XAML. Sau đó, lập trình viên sẽ sử dụng các đoạn mô tả XAML đó và lập trình, chẳng hạn như xử lý các sự kiện theo những yêu cầu của ứng dụng.

Cách phân chia tách biệt như vậy sẽ giúp cho công việc có thể thực hiện song song, rút ngắn đáng kể thời gian thực hiện của dự án. 


WPF – Cung cấp công nghệ chung cho giao diện trên Windows và trên trình duyệt Web


Giao diện người dùng với đầy đủ tính năng, trực quan, thuận tiện trên desktop là cần thiết nhưng trong thời đại bùng nổ của Internet, các ứng dụng Web ngày một phát triển thì nhu cầu cho phép ứng dụng cũng có thể hoạt động trên web cũng rất cần thiết. Nếu trước đây lập trình viên phải sử dụng những công nghệ hoàn toàn khác nhau, giống như việc xây dựng hai phiên bản giao diện hoàn toàn độc lập làm phát sinh chi phí thì WPF là một giải pháp cho vấn đề này. Lập trình viên có thể tạo ra một ứng dụng trình duyệt XAML (XBAP) sử dụng WPF chạy trên trình duyệt. Trên thực tế, cùng đoạn code này có thể được dùng để phát sinh ứng dụng WPF chạy độc lập trên Windows. 

Ngoài ra, WPF còn cung cấp một số khả năng sau:
  • Giao diện được thiết kế giống web (còn gọi là Công nghệ web cho ứng dụng desktop)
Hình 1: ListBox hiển thị theo gia diện Web
  • Tốc độ nhanh vì tận dụng triệt để sức mạnh của video cards, … (nói chung là tận dụng tài nguyên của hệ thống một cách tối ưu để giảm tải CPU)
  • Giao diện không phụ thuộc độ phân giải màn hình
  • Dễ dàng tùy biến Control thành một hình dạng khác


Hình 2: Nút Button được tùy biến thành hình ông mặt trời cười
  • Hỗ trợ nhiều hiệu ứng đồ họa cho Control như tạo đường viền cong 4 góc, xoay, đổ bóng, …
  • Dễ dàng tạo hiệu ứng cho giao diện như opacity, Gradient, shadow, ….

 


Hình 3: Giao diện có sử dụng Gradient và Shadow
  • Tạo ảnh không gian 2 chiều hoặc 3 chiều
  • Đặc biệt là hỗ trợ Style (giống CSS trong ứng dụng Web), do đó có thể tạo Template và các trigger như rê chuột vào, ra, …. một đối tượng

 


Hình 4: Khi rê chuột vào nút lệnh sẽ có hiệu ứng
  • Giảm thiểu việc viết code C# gắn kết dữ liệu (data binding) trong các màn hình nhập liệu, tra cứu

 


Hình 5: Với màn hình phức tạp, có nhóm dữ liệu nhưng việc coding đã được WPF giảm thiểu đi rất nhiều
 
Nhằm đáp ứng nhu cầu thực tế, sau thời gian tìm hiểu và triển khai, từ khóa 26/08/2015Trung Tâm Tin Học sẽ đưa vào giảng dạy môn Xây dựng ứng dụng với WPF với những cập nhật mới nhất của WPF phiên bản 4.5.1.

Hẹn gặp bạn tại khóa học !
 


 

ai
Trung Tâm Tin Học
ai
Trung Tâm Tin Học
Chào mừng bạn đến với Trung Tâm Tin Học.
Bạn đang cần hỗ trợ thông tin gì ạ? Hãy Chat ngay với chúng tôi nhé.