- InterKnowlogy/ Blogs

advertisement
Building Data Visualization
Applications with the Windows
Presentation Foundation and
SilverLight...and Surface
Tim Huckaby
CEO, InterKnowlogy
Microsoft RD & MVP
About…
• InterKnowlogy (www.InterKnowlogy.com)
•
Tim Huckaby, CEO (TimHuck@InterKnowlogy.com)
– Custom Application Development / Consulting / Software & Systems
Engineering Firm headquartered in Carlsbad, CA
– Design, Architect, Build and Deploy Enterprise Class Applications
– Industry Experts:
•Most of the employees are published, MVPs, RD, Speakers, etc.
•Microsoft .NET Application development since 2000
•Microsoft .NET Rich Client Pioneers / Industry Leaders
•Microsoft Touch Application Development Leaders (Surface / Windows 7 / Silverlight 3)
•Information Worker Solutions (VSTO & SharePoint)
•Integration / Messaging, B2B / B2C, Wireless / Mobility
•Leading Edge: Surface, WPF, Silverlight, Win7 touch, SharePoint, VSTO
•Cutting Edge Solutions on emerging Microsoft technologies
•Largest Client: Microsoft
Session Objectives And Agenda
Data Visualization: WPF & XAML…and Silverlight…and Surface
Session Objective: To get you excited by showing you “what you can do” so that
you start doing it.
Why you need Rich Client Applications
Rich Client Technology Roadmap
Demos, demos, demos!...
The Scripps Research Institute: C-ME
• WPF Smart Client for SharePoint 2007
– Collaborative Client
– 2D & 3D views at a molecular level
– Leverage the collaborate environment of
SharePoint 2007
– Provide data in the context of the project not in the context of it’s
storage
• Allow users to drag and drop data into the
context of the project
– Smart client then handles the display & annotations of the underlying
storage
– Allow user’s to add ad-hoc information
Lightweight WPF runtime
• Interactive experiences for devices,
PC, & Mac platforms (and others…)
• Strict subset of Windows Presentation Foundation
• Lightweight download (4.2mbs)
• Programming model uses XAML + Jscript + WPF
• Access to WPF tooling
WPF-based Tools
<XAML>
<Button Width="100px"> OK
<Button.Background>
LightBlue
</Button.Background>
</Button>
</XAML>
What the heck is XAML?
• Separates the front-end from the back-end
• Simple declarative programming language suitable for
constructing and initializing .NET Objects
• Usually the most concise way to represent user
interfaces (or other hierarchies of objects)
• Doesn’t need a compiler to render
• The language that almost all WPF related tools emit
Sample XAML
Runs in a WPF Application:
Runs in the Browser:
WPF – how does it work?
• Built on Top of Direct 3D
– Converted to 3D triangles, textures and other Direct3D objects &
then rendered by hardware
– Benefits of hardware acceleration & performance due to work
being off-loaded to GPUs (unlike GDI based systems)
– Ensures the maximum benefit of new hardware
and drivers
– Software rendering pipeline as fallback
Why WPF?
• The GDI & USER subsystems were introduced
in Windows 1.0 in 1985
• OpenGL – Early 90s
• DirectX – 1995
• Goal: Overcome the limits of GDI+ & USER
with the productivity of Windows Forms
Audience Participation Time - WPF
1. Does WPF enable me to do something I couldn’t have
done before?
–
–
No. Unless you factor in time & money…
And would like to do more with less…
2. Is DirectX dead?
–
No. It is more applicable to advanced 3D developers writing hard-core “twitch” games.
3. Are Winforms dead?
–
–
–
No. …but it will not be advanced; the last version was 2.0 in .NET 2005.
WPF / Winforms Integration is simple
Windows 98 Supports WinForms
4. Does WPF run better on Vista & Win 7 than on XP?
–
–
–
–
Yes.
3D objects only get anti-aliasing on Windows Vista and later.
Non-rectangular windows only get hardware acceleration on Vista and later.
Vista & Windows 7 have driver models that help with resource contention.
5. Does Silverlight trump all this other WPF Stuff?
–
–
One would think so with all the marketing dollars that are being thrown at it….
But, in Reality the answer is “No” and it makes solution architecture more important than ever.
Surface!
Where to go next:
http://WindowsClient.InterKnowlogy.com
• Windows Client
Guidance
Microsoft Platform Solution
Architecture for the Application
Developer
by Tim
Huckaby
• The “Anchor Document”
to a ton of Rich Client
Guidance
WPF: Where to go Next Free Resources
• WindowsClient.net - this is the official Microsoft
community portal for WPF development, and is chock full
of great resources
• Windows Client Development Samples, Guidance, FAQs
and Blogs - Contains an aggregation of a ton of great stuff
on the Windows Client Development platform.
• Learn WPF page - this page links to podcasts, labs, and the
very popular "how do I?" videos
• MIX University's WPF Boot Camp - this is a full 3-day
video training course on WPF, in which expert instructors
guide you from the surface into the depths of the
technology stack
Silverlight & Surface: Where to go Next
Free Resources
• http://silverlight.net - this is the official Microsoft
community portal for Silverlight development
• http://www.microsoft.com/surface - this is the official
Microsoft community portal for Surface
Where to go Next: Books
Windows Presentation Foundation
Unleashed (WPF)
by Adam Nathan, Daniel Lehenbauer
Essential Windows Presentation
Foundation (WPF)
by Chris Anderson
Silverlight In Action
by Chad Campbell and
John Stockton
Where to go…soon…
• Windows Presentation
Foundation
A Scenario-Based Approach
by Billy
•
Hollis
“Early April…I hope…”
B. Hollis, 12/7/07
•
“October…”
B. Hollis, 6/3/08
•
“It’s not going to be done in April.”
B. Hollis, 2/24/09
•
“I took a .NET 4.0 dependency. Projected
date now Jan 2010, because it can’t come
out until VS2010 is released.”
• B. Hollis, 4/29/09
Where to go next :
The InterKnowlogy WPF & Silverlight Reference Applications
Tim Huckaby, InterKnowlogy
• More info on InterKnowlogy:
– www.InterKnowlogy.com
• Contact me: Tim Huckaby
– E-mail: TimHuck@InterKnowlogy.com
– Phone: 760-444-8640
– Blog: http://team.interknowlogy.com/blogs/timhuckaby
• About Tim Huckaby…
–
–
–
–
–
–
–
–
–
CEO, InterKnowlogy
Microsoft® Regional Director – Southern California
Microsoft® .NET Partner Advisory Council Founder / Member
Microsoft® MVP - .NET
Microsoft® Surface Partner Advisory Council
INETA Speaker – International .NET Users Group Association
Windows and .NET Magazine Advisory Board Member
.NET Developers Journal Magazine Advisory Board Member
Author / Speaker
Download