[.NET] Giới thiệu WPF(Windows Presentation Foundation)


Diễn đàn chia sẻ kiến thức, kinh nghiệm về IT và cuộc sống!
 
Trang ChínhGalleryTìm kiếmLatest imagesĐăng kýĐăng Nhập
Top posters
Sakura (1124)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
hotboy (705)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
Già Làng (373)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
con_ca_nho90 (289)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
that_true (154)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
theanhkkt (143)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
phamay (137)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
lovelonelyman (134)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
o0ovioletstaro0o (128)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
stevenhung (122)
[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_lcap[.NET] Giới thiệu WPF(Windows Presentation Foundation) Voting_bar[.NET] Giới thiệu WPF(Windows Presentation Foundation) Vote_rcap 
Âm - Dương lịch
Clock
Logo
11TH02 Pro!
Liên kết
Tin tức 60s
Tin công nghệ
Thời sự 24h
Game Moblie

Share
 

 [.NET] Giới thiệu WPF(Windows Presentation Foundation)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Sakura

[.NET] Giới thiệu WPF(Windows Presentation Foundation) Stars7
Sakura

Thú CƯng : [.NET] Giới thiệu WPF(Windows Presentation Foundation) I-hate-Cats-icon
Nam Scorpio

Số bài viết : 1124
Điểm : 1688
Được cảm ơn : 35
Ngày sinh : 03/11/1990
Tham gia ngày : 16/03/2010
Tuổi : 34
Đến từ : Bình Dương
Ngề nghiệp : IT Student

[.NET] Giới thiệu WPF(Windows Presentation Foundation) Empty
Bài gửiTiêu đề: [.NET] Giới thiệu WPF(Windows Presentation Foundation)   [.NET] Giới thiệu WPF(Windows Presentation Foundation) I_icon_minitime5/8/2010, 10:25

Những ngày xưa
Đi đến tương lai bằng cái nhìn từ quá khứ, năm 2001, Microsoft cho ra đời một tập hợp các công nghệ nền tảng, được gọi với tên chung là .NET. Hầu hết các công nghệ này đều đưa ra các mô hình lập trình mới, hoàn toàn chưa từng xuất hiện trước đó. Lấy ví dụ:
1. ASP.NET Web Forms đưa mô hình lập trình Windows truyền thống lên thế giới Web, biến Web từ môi trường state-less (client và server tách biệt hoàn toàn) thành một môi trường thống nhất: state-full Web.
2. ADO.NET định nghĩa ra các class tổng quát như Connection, Command, DataSet để các developer thừa kế từ chúng, mở rộng khả năng tiếp cận với nhiều loại RDMS (Relational Database Management System) khác nhau như SQL Server, Access, Oracle, MySql…, đồng thời nâng cao khả năng debug khi thao tác với database.
3. Common Language Runtime làm thư viện nền tảng giúp programmer sử dụng nhiều ngôn ngữ lập trình khác nhau có thể cùng làm việc với nhau trong một project. Có thể kể ra C#, J#, F#, VB.NET, Delphi.NET, C++.NET, IronRuby, IronPython…

Thật đáng tiếc, công nghệ mà những developer trung thành nhất của Microsoft mong muốn nhìn thấy bước đột phá – Windows Forms – lại chẳng mảy may thay đổi. Đã hơn một thập kỷ rồi, kể từ khi Windows 95 ra đời, người ta vẫn phải tạo giao diện cho desktop application bằng cách gọi các hàm Windows API. Windows Forms tuy khoác bên ngoài giao diện kéo thả nhưng thực chất bên dưới nó vẫn bị phụ thuộc vào các lời gọi API, nên nó không có gì là đặc sắc.
Không ai phủ nhận, trải qua một thời gian tồn tại dài như thế, Windows Forms đã được chuẩn hóa và mang trong mình đầy đủ các công cụ cho phép xây dựng các chương trình dễ dàng. Tuy nhiên, do sử dụng Windows API, nên giao diện của các control chuẩn như button, checkbox, textbox bị phụ thuộc vào phiên bản Windows mà .NET Framework đang chạy, ví dụ 3D button trong Vista Aero khi đem sang Windows 2000 thì lại biến thành flat button. Nhưng đó chỉ là vấn đề nhỏ, rắc rối lớn nhất của Windows Forms chính là giao diện của các control chuẩn này lại gần như không thể được can thiệp và thay đổi theo tư duy sáng tạo của designer, ngoại trừ trường hợp có ai đó chịu khó đến nỗi ngồi viết cả tấn code bằng mô hình lập trình cấp thấp GDI/GDI+ (Graphical Device Interface)

Và ngày hôm nay

Windows Presentation Foundation (codename Avalon) được phát hành chính thức vào tháng 11 năm 2006, là một trong 3 thành phần mới của .NET Framework 3.0 (Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation). Có thể xem sự ra đời của WPF là một cứu cánh cho những programmer đang phải thực hiện công đoạn code hết sức tỉ mỉ để tạo giao diện. WPF thay đổi những quan niệm lập trình giao diện cũ, xóa đi những bất cập còn tồn tại của Windows Forms bằng cách giới thiệu một mô hình hoàn toàn mới lạ. Trong WPF vẫn tồn tại khái niệm control chuẩn như label, radio button…, tuy nhiên thay vì gọi Windows API thì chúng có khả năng tự vẽ ra text, tự vẽ border, tự vẽ background cho chính bản thân của mình. Tính đột phá là kể từ nay, không bị API cản trở, developer có thể toàn quyền kiểm soát các đối tượng đồ họa. WPF cung cấp các tính năng thật sự mạnh mẽ để hỗ trợ developer can thiệp vào quá trình xuất giao diện (render) của control ra màn hình mà không phải viết bất kỳ dòng code nào. Một số điểm nhấn thú vị nên được kể ra đầu tiên:
1. Sử dụng Transformation Objects để xoay tròn, kéo dãn, thu nhỏ hay xoay nghiêng bất cứ thứ gì thuộc về giao diện.
2. Tạo Animation để các control trở lên lung linh chuyển động ngay trước mắt người sử dụng.
3. Xây dựng Form có các hình thù khác lạ, hỗ trợ control có màu trong suốt để tạo vẻ mới mẻ và chuyên nghiệp
WPF sử dụng DirectX làm công nghệ cơ sở để xây dựng nên những hiệu ứng thú vị như trên. DirectX là công nghệ đồ họa của Microsoft, tận dụng được khả năng của phần cứng để tăng tốc chương trình. Lấy ví dụ, một vấn đề đơn giản là vẽ một đoạn thẳng từ điểm (0, 0) đến điểm (10, 10).
· Trong GDI/GDI+ của Windows Forms, .NET sẽ tạo ra một danh sách các điểm nằm giữa (0, 0) và (10, 10), tức là các điểm (1, 1), (2, 2), … , (9, 9) rồi vẽ ra từng điểm này. Do vẽ nhiều điểm kề nhau nên cuối cùng các điểm này tạo ra cảm giác là vẽ được một đoạn thẳng. Nói một cách khác, phương pháp của Windows Forms là sử dụng phần mềm để vẽ ra một tập hợp điểm, tạo ra ảnh Raster.
· Đối với DirectX, nó gọi trực tiếp hàm DrawLine của card đồ họa, và card đồ họa sẽ vẽ ngay ra một đường thẳng không cần phải tính toán đến các điểm trung gian. Đây là phương pháp sử dụng phần cứng để vẽ ra một ảnh Vector. Nhờ DirectX mà tốc độ render được cải thiện đáng kể vì phần cứng thì chạy nhanh hơn rất nhiều so với phần mềm cùng một chức năng.
Với WPF, developer không còn phải đau đầu với bài toán xử lí tốc độ, nhất là đối với các phần mềm game hiện đại ngày nay, đòi hỏi đồ họa 3D sinh động mà GDI/GDI+ khó lòng có thể đáp ứng được. Với WPF, developer có thể tự do sáng tạo về giao diện, tạo nên các hiệu ứng bắt mắt mà trước đây không thể nào thực hiện được với Windows Forms.
Mặc dù người ta biết đến WPF với khả năng đồ họa tuyệt vời, với animation, với các tính năng 3D độc đáo, nhưng WPF vẫn có thể được dùng để xây dựng nên các ứng dụng Windows truyền thống, sử dụng các control chuẩn như trong Windows Forms. Sự thật là khi chọn lựa kiểu giao diện truyền thống này, thì các thao tác đối với control không khác bao nhiêu so với Windows Forms, và deveoper có thể dễ dàng làm quen ngay với môi trường mới mà không mất quá nhiều công sức.
Có một vài cải tiến trong WPF không thuộc về phần giao diện, nhưng chúng đáng được lưu ý khi developer muốn phát triển một ứng dụng chuyên nghiệp và bài bản hơn. Có thể kể ra đó là:
· Mô hình Data-Binding mới được cải thiện nhiều so với Windows Forms.
· Các class dùng để phục vụ cho việc in tài liệu và sắp xếp trình tự in ấn.
· Hệ thống tài liệu có thể hiển thị một số lượng rất lớn các văn bản được định dạng như Word, Excel, PDF…
· Xây dựng ứng dụng page-based như website, có thể chạy trên Internet Explorer và môi trường World Wide Web, không bị các cảnh báo về security và không cần thực hiện quá trình cài đặt (Portable Applications)

Tổng kết

WPF đưa một sức sống mới vào môi trường lập trình trên Windows. Sức sống đó bao gồm sự sáng tạo về các mô hình mới, các giao diện người dùng giàu đồ họa mới. Windows Forms sẽ còn tồn tại trong một thời gian dài nữa, nhưng những developer muốn bắt kịp với đà phát triển của Windows, nhất là từ Windows Vista trở đi, thì nên bắt đầu tìm hiểu về WPF. Windows Presentation Foundation là tương lai của Microsoft Windows.

P/S: Ai nghiên cứu C# với công nghệ WPF thì nhớ liên hệ ED cùng làm cho vui he, tốt nhất là nâng cấp lên VS 2010, SQL 2008 SP là OK đó!^^
Về Đầu Trang Go down
 

[.NET] Giới thiệu WPF(Windows Presentation Foundation)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

 Similar topics

-
» [.NET] Giới thiệu WPF(Windows Presentation Foundation)
» Microsoft sẽ giới thiệu bản tiền beta của Windows 8 vào ngày 11/7?
» 1 số bài giới thiệu về Silverlight của các bạn BDU IT
» Club3D giới thiệu GeForce GTX 560 Ti
» HỘI THẢO GIỚI THIỆU CÁC CÔNG NGHỆ MỚI CỦA MICROSOFT

Permissions in this forum:Bạn không có quyền trả lời bài viết
IT World! :: HỌC TẬP :: HỌC KỲ V :: Nhập môn .Net-