Networks Business Online Việt Nam & International VH2

WPF là gì? | Phạm Tuân’s Blog

Đăng ngày 08 November, 2022 bởi admin

Windows Presentation Foundation hay gọi tắt là WPF – là một nền tảng cho phép developer có thể tạo ra các ứng dụng trên nền .NET framework cho Windows nói chung. Cũng có thể gọi WPF là một GUI framework. Nó ra đời sau Winform và tốt hơn người tiền nhiệm về mọi mặt.

WPF là gì?

1. WPF là gì?

WPF, viết tắt của Windows Presentation Foundation, là hệ thống API mới hỗ trợ việc xây dựng giao diện đồ hoạ trên nền Windows. Được xem như thế hệ kế tiếp của WinForms, WPF tăng cường khả năng lập trình giao diện của lập trình viên bằng cách cung cấp các API cho phép tận dụng những lợi thế về đa phương tiện hiện đại. Là một bộ phận của .NET Framework 3.0, WPF sẵn có trong Windows Vista và Windows Server 2008. Đồng thời, WPF cũng có thể hoạt động trên nền Windows XP Service Pack 2 hoặc mới hơn, và cả Windows Server 2003.

WPF là gì?WPF được thiết kế xây dựng nhằm mục đích vào ba tiềm năng cơ bản :

  • Cung cấp một nền tảng thống nhất để xây dựng giao diện người dùng;
  • Cho phép người lập trình và người thiết kế giao diện làm việc cùng nhau một cách dễ dàng;
  • Cung cấp một công nghệ chung để xây dựng giao diện người dùng trên cả Windows và trình duyệt Web.

2. Nền tảng thống nhất để xây dựng giao diện người dùng

Trước khi WPF sinh ra, việc tạo giao diện người dùng theo những nhu yếu miêu tả ở ví dụ trên yên cầu sử dụng rất nhiều công nghệ tiên tiến khác nhau. Để tạo form, những control và những tính năng tầm cỡ khác của một giao diện đồ họa Windows, thường thì lập trình viên sẽ chọn Windows Forms, một phần của. NET Framework. Nếu cần hiển thị văn bản, Windows Forms có 1 số ít tính năng tương hỗ văn bản trực tiếp hoặc hoàn toàn có thể sử dụng Adobe’s PDF để hiển thị văn bản có khuôn dạng cố định và thắt chặt .
Đối với hình ảnh và đồ họa 2 chiều, lập trình viên sẽ dùng GDI +, một quy mô lập trình riêng không liên quan gì đến nhau hoàn toàn có thể truy nhập qua Windows Forms. Để 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à với đồ 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, quy trình tăng trưởng giao diện người dùng theo nhu yếu trở nên phức tạp, yên cầu lập trình viên quá nhiều kiến thức và kỹ năng công nghệ tiên tiến .

WPF là giải pháp hợp nhất nhằm mục đích xử lý toàn bộ những yếu tố công nghệ tiên tiến nêu trên, hay nói cách khác, WPF cung ứng nhiều tính năng lập trình giao diện trong cùng một công nghệ tiên tiến đơn nhất. Điều này giúp cho quy trình tạo giao diện người dùng trở nên thuận tiện hơn đáng kể .
Hình bên dưới cho thấy một giao diện quản trị và theo dõi bệnh nhân có sự phối hợp của hình ảnh, text, đồ họa 2 chiều / 3 chiều và nhiều thông tin trực quan khác. Tất cả đều được tạo ra bằng WPF – lập trình viên không cần viết code để sử dụng những công nghệ tiên tiến chuyên biệt như GDI + hay Direct3D .

Tuy nhiên, WPF sinh ra không có nghĩa là tổng thể những công nghệ tiên tiến nêu trên bị thay thế sửa chữa. Windows Forms vẫn có giá trị, thậm chí còn trong WPF, một số ít ứng dụng mới vẫn sẽ sử dụng Windows Forms. Windows Media Player vẫn đóng một vai trò công cụ độc lập để chơi nhạc và trình chiếu video. PDF cho văn bản vẫn liên tục được sử dụng. Direct3D vẫn là công nghệ tiên tiến quan trọng trong games và những dạng ứng dụng khác ( Trong trong thực tiễn, bản thân WPF dựa trên Direct3D để thực thi mọi trình diễn đồ họa ) .
Việc tạo ra một giao diện người dùng văn minh không chỉ là việc hợp nhất những công nghệ tiên tiến sẵn có khác nhau. Nó còn bộc lộ ở việc tận dụng lợi điểm của card đồ họa văn minh. Để giải phóng những hạn chế của đồ họa bitmap, WPF dựa trọn vẹn trên đồ họa vector, được cho phép hình ảnh tự động hóa đổi khác kích cỡ để tương thích với kích cỡ và độ phân giải của màn hình hiển thị mà nó được hiển thị .
Bằng việc hợp nhất toàn bộ những công nghệ tiên tiến thiết yếu để tạo ra một giao diện người dùng vào một nền tảng đơn nhất, WPF đơn giản hóa đáng kể việc làm của lập trình viên giao diện. Với việc nhu yếu lập trình viên học một môi trường tự nhiên tăng trưởng duy nhất, WPF góp thêm phần làm giảm ngân sách cho việc kiến thiết xây dựng và bảo dưỡng ứng dụng. Và bằng việc được cho phép tích hợp phong phú nhiều cách màn biểu diễn thông tin trên giao diện người dùng, WPF góp thêm phần nâng cao chất lượng, và theo đó là giá trị việc làm, của phương pháp người dùng tương tác với ứng dụng trên Windows .

