I am a naive developer and I am building up my concepts, I was asked to create a sample application in wcf, and so I am asking a bit subjective question here. I want to know the diffrence and functionality of the above two, in which terms we prefer one over other?
Basically, if you are developing a client- server application. You may use WCF -> in order to make connection between client and server, WPF -> as client side to present the data.
Windows communication Fundation(WCF) is used for connecting different applications and passing the data's between them using endpoints.
Windows Presentation Foundation is used for designing rich internet applications in the format of xaml.
The quick answer is: Windows Presentation Foundation (WPF) is basically a way of displaying user interface. (see this)
Windows Communication Foundation (WCF) is a framework for creating service oriented applications. (see this)
As for which one you should use, it depends on your requirement. Usually an application written in WPF, ASP.NET..etc called the WCF service to do some processing at the server-side and the service returns the result to the application that called it.
Windows Presentation Foundation (WPF)
Next-Generation User Experiences. The Windows Presentation Foundation, WPF, provides a unified framework for building applications and high-fidelity experiences in Windows Vista that blend application UI, documents, and media content. WPF offers developers 2D and 3D graphics support, hardware-accelerated effects, scalability to different form factors, interactive data visualization, and superior content readability.
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF) is Microsoft’s unified programming model for building service-oriented applications. It enables developers to build secure, reliable, transacted solutions that integrate across platforms and interoperate with existing investments.
WCF = Windows Communication Foundation is used to build service-oriented applications. WPF = Windows Presentation Foundation is used to write platform-independent applications.
Source: Stackoverflow.com