Công nghệ Window Presentation Foundation

Với mỗi ứng dụng giao diện luôn là một phần quan trọng, dù đó là một ứng dụng trên nền PC hay một trang web. Nó tạo ra hiệu quả tương tác với ngưởi sử dụng, và một giao diện tốt sẽ làm tăng tính trực quan và giá trị của một sản phẩm. Chính vì thế từ lâu lập trình giao diện đã luôn là một khâu quan trọng trong cả quá trình hoàn thiện một phần mềm.
Cùng với thời gian đã có rất nhiều công nghệ ra đời giúp cho quá trình thiết kế giao diện trở nên ngày một dễ dàng hơn, cung cấp nhiều công cụ hơn cho những người thiết kế và lập trình viên để tạo ra những ứng dụng sinh động và phong phú. Window Presentation Foundation – WPF là một trong những công nghệ đó. WPF được tích hợp trong bộ thư viện Dot Net bắt đầu tử bản 3.0. WPF cho phép xây dựng giao diện với sự kết hợp phong phú văn bản, âm thanh, hình ảnh, video, các hiệu ứng animation, đặc tính web… Và có thể chạy trên tất cả các nền tảng khác nhau của Windows như Window XP, Vista, Window Server…
Đối với các ứng dụng nhỏ, để thiết kế một giao diện không gặp nhiều khó khăn. Nhưng với những ứng dụng có giao diện phức tạp với sự kết hợp cả văn bản, âm thanh, hình ảnh các biểu đồ và cả những hiệu ứng chuyển động luôn làm nảy sinh những khó khăn thực sự với người lập trình. Có thể điểm qua một số khó khăn như :
• Ngày nay có rất nhiều công nghệ khác nhau được sử dụng để xử lý với văn bản, âm thanh hình ảnh… Và đó là thử thách thực sự đối với người lập trình khi phải có khả năng với tất cả các công nghệ đó, cũng như vấn đề bảo trì nâng cấp chương trình sau này.
• Việc thiết kế một giao diện sinh động thực sự không đơn giản. Cần những người thiết kế chuyên nghiệp, trong khi những lập trình viên lại không đủ kỹ năng, và họ lại phải làm việc chung. Điều gì sẽ giúp họ có thể phối hợp nhịp nhàng với nhau.
• Và thông thường các giao diện cho các ứng dụng cho desktop và các ứng dụng chạy qua trình duyệt được được cài đặt riêng rẽ. Dù có thể cùng một giao diện giống nhau. Ví dụ với các ứng dụng Destop thường là các ứng dụng windform hay các công nghệ Window khác. Trong khi các ứng dụng chạy web thường sử dụng công nghệ Javascript, AJAX. Do đó nó cũng đòi hỏi người lập trình hai kỹ năng cài đặt khác nhau.
Window Presentation Foudation- WPF cung cấp giải pháp cho tất cả các khó khăn trên bằng cách cung cấp sự tích hợp các tính năng, đồng thời cho phép người thiết kế có thể đảm đương vai trò độc lập với người lập trình.
Ba khía cạnh nổi bật mà công nghệ WPF có thể cung cấp là :nền tảng thống nhất cho các giao diện hiện đại, khả năng làm việc giữa những lập trình viên và những người thiết kế với nhau và công nghệ để xây dựng cả giao diện cho ứng dụng cho desktop và ứng dụng chạy trên trình duyệt browser.
Nền tảng thống nhất: Bảng mô tả sau đây sẽ tổng kết những sự thống nhất những công nghệ khác nhau trong WPF:

Click this bar to view the small image.

Đối với các giao diện dạng form người lập trình thưởng sử dụng Window Form là một phần trong bộ thư viện Dot Net, Window Form cũng hỗ trợ hiển thị văn bản, hoặc có thể dụng công nghệ của Adobe. Với hình ảnh và đồ họa 2D người lập trình có thể dụng công nghệ GDI+ , có thể truy cấp thông qua Window Forms. Trong khi đó để sử lý với ứng dụng video/audio người lập trình có thể sử dụng Window Media Player, hoặc với các ứng dụng đồ họa 3D thì Direct 3D thường là sự lựa chọn.
Window Presentation Foudation không thay thế hoàn toàn các công nghệ đi trước đó. Nhưng bằng việc cung cấp một nền tảng tích hợp các công nghệ khác nhau sẽ giúp tạo ra các giao diện một cách dễ dàng hơn rất nhiều. Nó giúp làm giảm đi công sức của người lập trình và thiết kế khi chỉ phải thích nghi với một nền tảng duy nhất.
WPF dựa trên công nghệ hiển thị vector thay vì hiền thị theo Bit Map vốn phụ thuộc vào độ phân giải. Điều này cho phép giao diện có thể thay đổi kích thước mà không bị ảnh hưởng đến chất lượng hiển thị.

