Click here to Skip to main content
15,886,362 members
Please Sign up or sign in to vote.
1.00/5 (4 votes)
See more:
Hi I want to know what is WPF and WCF ,and the difference between the two? and i need a lesson (Applications,Articles...) to understand it more...

thank you
Posted
Updated 17-Apr-11 7:49am
v2
Comments
Sergey Alexandrovich Kryukov 17-Apr-11 13:30pm    
Here is my advice: never ask: what the difference to avoid looking ridiculous.
Ask: what is this and what is that?
--SA
Toli Cuturicu 17-Apr-11 14:53pm    
It the same difference as between an Elephant and a Typewriter.

I think that the question you are asking is "What are WPF and WCF, and why would I use them?"

WPF (Windows Presentation Foundation), is the next generation of desktop application development after Windows Forms. Windows Forms was based around designing applications to run in GDI+ which, while being a vast improvement on GDI, was not really suited to developing applications that didn't look like the plain-vanilla windows applications. With WPF, it's easy (well, easy when you've mastered it) to pull together applications that stand out, with fluid animations, 3D interfaces and so on.

WPF is designed to be a declarative development environment. By this, we mean that the interface can be designed in a descriptive fashion using a form of XML called XAML (XML Application Markup Language). Combining this with a superior data binding engine, and you have a very powerful development environment.

While you can get a version of WPF that runs inside a web browser, Microsoft don't really recommend this (having deprecated support for it) in favour of a managed browser based implementation called Silverlight (named after XML Pitstop owner David Silverlight - a genuinely nice guy).

On to WCF (Windows Communication Foundation). In the olden days of .NET development, communication between systems was performed using techniques such as remoting and web services. The thing is, these technologies could be tricky to code against, and you couldn't easily reuse code that was developed to communicate over TCP to work over HTTP without wrapping it. WCF was introduced to make inter-process/inter-application communication a lot easier, including being able to reuse the same code to communicate over TCP as you could over HTTP, as over Pipes.

In order to achieve this and manage the endpoints effectively, WCF resides on a conceptual stack known as ABC.

A stands for Address - what is the address of the service you are tying to communicate with?
B stands for Binding - this is the communication binding mechanism.
C stands for Contract - the contract is the bit that allows you to know on both sides of the wire how the application works.

I hope that this helps you get at least a little flavour of what they are, and encourages you to investigate further.
 
Share this answer
 
First part of this Question makes some sense (before "the difference"; see my comment to the Question).

I think the problem is the weak formulation if the Question. This one would be much more productive in this case:
"What are Wikipedia, Google, CodeProject and StackOverflow.com?"
If you asked and got good Answers, the Questions like your original one would not be needed!

—SA
 
Share this answer
 
Comments
Fabio V Silva 17-Apr-11 13:34pm    
Got my 5.
Sergey Alexandrovich Kryukov 17-Apr-11 14:08pm    
Thank you very much, Fabio.
--SA
Tarun.K.S 17-Apr-11 14:00pm    
Comment from OP :
okk I will searsh after i come back thx Mr
Sergey Alexandrovich Kryukov 17-Apr-11 14:08pm    
Great attitude! It will most certainly succeed.
--SA
thank you Mr Pete O'Hanlon for this short and clear explication
 
Share this answer
 
Comments
Pete O'Hanlon 17-Apr-11 18:13pm    
You're welcome. Glad to help.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900