The intent of this guide is to provide a high level understanding of Microsoft's WPF.
As a mature technology, there are a decade-and-a-half of resources, how-tos, guides, and projects build on the technology; yet there is one critical, barely encountered theme absent from most documentation: the architecture.
Loosely defined, the "architecture" is the 'why" in "who,what,when,where,why."
At the most basic level, why does WPF exist? Who was involved in the development, and why? What are the concepts that WPF attempted to address, and why were those concepts important?
The desire of the author is to put the reader into the position of the architect, to envision the system from the point of view of the architect, to deduce the structure of the system, and to document the history of the development, such that a beginner, after reading this guide, can understand everything necessary to be confident upon visiting https://www.github.com/dotnet/wpf. What is PresentationBuildTasks
? What is a "presentation"? If WPF stands for "Windows Presentation Foundation", shouldn't we know what that means?
It is this author's style to make bold loosely-founded opinionated assertions based on minimal facts. While this sounds like a negative quality, it has a purpose. Much like designing a system, or performing the scientific method, a hypothesis must be stated, the hypothesis must be tested, failure cases must be revised, and eventually the passing evidence exposes the facts. In the domain of "people" instead of science, the hypothesis is "why did you do this?" or even better, "I think you did this because of _____".
Poorly-factual-yet-tantalizing assertions tend to inspire interaction; the facts are argued, and if the journalist has done his or her job correctly, the resulting documentation captures the inner-truth.
As this applies to this document, making assertions about the development of WPF will hopefully attract the original developers, current maintainers, and passionate hobbyists to contribute their story.
WPF is unique. The uniqueness is tied to the history of UI development at Microsoft. It's a fairly short history.