Khả năng kết hợp giữa những người lập trình và những người thiết kế.

Để tạo ra các giao diện thực sự hấp dẫn thì không thể thiếu những người thiết kế chuyên nghiệp. Nhưng làm thế nào để các lập trình viên và những người thiết kế có thể làm việc cùng nhau? Thông thương, những người thiết kế sẽ sư dụng các công cụ để tạo ra các giao diện mà chương trình sẽ hiển thị dưới dạng những bức ảnh. Sau đó, các bức ảnh đó được chuyển cho người lập trình để cụ thể hóa. Nhưng nhiều thứ là đơn giản với người thiết kế song lại là phức tạp, thậm chí là không thể cài đặt đối với người lập trình. Sự giới hạn về công nghệ, thiếu thời gian và kỹ năng, không hiểu hay đơn giản là không đồng ý có thể làm cho người lập trình không thể hiện thực hóa các ý tưởng của người thiết kế. Liệu có cách nào cho phép những người thiết kế và lập trình có thể làm việc độc lập với nhau hay không?
Đối với WPF câu trả lời là hoàn toàn có thể! Nhờ việc sử dụng ngôn ngữ XAML , với các đối tượng XML như Button, Textbox và nhiều đối tượng khác để định nghĩa chính xác giao diện. XAML cho phép người thiết kế có thể tạo ra các giao diện độc lập trên các công cụ thiết kế chuyên biệt như Microsoft Expression Interactive Designer. Sau đó các giao diện đó được xuất ra dưới dạng mã XAML và người lập trình chỉ cần import vào các tool như Visual Studio để tạo ra giao diện cho chương trình của mình. Điều nãy rõ ràng làm giảm đi rất nhiều công sức và độ phức tạp trong quá trình thiết kế phần mềm. Nó cho phép hai người với vai trò khác nhau có thể tiến hành song song công việc của mình.

Click this bar to view the small image.

Thiết kế giao diện cho cả ứng dụng Desktop và ứng dụng Web.

Với các ứng dụng Web giao diện đóng vai trò quan trọng. Các giao diện được cung cấp một cách đơn giản nhất là thông qua những việc hiển thị mã HTML trên trình duyệt, hoặc chạy các đoạn mã Java Script and XML (AJAX). Các giao diện của ứng dụng web có thể hỗ trợ hình ảnh, âm thanh, video, annimation hay sử dụng nhiêu hơn các công nghệ Flash của Adobe và các công nghệ khác. Hay nó còn được gọi là công nghệ RIA (Rich Internet Application).
Để xây dựng các ứng dụng loại này đòi hỏi những công nghệ khác nhau. Thông thường các lập trình viên chỉ tập trung một trong hai: hoặc là những lập trình viên giao diện Window, hoặc là các lập trình viên giao diện Web. Với một ứng dụng RIA liệu có cần thiết phải phân chia thành hai không?
WPF cho người lập trình có thể cùng với một đoạn mã nhưng có thể sử dụng trong cả hai trường hợp để tạo ra giao diện chạy độc lập trên nền desktop hay thông qua trình duyệt như một ứng dụng web. Cũng có nghĩa là chỉ cần những lập trình viên duy nhất cho cả hai ứng dụng thay vì chia thành hai : một cho ứng dụng web, một cho ứng dụng Window. Hỉnh ảnh dưới đây sẽ cho thấy điều đó rõ ràng hơn:
Chạy dưới dạng một ứng dụng trên desktop.

Click this bar to view the small image.


Chạy trên trình duyệt internet explorer.

Click this bar to view the small image.


Trên đây là một số đặc điểm nổi bật của công nghệ Window Presentation Foundation-WPF của tập đoàn Microsoft. Đó thực sự là một công nghệ mạnh mẽ, mang lại một môi trường thuận lợi, dễ dàng và hiệu quả cho những người thiết kế và các lập trình viên phát triển các ứng dụng của mình.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: