Stephen Forte Chief Strategy Officer Telerik WUX204 SpeakerBioToString Chief Strategy Officer of Telerik Certified Scrum Master Active in the Community International Conference Speaker for 12 Years ID: 262964
Download Presentation The PPT/PDF document "Building Offline Applications Using Micr..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Building Offline Applications Using Microsoft Silverlight 3
Stephen Forte
Chief Strategy Officer
Telerik
WUX204Slide3
Speaker.Bio.ToString
();
Chief Strategy Officer of Telerik
Certified Scrum Master
Active in the Community:
International Conference Speaker for 12+ Years
RD, MVP and INETA Speaker
Co-moderator & founder of NYC .NET
Developers Group
http://www.nycdotnetdev.com
Wrote a few books: SQL Server 2008 Developers Guide (MS Press)
MBA from the City University of New York
Past:
CTO and co-Founder of
Corzen
, Inc. (TXV: WAN)
CTO of
Zagat
Survey Slide4
Out of Browser Goals
Simplicity
Give the user the right default behaviorNo additional downloads for user
Follow the web rules
Use the web deployment/update model
Most applications can live within a sandboxSlide5
Out of browser
demo Slide6
Taking an App Out of Browser
Gestures (How)
Context menuApplication-provided behavior
App runs before install
User initiates action to trigger
Application Types
Always connected
Always disconnected
Occasionally connectedSlide7
Detaching API
Manifest (
AppManifest.xaml)Name, title, description
Optional icons
Code APIs
Detach() method
ExecutionState
ExecutionStateChanged
event model
RunningOffline
propertySlide8
Detached State Flow
In-browser
RunningOnlineDetaching
Detached (
RunningOffline
=false)
Out of browser
Detached (
RunningOffline
=true)Slide9
Application Updates
Optimized for instant on
Background downloading upon identificationNext out of browser launch uses new app
Event model when update downloadedSlide10
Network Availability
Network detection key for scenario (occasionally connected apps)
Silverlight 3 new APIs for detectionIP address change event
Network available property
Any interface (no loopback)
Best practices
Do more than just detect IP changeSlide11
Interacting with Data
Out of browser
IsoStoreDefault limit increase to 25MB upon Detach()
Can still prompt for quota increase
Storage is shared location for in-browser and out-of-browser – not a new
IsoStore
OpenFileDialog
and
SaveFileDialog
Interaction with full file system via user actionSlide12
Out of browser
demo Slide13
Debugging Methods
ChildWindow
for ExceptionsAttach to SLLauncher.exe in beta
Post-beta will launch auto attach in VS
In-browser and out of browser are two instances of the appSlide14
Differences from In-browser
Additional key mappings (F keys)
No HTML DOM AccessMouseWheel
XmlHttp
Currently no HTML
interop
Assembly Cache not availableSlide15
Best Practices
Download local data
Check RunningOffline for state
Don’t trigger more than one
HttpWebRequest
at a time
Keep your code in the XAP
Silverlight versions for you
If data model changes, require a restart
Show UI for
major updatesSlide16
www.microsoft.com/teched
Sessions On-Demand & Community
http://microsoft.com/technet
Resources for IT Professionals
http://microsoft.com/msdn
Resources for Developers
www.microsoft.com/learning
Microsoft Certification and Training
R
esources
www.microsoft.com/learning
Microsoft Certification & Training Resources
ResourcesSlide17
©
2009 Microsoft
Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT
MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.