Silverlight 2.0: Creating an Offline Application (Smart Client), Part 1

The following is part 1 of a series of posts for creating an offline application using Silverlight 2.0

Introduction

Once of the alluring aspects of Silverlight is creating an application with a pretty broad reach (cross-platform/browser) using technologies familiar to the “Microsoft Developer” (C#, VB.NET, etc.) together with some common application patterns (smart clients).  This series of posts is intended to plug the gap in creating a Silverlight 2.0 application that completes the “smart client” pattern with occasionally connected (read: “offline”) features.

Problem

Silverlight does have many of the aspects of a “smart client,” such as …

  • Automatic/intelligent installation and update
  • Broad client platform/device reach
  • “Connected” to back-end services (like LOB logic)
  • Use of local resources

… and some added of it’s own:

  • Very small runtime size (~4 MB)
  • Low client requirements (a browser)
  • Declarative programming model (XAML)
  • Rich UI Framework (Rich Internet Application)

However, it currently lacks formalized support for the most prominent feature of being occasionally connected.  Customers, however, are unwilling to compromise and want all of the above, together, without having to learn a new platform and a set of technologies (like Flash, for example).

Silverlight 3.0 promises new features to help in implementing these new features it is not out yet (in Beta at this time) and customers may already have a need for Silverlight today or have existing application in Silverlight 2.0.

Solution

The good news is that, with one exception, Silverlight 2.0 is fully equipped to handle the offline scenario with little additional effort over what may be coming in 3.0 or what you may have today with other Smart Client or Rich Internet Application (RIA) technologies.

The following techniques will be demonstrated in the upcoming series of posts:

  1. Offline, persistent, secure storage: Isolated Storage
  2. Synchronization with back-end services
  3. Detecting the network and connectivity to the back-end services
  4. Re-launching the application while offline

Companies can create fully disconnected application today in Silverlight 2.0 and I’ll walk you thought the process in upcoming posts.  If you would like to see anything specific please feel free to add some comments and I’ll try and incorporate those into subsequent posts.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s