Tải bản đầy đủ - 0 (trang)
2 TỔNG QUAN VỀ NỀN TẢNG GIAO DIỆN WPF

2 TỔNG QUAN VỀ NỀN TẢNG GIAO DIỆN WPF

Tải bản đầy đủ - 0trang

Khóa luận tốt nghiệp



GVHD: Th.S Lê Viết Mẫn



Framework 3.0 trở lên , WPF đã được sử dụng trong Windows Vista, Windows

Server 2008 và trong các hệ điều hành kế tiếp.

WPF được xây dựng trên cơ sở các mục tiêu như :

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

• Cho phép người thiết kế viên và lập trình viên làm việc song song với

nhau một cách dễ dàng.







• Cung cấp cơng nghệ chung để xây dựng giao diện người dùng trên cả



H



U



trình duyệt Web và Windows



TẾ



WPF cung cấp những mơi trường có sẵn trong .NET Framework của



N

H



Microsoft cho phép những lập trình viên biết về .NET trước kia nhanh chóng hiểu



KI



và làm việc được với WPF.





C



Dù là hình ảnh 3D hay chỉ là button được xây dựng cho cả ứng dụng



H



Windows và ứng dụng Web, tất cả đều chạy trên Windows Platform. WPF được



Đ



ẠI



coi là công nghệ để tạo ra giao diện cho những ứng dụng Windows kế tiếp. Ngồi



G



ra WPF còn hỗ trợ mơ hình MVVM ( Model -View-ViewModel) mà nền tảng WF







N



không so sánh được [2], [3].



TR



Ư



1.2.2. Đặc điểm

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

Khi WPF chưa ra đời, việc tạo giao diện phải dùng nhiều công nghệ khác

nhau (Xem bảng 1.1). Khi tạo form, các tính năng, các control người lập trình sẽ

nghĩ đến WinForm một phần của .NET Framework hay khi hiển thị văn bản WF có

tính năng hỗ trợ trực tiếp hoặc PDF của Adobe để hiển thị văn bảng dạng cố định.

Lập trình viên sẽ dùng GDI+ cho hình ảnh hoặc đồ họa hai chiều, để hiển thị video

hay âm thanh thì dùng Windows Media Player còn đồ họa ba chiều thì dùng



SVTH: Lê Quang Vinh



8



Khóa luận tốt nghiệp



GVHD: Th.S Lê Viết Mẫn



Direct3D. Nói chung để phát triển giao diện người dùng cần có nhiều kỹ năng cơng

nghệ với những u cầu phức tạp.

Windows



PDF



Forms



Windows



Windows



Forms/GDI+



Media



Direct3D



WPF



Player

Giao



đồ



diện



X



X



họa







(Form, Control)



U



X



On-Screen



TẾ



H



Văn bản



X



Văn bản

Hình Ảnh





C



KI



X



X



N

H



X



Fixed -format



Âm thanh



X



ẠI



H



Video



X



X



X



G



Đ



Đồ họa 2 chiều



X



X



Ư







N



Đồ họa 3 chiều



TR



Bảng 1. 1 Những cơng nghệ có trong WPF [3]



Khi WPF ra đời khơng có nghĩa tất cả các công nghệ ở trên bị thay thế. Người

ta vẫn sử dụng thậm chí trong WPF vẫn sử dụng WF. Windows Media Player vẫn

là công cụ để chơi nhạc và chiếu video. PDF vẫn được sử dụng cho văn bản.

Direct3D vẫn là công nghệ quan trọng trong việc làm games và các ứng dụng khác.

Để tạo ra được một giao diện hiện đại không chỉ là hợp nhất các công nghệ sẵn có

mà nó còn tận dụng được lợi ích của card đồ họa hiện đại. Để tránh các hạn chế các

hạn chế của đồ họa bitmap, WPF dựa vào đồ họa vector là chủ yếu. Cho phép tự

SVTH: Lê Quang Vinh



9



Khóa luận tốt nghiệp



GVHD: Th.S Lê Viết Mẫn



động thay đổi kích thước để hình ảnh phù hợp với độ phân giải của màn hình hiển

thị.

Với việc đã hợp nhất các công nghệ cần thiết để tạo ra được giao diện người

dùng vào một nền tảng, WPF làm cho công việc của người thiết kế phần nào được

đơn giản và thuận lợi hơn.Với việc yêu cầu lập trình viên phải phát triển hệ thống ở

một môi trường phần nào giúp giảm chi phí cho q trình xây dựng và bảo trì hệ

