Abdulsattar Mohammed
Abdulsattar Mohammed

Reputation: 10752

What should I know to build a framework like WPF?

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.

Upvotes: 4

Views: 164

Answers (5)

Will Dean
Will Dean

Reputation: 39530

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.

Upvotes: 0

kenny
kenny

Reputation: 22414

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.

Upvotes: 1

user333306
user333306

Reputation:

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.

Upvotes: 0

Gishu
Gishu

Reputation: 136673

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..

Upvotes: 1

Kishore Kumar
Kishore Kumar

Reputation: 21883

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.

Upvotes: 0

Related Questions