2009 - DNC: Silverlight ohne UI - Nur als Cache

27
[email protected] Daniel Fisher | CTO devcoach ® [email protected] http://www.lennybacon.com Der Einzige Vortrag dieser Konferenz, der nichts mit User Interfaces zu tun hat… Silverlight als Clientseiteiger Datencache in AJAX Anwendungen

Transcript of 2009 - DNC: Silverlight ohne UI - Nur als Cache

Page 1: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Daniel Fisher | CTOdevcoach ®[email protected]://www.lennybacon.com

Der Einzige Vortrag dieser Konferenz, der nichts mit User Interfaces zu tun hat…Silverlight als Clientseiteiger Datencache in AJAX Anwendungen

Page 2: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

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

SOFTWARE://DEVELOPMENT+ARCHITECTURE+CONSULTING

devcoach®

Page 3: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

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®

SOFTWARE://DEVELOPMENT+ARCHITECTURE+CONSULTING

devcoach®

Page 4: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Wie man dazu kommt Silverlight nicht für User Interfaces zu benutzen…

Zur Erklärung

Page 5: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Eine gute Geschäftsidee …

Page 6: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

…Erzeugt Last

Page 7: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Der Mythos

Vertriebler: „Unser Web-Anwendung ist zu Langsam…“

Entwickler: „Kein Problem. Wir nehmen einfach ein bisschen AJAX!“

Page 8: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

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

Page 9: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Caching…

Page 10: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Silverlight Technology Stack

Page 11: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Silverlight 1

Page 12: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Silverlight 2

Page 13: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Silverlight 3

Page 14: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

The Browser Bridge

Page 15: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

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

Page 16: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Exposing a .NET Object

[Scriptable]

public void Search(string Name) { ... }

WebApplication.Current. RegisterScriptableObject( "EntryPoint", this);

Page 17: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Accessing a .NET Object from Javascript

var control = document.getElementById( "SilverlightControl");

control.Content.EntryPoint.Search( input.value);

Page 18: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

The Local Storage

Page 19: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

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

Page 20: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

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);

}

}

}

Page 21: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

The XML API

Page 22: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

XML Support

Core XML reading & writing capabilities

XLINQ support

Page 23: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

All together now…

ExperienceCode Walk

demo

Page 24: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

All together now…

Q&A

Page 25: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

Thank You!

Page 27: 2009 - DNC: Silverlight ohne UI - Nur als Cache

dan

iel.

fish

er@

devcoach

.biz

SOFTWARE://DEVELOPMENT+ARCHITECTURE+CONSULTINGdevcoach®

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.