thống. Với việc tích hợp biểu diễn đa dạng các thông tin trên giao diện, WPF đã



U







nâng cao được giá trị cũng như chất lượng của công việc khi người dùng tương tác



H



với các ứng dụng trên nền Windows.



N

H



TẾ



1.2.2.2. Khả năng làm việc chung của người thiết kế giao diện và người lập

trình viên



KI



Như thường lệ, các thiết kế viên sử dụng các công nghệ đồ họa để tạo ra





C



những hình ảnh tĩnh, bố trí giao diện phù hợp trên màn hình. Sau đó được chuyển



H



đến các lập trình viên để tạo ra các mã code để thực hiện hóa giao diện của thiết kế



ẠI



viên. Đơi khi với giao diện rất đơn giản nhưng cực kỳ khó khăn cho lập trình viên.



G



Đ



Có những hạn chế về mặt cơng nghệ, bất đồng quan điểm, thời gian gấp rút, thiếu







N



kĩ năng, hiểu nhầm có thể làm lập trình viên khơng đáp ứng được yêu cầu của nhà



Ư



thiết kế. Do đó, cần một cầu nối giúp cho hai bên đạt được tiếng nói chung mà



TR



khơng ảnh hưởng hay thay đổi chất lượng của giao diện đã thiết kế.

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

Trong thời đại Internet vượt bậc, ứng dụng Web ngày càng phát triển. Một

ứng dụng desktop với đầy đủ tính năng sẽ góp phần làm tăng giá trị của doanh

nghiệp. Tuy nhiên với những cơng nghệ truyền thống thì hoạt động trên desktop

vừa hoạt động trên trình duyệt Web, vấn đề này đòi hỏi chi phí phát sinh khơng cần

thiết giống như ta xây dựng hai giao diện khác nhau. Để giải quyết vấn đề này

trong WPF ta có thể dùng XAML (XBAP) chạy trên Internet Explore.

SVTH: Lê Quang Vinh



10



Khóa luận tốt nghiệp



GVHD: Th.S Lê Viết Mẫn



1.3. XAML

Trước đây, việc tách rời đồ hoạ ra khỏi code là công việc không hề đơn giản.

Trong Windows Forms các form bạn tạo ra đều được biểu diễn lại toàn bộ bằng

C#, các control cũng được Visual studio tự động tạo ra code tương ứng cho các lớp

sẵn có. Các thiết kế viên khơng có công vụ nào làm việc với mã nguồn C#. Để giải

quyết vấn đề đó, Microsoft đã sáng tạo ra nền tảng giao diện WPF gắn với XAML.

XAML là viết tắt của eXtensible Application Markup Language là một ngôn



U







ngữ biến thể của Microsoft về XML để mô tả một GUI. Trong WindowsForms,



H



GUI được tạo bằng ngôn ngữ mà bạn sẽ sử dụng để tương tác với GUI, ví dụ như



TẾ



C# hay VB.NET và thường được duy trì bởi nhà thiết kế nhưng với XAML,



N

H



Microsoft đi theo một cách khác. Giống HTML, bạn có thể dễ dàng viết và điều



KI



chỉnh GUI của mình hay nói cụ thể hơn XAML sẽ định nghĩa sắp xếp, thể hiện các





C



control, button trong cửa sổ của một chương trình WPF. XAML giúp người thiết



H



kế tạo ra giao diện được đẹp hơn, thể hiện được tính nghệ thuật hơn, còn các lập



TR



Ư







N



G



Đ



ẠI



trình viên thì thoải mái code theo suy nghĩ, ý tưởng của họ [3].



Hình 1. 2 XAML hỗ trợ thiết kế viên và lập trình viên làm việc chung.

Tuy nhiên, WPF không nhất thiết là phải có XAML, chúng ta vẫn có thể sử

dụng WF để tạo ra các dòng code để xây dựng cửa sổ trong giao diện WPF.

SVTH: Lê Quang Vinh



11



Khóa luận tốt nghiệp



GVHD: Th.S Lê Viết Mẫn



1.4. Mơ hình MVVM

MVVM là viết tắt của Model-View-ViewModel. Nó là một biến thể của mẫu

thiết kế mơ hình trình bày của Martin Fowler. MVVM tóm tắt trạng thái và hành

vi của chế độ xem theo cùng một cách, nhưng mơ hình trình bày tóm tắt một chế

độ xem (tạo mơ hình xem ) theo cách khơng phụ thuộc vào nền tảng giao diện

người dùng cụ thể.