3. Khả năng làm việc chung giữa người thiết kế giao diện và lập trình viên

Trong thực tiễn, việc kiến thiết xây dựng một giao diện người dùng phức tạp như trong ví dụ về ứng dụng quản trị bệnh nhân trên yên cầu những kiến thức và kỹ năng ít thấy ở những lập trình viên đơn thuần, mà chỉ hoàn toàn có thể tìm thấy ở những người phong cách thiết kế giao diện chuyên nghiệp. Nhưng câu hỏi đặt ra là làm thế nào để người phong cách thiết kế và lập trình viên hoàn toàn có thể thao tác cùng nhau ?

Thông thường, người thiết kế giao diện sử dụng một công cụ đồ họa để tạo ra những ảnh tĩnh về cách bố trí giao diện trên màn hình. Những hình ảnh này sau đó được chuyển tới lập trình viên với nhiệm vụ tạo ra mã trình để hiện thực hóa giao diện đã thiết kế. Đôi lúc vẽ ra một giao diện thì đơn giản với người thiết kế, nhưng để biến nó thành hiện thực có thể là khó khăn hoặc bất khả thi với lập trình viên.

Hạn chế về công nghệ tiên tiến, sức ép quá trình, thiếu kiến thức và kỹ năng, hiểu nhầm hoặc đơn thuần là sự không tương đồng quan điểm hoàn toàn có thể khiến lập trình viên không phân phối được khá đầy đủ nhu yếu từ người phong cách thiết kế. Do vậy, điều thiết yếu ở đây là một phương pháp để hai nhóm công tác làm việc độc lập này hoàn toàn có thể thao tác với nhau mà không làm biến hóa chất lượng của giao diện đã phong cách thiết kế .
Để triển khai được điều này, WPF đưa ra ngôn từ đặc tả eXtensible Application Markup Language ( XAML ). XAML định ra một tập những thành phần XML như Button, TextBox, Label …, nhằm mục đích định nghĩa những đối tượng người tiêu dùng đồ họa tương ứng như nút bấm, hộp thoại, nhãn …, và nhờ đó được cho phép miêu tả đúng mực diện mạo của giao diện người dùng. Các thành phần XAML cũng chứa những thuộc tính, được cho phép thiết lập nhiều đặc thù khác nhau của đối tượng người tiêu dùng đồ họa tương ứng .
Ví dụ, đoạn mã sau sẽ tạo ra một nút bấm màu đỏ “ Click me ” :


Mỗi thành phần XAML lại tương ứng với một lớp WPF, và mỗi thuộc tính của thành phần đó lại tương ứng với thuộc tính hay sự kiện của lớp này. Chẳng hạn, nút bấm màu đỏ trong ví dụ trên hoàn toàn có thể tạo bằng C # code như sau :

Button btn = new Button();
btn.Background = Brushes.Red;
btn.Content = "Click me";

Nếu như mọi thứ hoàn toàn có thể màn biểu diễn bằng XAML thì cũng hoàn toàn có thể màn biểu diễn bằng đoạn mã, thì câu hỏi đặt ra là XAML có ý nghĩa gì ? Câu vấn đáp là việc kiến thiết xây dựng những công cụ sinh và sử dụng những đặc tả bằng XML thuận tiện hơn nhiều so với thiết kế xây dựng một công cụ tựa như thao tác với đoạn mã. Bởi vậy, XAML mở ra một phương pháp tốt hơn để lập trình viên và người phong cách thiết kế thao tác với nhau. Hình dưới đây minh họa quy trình này .

