views:

96

answers:

6

I want to make this clear: I'm not really going to build WPF from scratch.

But ever since I've seen WPF I wanted to be on the WPF team and build WPF. I know WPF considerably but if you just know WPF, you cannot build it.

WPF is built on DirectX and uses User32. I think Programming Windows by Charles Petzold is the first book that I need to read. Can you suggest me some more books or resources or practices? I am a student (that gives me plenty of time to invest in learning) and I am prepared to do anything if that could help me master Windows programming and eventually get a me on board the WPF team. Once again, I don't want to build WPF. I just want to know what needs to be known to be able to build it.

A: 

Send your CV to Microsoft :)

ŁukaszW.pl
They'd throw it in the trashcan ;)
CodingTales
Not really.. everyone has chance to work there ;)
ŁukaszW.pl
@Coding somebody flagged your comment because you were ripping on yourself.
Will
+1  A: 

I'm not sure it's a one-man job... you'd need the A-Team. :)

On a serious note, WPF is huge and the latest step in the evolution of windows apps. There is a lot that MS has learnt from its journey of MFC to WinForms to WPF. It's a bit unrealistic to assume that you'd could do all of it by yourself in a reasonable time-frame... unless you're just that good.

Update: Correction - the source seems to be available. Also since the point of the question has changed... I believe MS use a lot of homegrown / third party tools internally for development... not sure if that is what you're getting at..

Gishu
I'm not trying to build WPF. I just want to be on the team. I just want to learn what the team members used to build WPF.
CodingTales
The .NET framework source code **IS** available. Go to http://referencesource.microsoft.com/netframework.aspx to find out more.
AndrewJacksonZA
@CodingTales - I was misled by your question title..
Gishu
@Andrew - my point was that there are could be a lot of optimizations and hacks that have been steadily improved over the years... that could be difficult to pick up. I wasn't aware that the code was open, Thanks! - not to be nitpicking, but can't see a WPF bundle on the download page.
Gishu
A: 

Developing a Framework like that is not easy and it will take years. One thing you can do is Study as deep as you can and implement new things using WPF. For that you need knowledge from basic to Advanced level. As a kickoff Programming Windows by Charles Petzold this is one of best book and also refer WPF Unleased that can give a solid understanding about WPF.

Kishore Kumar
A: 

In early nineties, Linus Torvalds build an OS called Linux that you may know. He was a student like you. And his OS is now used worldwide and by much more users than this small WPF framework you mention.

Go ahead, you have nothing to lose. Not even time since every minute you will invest in this project will be converted in valuable experience.

Since you are a student, I would not invest my money in books for now. There is plenty resources online to learn. I know a nice website where you can ask questions called stackoverflow.com. Start by asking basic questions there to find your way.

Pierre 303
+1  A: 

I would dig into the Moonlight sources which is a clone of Silverlight which is pretty much a subset of WPF. Start modifying it and adding to it.

kenny
A: 

Seems to me there are (at least) two completely separate aspects to a framework like WPF:

  • Using the graphics subsystems to display fancy stuff efficiently
  • Creating an application framework which handles all the semantics of messaging, focus, etc.

You could experiment with either independently.

In WPF, the former has its roots in gaming, so you could look into resources for learning about high-performance graphics under Windows.

For the latter, WPF is built on decades of experience, going back to the text-based windowing libraries which predate Windows. Developing this sort of stuff for embedded systems (or at least pretending that you're doing that in emulation) is a good way to get a feel for why things are the way they are.

Will Dean