MVVM được phát minh bởi các kiến trúc sư Microsoft Ken Cooper và Ted



U







Peters đặc biệt để đơn giản hóa lập trình hướng sự kiện của giao diện người



H



dùng. Mẫu được tích hợp vào Windows Presentation Foundation (WPF) ( hệ thống



TẾ



đồ họa .NET của Microsoft ) và Silverlight (dẫn xuất ứng dụng Internet của WPF).



N

H



John Gossman, một trong những kiến trúc sư WPF và Silverlight của Microsoft, đã



KI



công bố MVVM trên blog của mình vào năm 2005 [4].



TR



Ư







N



G



Đ



ẠI



H





C



Hình ảnh 1.3 bên dưới mô tả mối quan hệ giữa các thành phần trong pattern.



Hình 1. 3 Mơ hình MVVM

• Views: là thành phần duy nhất mà người dùng có thể tương tác với

chương trình. Trong WPF, view chính là UserControl nhưng khơng nhất

thiết UserControl phải là view.



SVTH: Lê Quang Vinh



12



Khóa luận tốt nghiệp



GVHD: Th.S Lê Viết Mẫn



• Models: tạo các lớp chứa các dữ liệu và bất kỳ các logic, xác nhận,

nghiệp vụ để bảo tồn tính tồn vẹn của dữ liệu khi truy xuất, thao tác tên dữ

liệu

• ViewModels: là một lớp trung gian giữa View và Model. Nó được cho

là thay thế cho Controller trong mơ hình MVC. Nó chứa các mã lệnh thuận

tiện cho việc binding, command,…

Các thành phần của mơ hình MVVM tạo mẫu cho View và tách biệt khỏi



U







ViewModel các class. Mỗi thành phần trong View được kết nối tới các đặc tính



H



trong ViewModel bằng data bingding. ViewModel sẽ lấy dữ liệu từ Model. Trong



TẾ



MVVM các tầng bên được giữ bí mật với các tầng bên dưới nó.



N

H



Việc sử dụng mơ hình trong q trình phát triển ứng dụng WPF mang lại cho



KI



người lập trình nhiều lợi ích, như tương tác hiệu quả giữa người thiết kế và người





C



lập trình, khả năng sử dụng lại các thành phần hay việc thay đổi giao diện chương



Đ



ẠI



H



trình mà khơng cần phải viết lại code quá nhiều [5].



G



1.5 Ngôn ngữ C Sharp



N



Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư Microsoft, trong đó người



Ư







dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Cả hai người này điều là những



TR



người nổi tiếng, trong đó Anders Hejlsberg được biết đến là tác giả của Turbo

Pascal, một ngơn ngữ lập trình PC phổ biến. Và ơng đứng đầu nhóm thiết kế

Borland Delphi, một trong những thành công đầu tiên của việc xây dựng mơi

trường phát triển tích hợp (IDE - Integrated Development Environment) cho lập

trình client/server.

Trong ngơn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấy

trong phần khai báo của nó. Định nghĩa một lớp trong ngơn ngữ C# khơng đòi hỏi

phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++. Hơn

SVTH: Lê Quang Vinh



13



Khóa luận tốt nghiệp



GVHD: Th.S Lê Viết Mẫn



thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh

tự động các document cho lớp.

C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và

C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở

ảo (virtual base class). Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn

đến những vấn đề cho các người phát triển C++.

C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một







lớp cho những dịch vụ mà giao diện quy định. Trong ngôn ngữ C#, một lớp chỉ có



H



U



thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa như trong ngôn



TẾ



ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện. Khi một lớp thực thi



N

H



một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện.



KI



C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm





C



Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn



H



ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.



Đ



ẠI



C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụng



G



Windows Forms hay WPF (Windows Presentation Foundation),... trở nên rất dễ







N



dàng. Môi trường .NET cung cấp công nghệ ASP.NET,… giúp xây dựng những



TR



Ư



trang Web động. Để tạo ra một trang ASP.NET,… người lập trình sử dụng ngôn

ngữ biên dịch như C# viết mã [6].

1.6 Môi trường phát triển tích hợp Visual studio

Microsoft Visual Studio là một mơi trường phát triển tích hợp từ Microsoft.

Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows,

cũng như các trang web, các ứng dụng web và các dịch vụ web. Visual Studio sử

dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows



SVTH: Lê Quang Vinh



14



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

2 TỔNG QUAN VỀ NỀN TẢNG GIAO DIỆN WPF

Tải bản đầy đủ ngay(0 tr)

×