.NET & Funky Fresh

Syndication

News

  • <script type="text/javascript" src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822/US/bluspiconinc-20/8001/8b68bf4b-6724-40e7-99a5-a6decf6d8648"> </script>
Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
.NET 3.0 Crash Course - Part 8: WPF Conclusion

Before we move on to WF I want to mention a few more WPF resources and give some other directions for you to pursue in your learning of this pillar.  With the release of .NET 3.0 in December, there has been a lot more activity on the web.  Here are a few cool things to check out:

Dominoken

The British Library

Cool 3D Stuff

Good Text Info

The New York Times

Over the last couple of months I have covered what I believe to be many of the most important features in WPF, however I have only barely scratched the surface of what is possible.  There is much more to the framework and I wanted to give a few terms to research and help guide in future learning.  Here are some things you are likely to come in contact with when working on a typical WPF app:

RoutedEvents, Commands, Document Controls, New Printing Model (1 + 2), Adorners, Localization, Bitmap Effects, Geometry.

You can also read this chapter online for an explanation of some key concepts.

WPF is a very powerful framework for building UI.  My hat goes off to the team that built it.  I truly believe it is the best UI framework to date, on any platform.  Since it is only a version one, it still has room to grow quite a bit.  I wanted to conclude this post with a few thoughts on what I would like to see in future versions, if there are any MS guys reading this:

  • We need a set of Common Dialog Boxes that have a look and feel that is consistent with WPF.
  • WPF Databinding is awesome and is one of my favorite features.  Upon using Reflector, I discovered that is makes extensive use of reflection (no big surprise there).  I would recommend that the WPF team research using fast property setters/getters and LCG for future versions.  I don’t know if this is feasible or would reasonably improve performance, but it is worth looking into.
  • We need more common controls.  The important ones that are missing are:  DatePicker, Calendar, Masked Textbox, DataGrid and PropertyGrid.  I would also like to see some more advanced components, such as a window docking system similar to the one in Blend (you’ve already got the source code, why not include it?)
  • On the whole, I would like to see better 3D performance.  We need more material types and support for pixel shaders to do next gen stuff.  I like the add-ons for 2D on 3D, so just add those to the SDK.
  • When it comes to XBAPs, we need support for WCF minimum and hopefully WF as well.  I expect the WPF team to gradually move more and more WPF features into the XBAP realm as time passes.

And now a big note on WPF/e:

WPF/e is obviously in its early stages, but I still want to make some things clear to any MS folks who have an influence on the first version.  We NEED C# support if you want the product to be usable at all.  Whether MS wants to admit it or not, WPF/e is direct competition for Flash and will be compared as such.  Therefore, if I am going to convince any client to use it, I have to be able to give a compelling argument for using it over Flash.  This is difficult since many clients (who are not tech savvy) know what Flash is and are not likely to know anything about WPF/e.  Additionally, if the only language for use with WPF/e is JavaScript, you are going to have a hard time convincing developers to use it.  In addition to C# support, I feel we need Controls, Panels, and custom controls as a minimum.  We also need a way to communicate with the server other than using JavaScript callbacks.  WCF would be optimum, but I would accept .asmx as a reasonable compromise.  (Remember that Flash has ActionScript, Remoting, Web Service support and Communications Server).  I can only hope that the goal is to gradually bring all of the XBAP functionality over to WPF/e and eventually completely merge the two technologies.  To that effect, why even bother with WPF/e at all?  Why not work with Novell to build the XBAP functionality on top of the already stable Mono project, thus enabling XBAPs to run on Windows, Mac and Linux?

 NEXT POST: WF Intro


Posted 01-30-2007 8:31 PM by Rob Eisenberg
Filed under: , ,

[Advertisement]

Comments

Quimbo wrote re: .NET 3.0 Crash Course - Part 8: WPF Conclusion
on 02-11-2007 6:59 PM

Hi Rob!

You might want to check out out project JadEd at codeplex for a window docking system similiar to the one seen in Blend.

Its working quite well although it was our first attempt to port to XAML. We still have some themeing issues to solve but the source is there :)

Quimbo

Rick wrote re: .NET 3.0 Crash Course - Part 8: WPF Conclusion
on 02-13-2007 9:31 AM

Thanks! Very informative...

Sam Gentile's Blog wrote New and Notable 139
on 12-03-2008 10:24 AM

Winter has finally set in with single digit temps and minus degrees wind chills but still no snow. WPF/Avalon Adam's WPF book is out and flying off the shelves apparently ! I have been looking forward to this one as his COM Interop book is the bible there

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
Umbraco
NServiceBus
RavenDb
Web Sequence Diagrams
Ducksboard<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)