Người phong cách thiết kế hoàn toàn có thể miêu tả giao diện người dùng và tương tác với nó trải qua một công cụ, ví dụ điển hình như Microsoft Expression Interactive Designer. Chỉ tập trung chuyên sâu vào việc định ra diện mạo và cảm quan cho giao diện đồ họa WPF, công cụ này sinh những đoạn miêu tả giao diện bộc lộ qua ngôn từ XAML. Lập trình viên sau đó sẽ nhập đoạn miêu tả XAML đó vào môi trường tự nhiên lập trình, ví dụ điển hình như Microsoft Visual Studio .
Thay vì lập trình viên phải tái tạo lại giao diện từ đầu dựa trên một ảnh tĩnh mà người phong cách thiết kế cung ứng, bản thân những đoạn XAML này sẽ được Microsoft Visual Studio biên dịch để tái tạo thành giao diện đồ họa đúng theo miêu tả. Lập trình viên chỉ tập trung chuyên sâu vào việc viết mã trình cho giao diện được sinh ra, ví dụ điển hình như giải quyết và xử lý những sự kiện, theo những tính năng đề ra của ứng dụng .
Việc được cho phép người phong cách thiết kế và lập trình viên thao tác chung như vậy sẽ hạn chế những lỗi phát sinh khi hiện thực hóa giao diện từ phong cách thiết kế. Thêm vào đó, nó còn được cho phép hai nhóm công tác làm việc này thao tác song song, khiến mỗi bước lặp trong tiến trình tăng trưởng ứng dụng ngắn đi và việc phản hồi được tốt hơn. Vì cả hai môi trường tự nhiên đều có năng lực hiểu và sử dụng XAML, ứng dụng WPF hoàn toàn có thể chuyển qua lại giữa hai môi trường tự nhiên tăng trưởng để sửa đổi hay bổ trợ giao diện. Với tổng thể những lợi điểm này, vai trò của người phong cách thiết kế trong việc thiết kế xây dựng giao diện được đặt lên số 1 .

4. Công nghệ chung cho giao diện trên Windows và trên trình duyệt Web

Trong thời đại bùng nổ của Internet, những ứng dụng Web ngày một tăng trưởng. Việc trang bị giao diện người dùng với khá đầy đủ tính năng như một ứng dụng desktop sẽ lôi cuốn nhiều người sử dụng ;, và do đó góp thêm phần làm tăng giá trị doanh nghiệp. Tuy nhiên, như đã nêu trong phần đầu, với những công nghệ tiên tiến truyền thống cuội nguồn, để tăng trưởng một giao diện đồ họa vừa hoạt động giải trí trên desktop vừa trên trình duyệt Web, yên cầu phải sử dụng những công nghệ tiên tiến trọn vẹn khác nhau, giống như việc thiết kế xây dựng hai giao diện trọn vẹn độc lập. Điều này tạo ra ngân sách không thiết yếu để tăng trưởng giao diện .
WPF là một giải pháp cho yếu tố này. Lập trình viên hoàn toà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 Internet Explore. Trên trong thực tiễn, cùng đoạn code này hoàn toàn có thể được dùng để sinh ứng dụng WPF chạy độc lập trên Windows. Hình 01 minh họa một ứng dụng dịch vụ kinh tế tài chính hoạt động giải trí như một ứng dụng WPF độc lập. Trong khi đó, hình 02 minh họa giao diện của cùng ứng dụng chạy trên Internet Explore dưới dạng XBAP .
Như đã thấy trong Hình 02, phần giao diện của ứng dụng dạng XBAP được trình duyệt chia thành những frame thay vì chạy trên những hành lang cửa số riêng, ngoài những, những công dụng đều được bảo toàn. Cùng một đoạn mã được sử dụng chung cho cả hai trường hợp sẽ làm giảm khối lượng việc làm thiết yếu để tăng trưởng hai dạng giao diện. Thêm vào đó, sử dụng cùng một đoạn mã cũng có nghĩa là sử dụng cùng kỹ năng và kiến thức của lập trình viên .

Do đó, lập trình viên chỉ cần có học một kiến thức chung là có thể sử dụng trong cả hai trường hợp. Một lợi điểm nữa của việc dùng chung công nghệ cho cả giao diện Windows và giao diện Web là người xây dựng ứng dụng không nhất thiết phải quyết định trước loại giao diện nào được sử dụng. Miễn là máy client đáp ứng được những yêu cầu hệ thống để chạy XBAP, một ứng dụng có thể cung cấp cả giao diện Windows và giao diện Web, mà chỉ sử dụng phần lớn những đoạn mã giống nhau.

Mỗi ứng dụng XBAP được tải về khi cần từ một Web server, nên nó phải tuân theo những nhu yếu về bảo mật an ninh khắc nghiệt hơn so với một ứng dụng Windows độc lập. Theo đó, XBAP chạy trong khoanh vùng phạm vi sandbox bảo mật an ninh do mạng lưới hệ thống bảo mật an ninh truy nhập mã của. NET Framework phân phối. XBAP chỉ chạy với những mạng lưới hệ thống Windows có setup WPF và chỉ với Internet Explore phiên bản 6 và 7 trở lên .
Trích Microsoft việt nam .

Phạm Tuân

Source: https://vh2.com.vn
Category : Tin Học