MỤC LỤC
LỜI MỞ ĐẦU 2
CHƯƠNG I: PHƯƠNG PHÁP LUẬN NGHIÊN CỨU 3
I. TỔNG QUAN VỀ ĐƠN VỊ THỰC TẬP 3
1. Giới thiệu về đơn vị thực tập 3
2. Sơ đồ tổ chức 4
II. TÍNH CẤP THIẾT CỦA ĐỀ TÀI 4
CHƯƠNG 2: TỔNG QUAN VỀ ĐỀ TÀI 6
I. MICROSOFT VISUAL 2008 6
1. Sơ lược lịch sử phát triển của Visual Studio 6
2. Tính năng vượt trội của Microsoft Visual Studio 2008 so với các phiên bản trước 7
II. WINDOWS PRESENTATION FOUNDATION 11
1. Khái niệm về WPF 11
2. Cấu trúc của Windows Presentation Foundation 18
TÓM TẮT CÁC NỘI DUNG TRONG CHƯƠNG SAU: 22
24 trang |
Chia sẻ: maiphuongdc | Lượt xem: 2018 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết lập trình diễn Windows, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Visual Studio 6.0 cải thiện thêm cho Visual Studio 97. Đây cũng là phiên bản cuối cùng chạy trên nền tảng Win9x. Nó có những nâng cấp rõ rệt đối với Visual J++, Visial InterDev. Phiên bản này là một cơ sở, một nền tảng mà Microsoft phải mất tới 4 năm để phát triển lên một môi trường mới mà giờ đây người ta gọi là .NET Framework.
Năm 2002, 2003 Microsoft trình làng cặp sản phẩm mang tính đột phá Visual Studio .NET 2002 và Visual Studio .NET 2003, đó là một sự thay đổi lớn trong công nghệ phát triển phần mềm. Microsoft đã giới thiệu một môi trường phát triển “code được quản lý” (managed code) sử dụng .NET Framework, là một IDE đa năng, là môi trường mà bạn có thể viết ứng dụng bằng bất kì ngôn ngữ nào, từ C++, Visual Basic cho đến J++ hay C#, chỉ cần duy nhất một IDE bạn có thể làm chủ tất cả từ giao diện cho đến soạn thảo mã lệnh, tất cả đều thật dễ dàng.
Ba năm sau là sự ra đời của Visual Studio 2005, nó giúp cho nhà phát triển làm việc nhóm dễ dàng và hiệu quả, cũng như giảm bớt công sức và thời gian trong quá trình phát triển.
Đến nay, với sự ra đời của Visual Studio 2008 đánh dấu bước tiến vượt bậc so với các phiên bản trước. Visual Studio 2008 cung cấp một bộ công cụ mạnh mẽ để xây dựng phần mềm cho Windows, Web, các thiết bị di động và Microsoft Office. Visual Studio 2008 nâng cao hiệu quả của nhà phát triển bằng cách cung cấp công cụ để viết mã nhanh hơn, đơn giản hóa những tác vụ liên quan đến việc phát triển phần mềm khác. Bộ công cụ này cho phép tăng tốc quá trình biến ý tưởng ban đầu của nhà phát triển thành hiện thực.
Visual Studio 2008 được thiết kế để hỗ trợ các dự án phát triển nhắm đến nền tảng Web(bao gầm ASP.NET, AJAX), Windows Vista, Windows Sever 2008, hệ thống 2007 Microsoft Office, SQL Sever 2008 cùng với các thiết bị nền Windows Mobile. Phiên bản Visual Studio này gồm các công cụ phát triển với .NET Framework 3.0. Các công cụ này đã được thiết kế kéo thả cho các giao diện sử dụng người dùng (GUI) Windows Presentation FrameWork và các công cụ thiết kế cho engine luồng công việc Windows WorkFlow Foundation. Mặt khác, Visual Studio 2008 cung cấp ngôn ngữ truy vấn tích hợp LINQ - Language Integrated Query, các mở rộng trong cở sở dữ liệu và dữ liệu XML. Visual Studio 2008 cung cấp bộ công cụ tích hợp để đáp ứng mọi nhu cầu này thông qua việc cung cấp một tập hợp khổng lồ các chức năng, đặc tính hoàn toàn mới.
2. Tính năng vượt trội của Microsoft Visual Studio 2008 so với các phiên bản trước
Như đã nói, Visual Studio 2008 chính là một bộ công cụ để xây dựng phần cho Windows, Web, các thiết bị di động và Microsoft Office. Visual Studio 2008 tích hợp những tính năng có thể làm thỏa mãn bất kỳ nhà phát triển ứng dụng nào. Visual Studio 2008 được đánh giá cao qua những điểm nổi trội sau:
Thứ nhất, Visual Studio 2008 tích hợp phiên bản chính thức .NET Framework 3.5 và môi trường đồ họa động mới nhất Silverlight. Visual Studio còn có thêm một công cụ mới Popfly Explorer. Đây là công cụ cho phép nhà phát triển xây dựng các ứng dụng dịch vụ Web trên nền tảng Silverlight mới ra mắt của Microsoft. Một nền tảng tương tự như Adobe Flash
Thứ 2, Visual Studio 2008 giờ cũng đã tích hợp khả năng hỗ trợ nhiều ngôn ngữ động như IronRuby và IronPython. Và cuối cùng là Visual Studio 2008 được Microsoft tích hợp thêm LINQ (Language Integrated Query – Ngôn ngữ truy vấn tích hợp). Tính năng này cho phép ngôn ngữ lập trình .NET có thể truy vấn dữ liệu thông qua Lexicon tương tự như SQL nhưng không cần phải thông qua các bộ xử lý dữ liệu như ADO.
Thứ ba, công cụ Sync Framework tích hợp sẵn giúp mở rộng khả năng hỗ trợ đồng bộ hóa của Visual Studio 2008 cho phép tạo ứng dụng phối hợp ngoại tuyến hoặc ngang hàng. Microsoft tuyên bố Sync Framework là nền tảng đưa dịch vụ Web và cơ sở dữ liệu từ trên mạng xuống dưới PC, hỗ trợ đồng bộ hóa ngang hàng bất kỳ loại tệp tin nào theo bất kỳ thủ tục truyền tải, loại dữ liệu hoặc hình thức lưu trữ nào.
Tóm lại Visual Studio 2008 ra mắt những ưu điểm chính cho các chuyên gia phát triển phầm mềm thể hiện trong 3 lĩnh vực chính:
Cải thiện khả năng sản xuất
Quản lý chu trình phát triển ứng dụng
Triển khai các công nghệ mới nhất
Những đặc điểm này ta có thể thấy rõ nó đã tạo ra một bước tiên lớn.
Về cải thiện khả năng sản xuất:
Với mỗi phiên bản, Microsoft luôn cố gắng cải thiện Visual Studio để sao cho luôn có thể đạt được hiệu suất làm việc ngày càng cao hơn. Chính vì vậy mà Visual Studio 2008 đã đi sâu vào giải quyết những vấn đề phức tạp của công việc phát triển phần mềm:
Vấn đề truy xuất dữ liệu: Có thể nói những thay đổi về truy xuất dữ liệu trong Visual Studio 2008 là một cuộc cách mạng. Ở phiên bản này, Microsoft giới thiệu LINQ (Language Integrated Query – Ngôn ngữ truy vấn tích hợp) giúp cho nhà pháp triển có thể tương tác với dữ liệu dựa trên một mô hình hoàn toàn mới với rất nhiều hỗ trợ cho hai ngôn ngữ C# và Visual Basic. Xử lý dữ liệu luôn là trở ngại chính mà các nhà phát triển thường phải đối mặt, đặc biệt là quá trình làm việc với những dữ liệu mang tính trao đổi cao như XML (Extensible Makeup Language – Ngôn ngữ đánh dấu mở rộng). Nhưng với LINQ, mọi thứ dường như được giải tỏa, bởi đúng như tên gọi của nó, LINQ được tích hợp vào ngay bản thân ngôn ngữ lập trình. Với dự hỗ trợ sâu về việc kết hợp ngôn ngữ truy vấn tích hợp .NET (LINQ to SQL) bên trong các ứng dụng Web ASP.NET, Visual Studio tạo lên sự sang tạo dữ liệu cho các Website, làm cho chúng trở nên năng suất hơn và cũng hiệu quả hơn.
Thiết kế giao diện nhanh, hiệu quả: Với Visual Studio 2008, chỉ với một IDE duy nhất, chúng ta có thể làm việc được với tất các phiên bản của .NET Framework từ phiên bản mới nhất 3.5 đến phiên bản cũ hơn 3.0 hay thậm chí là 2.0. Đặc biệt Windows Form designer của Visual Studio 2008 được tích hợp chặt chẽ với WPF (Windows Presentation Foundation), giúp nhà phát triển có được một giao diện thật bắt mắt nhưng lại chẳng tốn nhiều thời gian và công sức.
Tạo các ứng dụng Microsoft Office hiệu quả: Tích hợp chặt với Microsoft Office thông qua bộ công cụ Visual Studio Tool for Office(VSTO). Visual Studio cho phép các chuyên gia phát triển phần mềm có thể tùy chỉnh Word, Excel®, PowerPoint, Outlook, Visio®, InfoPath®, và Project để cải thiện năng suất người dùng và tận dụng nhiều cải thiện trong hệ thống Offìce 2007 của Microsoft.
Xây dựng các ứng dụng Windows Vista hiệu quả: Visual Studio cung cấp công cụ cho phép các chuyên gia xây dựng ứng dụng giàu kinh nghiệm nhanh chóng và dễ dàng. Các công cụ này gồm có một bộ thiết kế và bộ soạn thảo XAML, các mẫu dự án và hỗ trợ gỡ rối, hỗ trợ triển khai… Không chỉ hỗ trợ về mảng thiết kế giao diện trực quan thông qua Windows Form Designer, Visual Studio 2008 còn hỗ trợ nhà phát triển can thiệp sâu vào XAML để xây dựng giao diện cho các ứng dụng dựa trên nền WPF. Ngoài ra, theo Microsoft thì Visual Studio 2008 còn hỗ trợ tới trên 8000 API (Application Programming Interface) dành riêng cho Windows Vista. Thậm chí, Visual Studio 2008 còn hỗ trợ cả WWF (Windows Workflow Foundation) giúp nhà phát triển dễ dàng hơn khi triển khai dứng dụng, có thể không cần viết một dòng mã nào.
Về quản lý chu trình phát triển ứng dụng ta có thể thấy những ưu điểm sau trong Visual Studio 2008:
Bằng việc hỗ trợ các định dạng chung (như XML) và cho phép người thiết kế kiểm soát trực tiếp hơn với Layout, các Control và sự ràng buộc dữ liệu của giao diện ứng dụng người dùng (UI), Visual Studio làm cho các thiết kế viên hòa nhập vào quá trình phát triển dễ dàng hơn. Visual Studio hỗ trợ đầy đủ sự cộng tác luồng công việc, cho phép các thiết kế viên và chuyên gia phát triển phần mềm quản lý công việc trước/sau và công việc song song. Ngoài ra, các thiết kế viên và chuyên gia phát triển phần mềm cũng có thể xây dựng các thư viện thành phần, định dạng và các thiết kế giao diện người dùng chung để dễ dàng quản lý và sử dụng lại.
Microsoft Synchronization Services cho ADO.NET cung cấp một giao diện lập trình ứng dụng (API) giúp đồng bộ hóa dữ liệu giữa các dịch vụ dữ liệu và kho dữ liệu cục bộ. Synchronization Services API được mô hình hóa sau khi các giao diện lập trình ứng dụng truy cập dữ liệu ADO.NET và cho một cách trực giác để đồng bộ dữ liệu. Nó làm cho việc xây dựng các ứng dụng trong môi trường kết nối không thường xuyên được mở rộng về mặt logic, nơi có thể phụ thuộc vào sự nối mạng nhất quán.
Về triển khai các công nghệ mới nhất thể hiện ở những đặc điểm sau:
Cho phép chuyên gia phát triển phần mềm Web lập trình các giao diện Web tương tác người dùng “AJAX - style”. Visual Studio cung cấp cho các chuyên gia phát triển các công cụ và sự hỗ trợ Framework cần thiết để tạo ra các ứng dụng Web hấp dẫn, nhiều ý nghĩa và cho phép AJAX.
Dễ dàng sử dụng các dịch vụ Windows Communication Foundation(WCF): các chuyên gia có thể sử dụng các công cụ RAD để tạo nhanh chóng và dễ dàng kết nối máy khác và proxy đến các dịch vụ đang tồn tại, kiểm tra chúng mà không cần viết mã. Thêm vào đó các chuyên gia phần mềm có thể sử dụng cùng công nghệ và công cụ cho các dịch vụ WCF dù chúng có được đặt ở đâu đi nữa.
Thực thi dịch vụ được tích hợp với thiết kế luồng công việc: Visual Studio cho phép chuyên gia phát triển phần mềm soạn thảo lại các hành vi trong toàn bộ các dịch vụ với Windows Workflow Foundation để hình dung, tạo, soạn thảo và gỡ rối các nhiệm vụ luồng công việc và các thành phần phụ thuộc.
Sự kết hợp của WPF, XAML đem lại cuộc cách mạng trong quá trình xây dựng phần mềm. Visual Studio 2008 hỗ trợ toàn bộ cho việc lập trình giao diện đồ họa với WPF. Đây là một công cụ tuyệt vời, hỗ trợ kéo thả và viết mã nguồn XAML là đồng bộ với nhau. XAML là công nghệ có thể ứng dụng trong nhiều lĩnh vực khác nhưng vai trò chính của nó là để xây dựng giao diện trong các ứng dụng WPF.
II. WINDOWS PRESENTATION FOUNDATION
1. Khái niệm về WPF
Windows Presentation Foundation (WPF) trước đây được gọi là code Avalon, là một hệ thống đồ họa con trong môi trường .NET Framework 3.0, trong đó sử dụng ngôn ngữ đánh dấu ứng dụng mở rộng (Extensible Application Markup Language) - XAML cho việc phát triển giao diện người dùng phong phú, đa dạng. Đượ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. WPF được tích hợp trong Windows Vista và Windows Sever 2008, và cũng có sẵn trong Windows XP Service pack 2 hoặc các phiên bản sau và Windows Sever 2003.
Hình 2. II-1: Một phần hệ thống con trong môi trường .NET Framework 3.0
WPF cung cấp một mô hình lập trình nhất quán để xây dựng những ứng dụng và đưa ra sự phân chia rõ ràng giữa giao diện người dùng và logic nghiệp vụ. Một ứng dụng WPF có thể được triển khai trên máy tính để bàn hoặc lưu trữ trên máy chủ của một trình duyệt web. Nó cũng cung cấp những điều khiển phong phú, thiết kế và phát triển giao diện trực quan cho các chương trình Windows, nhằm mục đích thống nhất một số các dịch vụ ứng dụng: giao diện người dung (UI), đồ họa 2D và 3D, những tài liệu thích ứng, nâng cao kĩ thuật typography (kỹ thuật tạo chữ), vector đồ họa, đồ họa raster, hình ảnh động, ràng buộc dữ liệu, âm thanh và video. Mặc dù Winform sẽ tiếp tục được sử dụng rộng rãi và Microsoft mới chỉ đưa ra vài ứng dụng WPF nhưng Microsoft cũng đang quảng bá WPF cho dòng sản phẩm các ứng dụng doanh nghiệp.
WPF được xây dựng nhằm vào ba mục tiêu cơ bản sau:
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.
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, việc tạo giao diện người dùng đòi hỏi sử dụng rất nhiều công nghệ khác nhau (Bảng 1). Để tạo form, các control và các tính năng kinh điển khác của một giao diện đồ họa Windows, thông thường 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ó một số tính năng hỗ trợ văn bản trực tiếp hoặc có thể sử dụng Adobe’s PDF để hiển thị văn bản có khuôn dạng cố định. Đối với hình ảnh và đồ họa 2 chiều, lập trình viên sẽ dùng GDI+, một mô hình lập trình riêng biệt 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, quá trình phát triển giao diện người dùng theo yêu cầu trở nên phức tạp, đòi hỏi lập trình viên quá nhiều kỹ năng công nghệ.
Bảng 1: Thành phần giao diện theo yêu cầu và những công nghệ chuyên biệt cần thiết để tạo chúng
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 đáng kể.
Hình 2.II-2: cho thấy một giao diện quản lý và theo dõi bệnh nhân có sự kết hợp của hình ảnh, text, đồ họa 2D, 3D 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 các công nghệ chuyên biệt như GDI+ hay Direct3D.
Hình 2.II-2: Một giao diễn người dùng quản lý và theo dõi bệnh nhân sử dụng WPF có thể kết hợp hình ảnh, text, đồ họa 2 chiều/3chiều và nhiều tính năng trực quan khác
Tuy nhiên, WPF ra đời không có nghĩa là tất cả những công nghệ nêu trên bị thay thế. Windows Forms vẫn có giá trị, thậm trí trong WPF, một số ứ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 tiếp tục được sử dụng. Direct3D vẫn là công nghệ quan trọng trong games và các dạng ứng dụng khác (Trong thực tế, bản thân WPF dựa trên Direct3D để thực hiện mọi biểu diễn đồ họa).
Việc tạo ra một giao diện người dùng hiện đại không chỉ là việc hợp nhất các công nghệ sẵn có khác nhau. Nó còn thể hiện ở việc tận dụng lợi điểm của card đồ họa hiện đại. Để giải phóng những hạn chế của đồ họa bitmap, WPF dựa hoàn toàn trên đồ họa vector, cho phép hình ảnh tự động thay đổi kích thước để phù hợp với kích thước và độ phân giải của màn hình mà nó được hiển thị.
Bằng việc hợp nhất tất cả các công nghệ cần thiết để 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ể công việc của lập trình viên giao diện. Với việc yêu cầu lập trình viên học một môi trường phát triển duy nhất, WPF góp phần làm giảm chi phí cho việc xây dựng và bảo trì ứng dụng. Và bằng việc cho phép tích hợp đa dạng nhiều cách biểu diễn thông tin trên giao diện người dùng, WPF góp phần nâng cao chất lượng, và theo đó là giá trị công việc, của cách thức người dùng tương tác với ứng dụng trên Windows.
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 tế, việc xây dựng một giao diện người dùng phức hợp đòi hỏi phải có những người thiết kế giao diện chuyên nghiệp. Nhưng câu hỏi đặt ra là làm sao để người thiết kế và lập trình viên có thể làm việ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ệ, sức ép tiến độ, thiếu kỹ năng, hiểu nhầm hoặc đơn giản là bất đồng quan điểm có thể khiến lập trình viên không đáp ứng được đầy đủ yêu cầu từ người thiết kế. Do vậy, điều cần thiết ở đây là một cách thức để hai nhóm công tác độc lập này có thể làm việc với nhau mà không làm thay đổi chất lượng của giao diện đã thiết kế.
Để thực hiện được điều này, WPF đưa ra ngôn ngữ đặc tả eXtensible Application Markup Language (XAML). XAML định ra một tập các phần tử XML như Button, TextBox, Label…, nhằm định nghĩa các đối tượng đồ họa tương ứng như nút bấm, hộp thoại, nhãn…, và nhờ đó cho phép mô tả chính xác diện mạo của giao diện người dùng. Các phần tử XAML cũng chứa các thuộc tính, cho phép thiết lập nhiều tính chất khác nhau của đối tượng đồ họa tương ứng. Ví dụ, đoạn mã sau sẽ tạo ra một nút bấm màu đỏ có nhan đề “Bỏ qua”.
Mỗi phần tử XAML lại tương ứng với một lớp WPF, và mỗi thuộc tính của phần tử đó 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 có thể tạo bằng C# code như sau:
Người thiết kế có thể mô tả giao diện người dùng và tương tác với nó thông qua một công cụ, chẳng hạn như Microsoft Expression Interactive Designer. Chỉ tập trung 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 các đoạn mô tả giao diện thể hiện qua ngôn ngữ XAML. Lập trình viên sau đó sẽ nhập đoạn mô tả XAML đó vào môi trường lập trình, chẳng hạn 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 thiết kế cung cấp, bản thân các đ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 mô tả. Lập trình viên chỉ tập trung vào việc viết mã trình cho giao diện được sinh ra, chẳng hạn như xử lý các sự kiện, theo những chức năng đề ra của ứng dụng.
Việc cho phép người thiết kế và lập trình viên làm việ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ừ thiết kế. Thêm vào đó, nó còn cho phép hai nhóm công tác này làm việc song song, khiến mỗi bước lặp trong quy trình phát triển phần mềm ngắn đi và việc phản hồi được tốt hơn. Vì cả hai môi trường đều có khả năng hiểu và sử dụng XAML, ứng dụng WPF có thể chuyển qua lại giữa hai môi trường phát triển để sửa đổi hay bổ sung giao diện. Với tất cả những lợi điểm này, vai trò của người thiết kế trong việc xây dựng giao diện được đặt lên hàng đầu.
Công nghệ chung cho giao diện trên Windows và trình duyệt Web
Trong thời đại bùng nổ của Internet, các ứng dụng Web ngày một phát triển. Việc trang bị giao diện người dùng với đầy đủ tính năng như một ứng dụng desktop sẽ thu hút nhiều người sử dụng và do đó góp phần làm tăng giá trị doanh nghiệp. Tuy nhiên, với những công nghệ truyền thống, để phát triển một giao diện đồ họa vừa hoạt động trên desktop vừa trên trình duyệt Web, đòi hỏi 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 giao diện hoàn toàn độc lập. Điều này tạo ra chi phí không cần thiết để phát triển giao diện.
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 Internet Explore. Trên thực tế, cùng đoạn code này có thể được dùng để sinh ứng dụng WPF chạy độc lập trên Windows. 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 công việc cần thiết để phát triển 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 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 download khi cần từ một Web server, nên nó phải tuân theo những yêu cầu về an ninh khắt khe hơn đối với một ứng dụng Windows độc lập. Theo đó, XBAP chạy trong phạm vi sandbox an ninh do hệ thống an ninh truy nhập mã của .NET Framework cung cấp. XBAP chỉ chạy với các hệ thống Windows có cài đặt WPF và chỉ với Internet Explore phiên bản 6 và 7 trở lên.
2. Cấu trúc của Windows Presentation Foundation
Hình 2.II-3: Kiến trúc của WPF
WPF sử dụng một kiến trúc đa tần, ở phía trên ứng dụng của bạn sẽ tương tác với một tập các dịch vụ ở mức cao. Cấu trúc của Windows Presentation Foundation xoanh quanh hai thành phần “code được quản lý” (Managed code) và mã máy. Các hàm thư viện API dùng chung chỉ có thể thực thi thông qua Managed code. Trong khi phần lớn WPF đều là ở managed code, thì công cụ để tạo ra ứng dụng WPF là một thành phần riêng. Nó được gọi là MIL (Media Integration Layer - Lớp tích hợp truyền thông) và được lưu trữ trong milcore.dll.
MIL giao tiếp trực tiếp với DirectX và cung cấp hỗ trợ cơ bản cho các bề mặt đồ họa 2D và 3D, thao tác kiểm soát thời gian những nội dung của một bề mặt với một cái nhìn tổng quan để trình diễn những Animation (hình ảnh động) được xây dựng ở mức cao hơn và kết hợp những phần tử đơn lẻ của một ứng dụng WPF để cuối cùng tạo thành một hoạt cảnh 3D - chính là giao diện người dùng của ứng dụng và từ đó đưa ra màn hình. Các media codec (những chương trình có khả năng mã hóa và giải mã một dòng dữ liệu hoặc tín hiệu) được thực thi ở “mã không được quản lý” (unmanaged code), và được lưu trữ trong windowscodecs.dll.
Trong môi trường được quản lý, PresentationCore (presentationcore.dll) cung cấp một “trình bao bọc được quản lý” (managed wrapper) cho lớp MIL và thực thi các dịch vụ cốt lõi cho WPF. Nó bao gồm một hệ thống thuộc tính, cho phép nhận biết những phụ thuộc giữa người thiết lập và người dùng thuộc đó, và bao gồm một hệ thống gửi tin nhắn theo nghĩa là một đối tượng Dispatcher để thực thi một hệ thống sự kiện đặc biệt và những dịch vụ cho phép thực thi một hệ thống layout như là thước đo cho những phần tử UI.
PresentationFramework (presentationFramework.dll) thực thi những chức năng trình diễn người dùng cuối, bao gồm bố trí(layout), thời gian phụ thuộc(time-dependent), animation, và ràng buộc dữ liệu (data binding).
WPF đưa ra một hệ thống đặc tính cho các đối tượng kế thừa từ DependencyObject (đối tượng phụ thuộc). Đối tượng này nhận thức được sự phụ thuộc giữa những người dùng thuộc tính và có thể kích hoạt các hoạt động dựa vào những thay đổi của các thuộc tính. Các thuộc tính này có thể là những giá trị mã hóa cứng hay những biểu thức mà cụ thể là những biểu thức đánh giá cho ra một kết quả. Tuy nhiên, trong phiên bản đầu tiên, tập hợp các biểu thức được hỗ trợ đều đóng. Giá trị của thuộc tính cũng có thể được kế thừa từ những đối tượng cha. Các thuộc tính WPF hỗ trợ những thông báo thay đổi. Nó gọi ra xử lý ràng buộc bất cứ khi nào một vài thuộc tính của phần tử bị thay đổi. Những xử lý tùy chỉnh có thể được sử dụng để đưa một thông báo thay đổi thuộc tính thông qua một tập các đối tượng WPF. Điều đó có được bởi việc sử dụng hệ thống layout để kích hoạt sự tính toán lại của việc bố trí trong những thay đổi thuộc tính. Như vậy khi trình bày một phương thức lập trình khai báo cho WPF, hầu như tất cả mọi thứ, từ cài đặt màu sắc, vị trí tới những phần tử động có thể đạt được bằng các cài đặt thuộc tính. Điều này cho phép các ứng dụng trên WPF có thể được viết bằng XAML - một ngôn ngữ đánh dấu khai báo (declarative mark-up language), bằng việc ràng buộc khóa và thuộc tính trực tiếp tới những thuộc tính và lớp trong WPF.
Các phần tử UI của một ứng dụng WPF có thể tồn tại như là một lớp của những đối tượng Visual(những đối tượng trực quan). Những đối tượng Visual cung cấp một giao diện được quản lý cho môt cây thành phần. Cây thành phần này là có trong lớp tích hợp truyền thông (MIL). Mỗi một phần tử của WPF tạo ra và thêm vào một hoặc nhiều nút trong cây đó. Những nút thành phần này chứa những chỉ thị như là những chỉ thị slipping (cắt) và transformation (chuyển đổi), cùng với những thuộc tính Visual khác. Vì vậy, toàn bộ ứng dụng được biểu diễn như là một tập hợp những nút thành phần, mà nó được lưu trữ trong bộ đệm của hệ thống. Theo định kì MIL sẽ duyệt cây và thực thi những chỉ lệnh trong mỗi nút, theo cách đó kết hợp mỗi phần tử vào một bề mặt đồ họa DirectX rồi sau đó trả ra màn hình. MIL sử dụng thuật toán painter, nơi mà tất cả các thành phần được đưa ra màn hình, nó cho phép những hiệu ứng phức tạp như là hiệu ứng“trong suốt” có thể đạt được một cách dễ dàng. Quá trình xử lý này được tăng tốc phần cứng bằng cách sử dụng GPU(Graphics Processing Unit – Đơn vị xử lý đồ họa). Cây thành phần được lưu trử bởi MIL, tạo một chế độ “giữ lại” đồ họa, vì thế nếu có bất cứ thay đổi nào tới cây thành phần thì chỉ cần được giao tiếp với MIL. Điều này cho phép giải phóng cho trình ứng dụng quản lý “vẽ” lại màn hình. Những animation có thể được triển khai như là những sự thay đổi thời gian kích hoạt tới cây thành phần. Về phía người sử dụng, những animation được định rõ bằng cách cài đặt một vài hiệu ứng hình ảnh động cho các thành phần thông qua một đặc tính và thời gian xác định. Mã ẩn (code-behind) cập nhập những nút cụ thể của cây thông qua các đối tượng Visual, để trình diễn cả trạng thái trung gian ở những khoảng thời gian nhất định cũng như trạng thái cuối cùng của thành phần. MIL sẽ trả ra những thay đổi tới phần tử một cách tự động.
Tất
Các file đính kèm theo tài liệu này:
- 21951.doc