International IT Institutes
ISAS REPORT ISAS Title:
Widows Presentation Foundation Cordinator Student Batch Quarter
: : : :
Pham Hong Thanh Huynh Pham Phuc B090033 8
5/2009
ISAS Report
NIIT Quang Trung Virtual Private Network (VPN)
Information Search & Analysis Skills Project Batch Code
: B090033
Start Date
: April 1 , 2009
End date
: May 25, 2009
Name of the Coordinator
: Pham Honh Thanh
Name of Students
: Huynh Pham Phuc
Date of Submission
: April 10, 2009
Huynh Pham Phuc
B090033 Page | 2
ISAS Report
NIIT Quang Trung Virtual Private Network (VPN)
CERTIFICATE This is to certify that this report embodies the original work done by Huynh Pham Phuc in partial fulfillment of the course requirement at NIIT.
Coordinator: Pham Hong Thanh
Huynh Pham Phuc
B090033 Page | 3
ISAS Report
NIIT Quang Trung Virtual Private Network (VPN)
ACKNOWNLEDGEMENT We have benefited a lot of from the feedback and suggestion given to us by Mr. Thanh and other faculty members.
Huynh Pham Phuc
B090033 Page | 4
ISAS Report
NIIT Quang Trung Virtual Private Network (VPN)
ISAS PROJECT SUBMISSION Group Project Number: 1
Individual Project Number: 1
Individual Project Title: Windows Presentation Foundation List all the sources of information used (give details): * Newspapers: General Commercial or Business * Magazines: Business/Commercial Technical/IT Industry * Internet: Engines used for information search: 1. http://www.google.com.vn 2. http://www.vi.wikipedia.org 3. http://www.echip.com.vn
Huynh Pham Phuc
B090033 Page | 5
ISAS Report
NIIT Quang Trung Virtual Private Network (VPN)
Introduction WPF Windows Presentation Foundation (WPF) là một nền tảng đồ họa thế hệ kế tiếp được bao gồm trong Microsoft. NET Framework 3.0 và 3.5. Nó cho phép bạn xây dựng giao diện người dùng (UI) bằng cách kết hợp documents, media, 2D và 3D graphics, animations, và các trang web tương tự như các đặc tính. Được xây dựng trên. NET Framework 3,0 và 3,5, WPF cung cấp một môi trường được quản lý để phát triển các ứng dụng bằng cách sử dụng hệ điều hành Windows. Giống như những tính năng khác của việc. NET Framework 3.0 và 3.5, WPF có sẵn cho Windows Vista, Windows XP, và Windows Server 2003. Thời gian trước khi chưa có WPF, việc phát triển các ứng dụng windows có thể có những yêu cầu sử dụng một số công nghệ khác nhau. Ví dụ, để add thêm forms và kiểm soát người dùng bằng ứng dụng của bạn, bạn cần sử dụng Windows Forms mà đó lại là một phần của .Net Framework. Bạn đã sử dụng GDI+ để tạo ra hình ảnh và đồ họa 2D. Để add đồ họa 3D, bạn có thể cần sử dụng Direct3D, OpenGL là một phần tiêu chuẩn của windows. WPF được thiết kế để có một giải pháp thống nhất cho việc phát triển ứng dụng, cung cấp một sự hợp nhất không nối ghép giữa của các công nghệ khác nhau. Với WPF, bạn có thể tạo đồ họa véc tơ hay animations phức tạp và kết hợp phương tiện truyền thông vào các ứng dụng của bạn đến tất cả địa chỉ các lĩnh vực liệt kê ở trên. Bên cạnh hai công nghệ đó, Microsoft còn tạo ra một công nghệ khác là DirectX nhằm cung cấp các công cụ và phương thức hỗ trợ việc thiết các game đồ họa trên nền tảng Window. DirectX được thiết kế nhằm tăng tốc xử lý hình ảnh, và có sự hợp tác với các nhà cung cấp card màn hình để có thể hiện thị những cấu trúc phức tạp, những hiệu ứng đồ họa đặc biệt như hình ảnh 3D, các hiệu ứng trong suốt… Kể từ khi lần đầu xuất hiện (năm 1995), DirectX đã nhanh chóng phát triển cùng với sự phát triển mạnh mẽ của các game đồ họa. Giờ DirectX đã được tích hợp là một phần của Windows. Tuy vậy lập trình với DirectX không đơn giản và thực sự chúng quá phức tạp. Chính vì vậy nó chưa bao giờ được sử dụng để tạo ra những giao diện đồ họa cho các phần mềm ứng dụng. WPF ra đời và thay đổi tất cả những điều đó. WPF không dựa trên nền tảng truyền thống là GDI/GDI+. Điểm đặc biệt WPF sử dụng chính DirectX làm nền tảng cho bất cứ giao diện nào được tạo ra. Dù đó là một hình ảnh 3D phức tạp hay một đơn giản cho là một Button, hiện thị text thì nó cũng được tạo thông qua DirectX. Điều đó đồng nghĩa với việc những ững dụng thông thường cũng có thể có được những hiệu ứng đồ họa phực tạp, ví dụ như các hiệu ứng trong suốt, đổ bóng. Và cũng nhờ thể mà có thể tăng tốc xử lý đồ họa thông qua sự tương tác giữa DirectX và card màn hình.
Huynh Pham Phuc
B090033 Page | 6
ISAS Report
NIIT Quang Trung Virtual Private Network (VPN)
New Features in WPF
Disadvantages
Có một số các tính năng mới trong WPF mà bạn có thể tận dụng khi bạn phát triển các ứng dụng WPF của bạn. Trước tiên, để sử dụng sức mạnh phần cứng đồ họa WPF mới thì thực hiện một mô hình đồ họa véc tơ, dựa vào các Direct3D. Điều này cho phép công nghệ đồ họa tùy ý thu nhỏ độ phân giải màn hình mà không mất đi chất lượng hình ảnh, cũng không thể sửa kích thước đồ họa.
Ngoài ra, để hình dung dễ dàng UI và User interaction, WPF giới thiệu ngôn ngữ mới dựa trên XML, được gọi là XAML. XAML cho phép các ứng dụng tự động phân tích cú pháp và thao tác giao diện người dùng ở một trong hai yếu tố thiết kế thời gian hoặc runtime. Nó dùng mô hình code-behind, lập trình tương tự như ASP.NET, cho phép người thiết kế và người phát triển làm việc song song và liền mạch công việc của mình. Tất nhiên, WPF cũng cung cấp cho bạn những lựa chọn để không sử dụng các tập tin XAML khi bạn phát triển các ứng dụng WPF, có nghĩa là bạn vẫn có thể phát triển các ứng dụng của bạn hoàn toàn bằng code như C#, C/C++, hoặc Visual Basic Một tính năng mới là có liên quan đến việc giải quyết-độc lập layout. Tất cả WPF kích thước layout được xác định bằng cách sử dụng thiết bị độc lập pixel. Một thiết bị độc lập là một trong những điểm ảnh 96 của 1 inch trong kích thước và độ phân giải độc lập, do đó, bạn sẽ nhận được kết quả tương tự cho dù bạn đang vẽ cho một 72-DPI (chấm trên mỗi inch) màn hình hoặc một máy in 19.200-DPI. Một trong những điều gây đau đầu cho những lập trình viên khi lập trình với DirectX đó là các đặc điểm mà nhà sản xuất card đồ họa cung cấp hỗ trợ DirectX. Tuy vậy với WPF điều đó không đáng quan ngại, bởi nó có khả năng thực thi những công việc dựa trên những tính toán phần mềm thay vì những đặc điểm mà nhà cung cấp phần cứng tạo ra. WPF đủ thông minh để xác đính sự hỗ trợ của phần cứng với những hiệu ứng đồ họa được tạo ra. Và bạn không cần phải bận tâm về điều đó. Tất nhiên với những hiệu ứng animation phức tạp, nhưng được thực thi trên một nền tảng phần cứng đã cũ thì cũng sẽ có những ảnh hưởng nhất định đối với quá trình thực thi. Những đặc điểm đó đủ tạo ra những cải tiến hấp dẫn cho WPF, nhưng nó còn cung cấp những thay đổi mạnh mẽ khác cho công nghệ lập trình giao diện. Và dưới đây sẽ là một loạt những hỗ trợ mà công nghệ WPF mang lại cho người lập trình viên: •
Mô hình giao diện Web (Web-like layout model): không chỉ cho phép xây dựng những giao diện với những đối tượng cố định , WPF còn cung cấp những layout linh hoạt để hiện thị, cho phép xây dựng những giao diện động theo nội dung, với những ngôn ngữ khác nhau.
Huynh Pham Phuc
B090033 Page | 7
ISAS Report
NIIT Quang Trung Virtual Private Network (VPN)
New Features in WPF(cont…) •
Đồ họa phong phú: Thay vì làm việc với những điểm ảnh, bạn được có thể làm việc trực tiếp với những đối tượng hình học cơ bản: hình chữ nhật, hình eullipese. Bạn cũng có những đặc điểm mới như điều khiển độ trong, độ mờ, cùng các hiệu ứng 3D. • Hiển thị văn bản linh hoạt: WPF có khả năng cung cấp những khả năng để hiện thị văn bản một cách phong phú ở bất cứ đầu. Bạn có thể kết hợp văn bản với các đối tượng khác. Hay có thể sử dụng các đặc điểm mới để hiện thị một lượng lớn văn bản một cách dễ đọc nhất. • Các hiệu ứng Animation: Bạn có thể sủ dụng bộ tính thời gian timer để vẽ lại hình. Nhưng với WPF đặc điểm đã được tích hợp thành một phần của Framework. Từ đó bạn có thể định nghĩa những hiệu ứng chuyện động cho các đối tượng đồ họa khác nhau. • Hỗ trợ videp, audio file: Không giống như các công nghệ trước đó như Winform có sự hạn chế trong việc hỗ trợ để chạy các file Audio và Video. WPF hỗ trợ chạy tất các file mà Window Meida Player có thể đọc được, và cho phép bạn có thể chạy đồng thời một hoặc nhiều file. Đặc biệt WPF cung cấp các tool cho phép bạn tích hợp các các nội dung video vào giao diện, và cả các hiệu ứng 3D (ví dụ hiện thị video trên các mặt của hình hộp 3D). Còn rất nhiều đặc điểm mạnh mẽ khác mà WPF cung cấp để hỗ trợ quá trình thiết kế và lập trình như : Stypes and Template, Command, Pages Base Application….WPF được coi như là công nghệ để tạo ra giao diện cho những ứng dụng Window của thế hệ tiếp theo. Độ phân giải độc lập: cũng là một trong những đặc điểm khác tạo ra sự khác biệt cho công nghệ WPF. Nếu như các giao diện được thiết kế bằng các công nghệ trước như Winform vốn dựa trên GDI/GDI+ sẽ gặp nhiều phiền phức khi làm việc với những màn hình có độ phân giải khác nhau. Hình vẽ sẽ lớn hơn với các màn hình có độ phân giải thập, hay nhỏ đi với khi độ phân giải màn hình cao. Nhưng trong WPF điều đó không còn là vấn đề quan ngại với những người thiết kế. Bởi WPF cho phép hiện thị các đối tượng với đúng kích cỡ khi thiết kế dưới các độ phân giải khác nhau của màn hình. Hiển thị ảnh Vector thay vì ảnh BitMap mang lại cho công nghệ WPF khả năng hiện thị linh hoạt với nhiều kích thước khác nhau mà không lo làm “vỡ” hỉnh ảnh những đối tượng đồ họa. Sự độc lập giữa thiết kế và lập trình là một trong những bước tiến mà WPF mang lại. Các đối tượng đồ họa trong WPF được thể hiện thông qua một loại mã đơn giản là XAML (Extention MakeUp Language). Đó là một loại mã đơn giản gần giống như HTML dùng để tạo và tinh chỉnh các đối tượng đồ họa. Đó là một bước tiến lớn trong quá trình thiết kế và lập trình 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.
Huynh Pham Phuc
B090033 Page | 8