daniel.fisher@devcoach.biz
Daniel Fisher | CTO
devcoach ®
daniel.fisher@devcoach.biz
http://www.lennybacon.com
Der Einzige Vortrag dieser Konferenz, der
nichts mit User Interfaces zu tun hat…
Silverlight als Clientseiteiger Datencache in AJAX
Anwendungen
daniel.fisher@devcoach.biz
Über mich…
Daniel Fisher | CTO & Software Architect
MCP, MCTS, MCPD…
Mit-Gründer und Geschäftsführer von
www.devcoach®.com | www.staticdust.net
Mit-Gründer und Vorstand von
www.just community.de e.V.
Mit-Gründer und Leiter von
INETA Usergroup www.NetUG-NiederRhein.de
Mitglied im Microsoft
Community Leader & Insider Program (CLIP)
Connected Systems Advisory Board
daniel.fisher@devcoach.biz
www.devcoach.com
Projekte, Beratung & Training
 REST & SOA – Architektur
 BPM & FDD – Prozesse
 Sicherheit & Claims – Identity
 DAL & ORM – Daten
 RIA & AJAX – Web 2.0
Technologien
 ASP.NET, WCF, WF & CardSpace – .NET
Kunden
 Versicherungen, Großhandel, Software – u.A. Microsoft
Project
Experience
Technology
Know-how
devcoach®
daniel.fisher@devcoach.biz
Wie man dazu kommt Silverlight nicht für
User Interfaces zu benutzen…
Zur Erklärung
daniel.fisher@devcoach.biz
Eine gute Geschäftsidee …
daniel.fisher@devcoach.biz
…Erzeugt Last
daniel.fisher@devcoach.biz
Der Mythos
 Vertriebler: „Unser Web-
Anwendung ist zu Langsam…“
 Entwickler: „Kein Problem. Wir
nehmen einfach ein bisschen
AJAX!“
daniel.fisher@devcoach.biz
Die Realität
 Fakt 1:
• Web/AJAX-Anwendungen verringern das pro Request
übertragene Daten-Volumen
 Fakt 2:
• Web/AJAX-Anwendungen erhöhen die Anzahl der
Requests eines einzelnen Seiten-Aufrufs.
 Mehr Requests + Mehr Date-Zugriffe
!= Mehr Performance
daniel.fisher@devcoach.biz
Caching…
daniel.fisher@devcoach.biz
Silverlight Technology Stack
daniel.fisher@devcoach.biz
Silverlight 1
daniel.fisher@devcoach.biz
Silverlight 2
daniel.fisher@devcoach.biz
Silverlight 3
daniel.fisher@devcoach.biz
The Browser Bridge
daniel.fisher@devcoach.biz
HTML DOM Integration
 Silverlight apps are browser apps
 Interacting with the browser host
• Interact with HTML elements and script objects from
.NET-Code
• Interact with exposed .NET-Objects from javascript-
Code
daniel.fisher@devcoach.biz
Exposing a .NET Object
[Scriptable]
public void Search(string Name) { ... }
WebApplication.Current.
RegisterScriptableObject(
"EntryPoint", this);
daniel.fisher@devcoach.biz
Accessing a .NET Object from Javascript
var control =
document.getElementById(
"SilverlightControl");
control.Content.EntryPoint.Search(
input.value);
daniel.fisher@devcoach.biz
The Local Storage
daniel.fisher@devcoach.biz
Local Storage
 Cookies on steroids
 Provides unlimited space of app specific local
storage
 Can be expanded per app by prompting the user
 Uses .NET IsolatedStorage APIs
daniel.fisher@devcoach.biz
Isolated Storage
using (var isf =
IsolatedStorageFile.GetUserStoreForApplication())
{
using (var fsm =
new IsolatedStorageFileStream(
filename, FileMode.OpenOrCreate, isf))
{
using (var sw = new StreamWriter(fsm))
{
sw.Write(content);
sw.Flush();
OnBytesWritten(fsm.Length);
}
}
}
daniel.fisher@devcoach.biz
The XML API
daniel.fisher@devcoach.biz
XML Support
 Core XML reading & writing capabilities
 XLINQ support
daniel.fisher@devcoach.biz
All together now…
Experience
Code Walk
daniel.fisher@devcoach.biz
All together now…
daniel.fisher@devcoach.biz
daniel.fisher@devcoach.biz
WPF Fast Start
WPF mit WinForms?
WPF mit MFC?
http://www.microsoft.com/germany/msdn/my/
softwarehersteller/WPF_FastStart.mspx
daniel.fisher@devcoach.biz
The presentation content is provided for your personal information only. Any commercial or non-commercial use of the presentation in full or of any text or graphics
requires a license from copyright owner. This presentation is protected by the German Copyright Act, EU copyright regulations and international treaties.

2009 - DNC: Silverlight ohne UI - Nur als Cache