Q. Does Silverlight have offline Database support like Flash.


Answer: No.

Silverlight does not have offline database support neither does Flash. The offline database support is most likely a confusion between Adobe Flash Player and Adobe AIR.

Database information Silverlight however does have what I call "uber cookies" (yes that’s a Barnes technical term) where you have the ability to store packets of data in what we call lsolated Storage. Isolated Storage Provides safe access from the Silverlight client to the local machine’s file system. Enables local storage and caching of data isolated to a particular user.

Help Do you have a Silverlight vs Flash Question that you want answered? Please send me a note via this form and I’ll help clear the air around both technologies.

Examples in the wild:

Things to Note:

  • Both technologies have the ability to talk to server-side solutions using various methods (I’ll cover off later) and this is how one is able to send/receive information from a database.
  • Flash has a similar concept called LocalShared Objects, where you can also save data per user to a persons hard drive.
  • Both technologies are housed within a "Sandbox" which whilst allows the runtimes to save data to a persons hard-drive, they however cannot escape the sandbox due to security permissions.
Dear Commenter,
Icon10At times the Silverlight vs Flash discussion (no matter the intent) can at times turn into a heated discussion. In the interest of simply preserving the facts I may edit the comments left on this of post to ensure that the we stay on topic and true to the intent of this post – clearing up misconceptions. If you have evidence that differs from the above, I will be more than happy to make changes and source the author.

Questions found in Comments

Q. Is it per domain or per page? And if someone visits my site in IE and I save something in Isolated Storage will they be able to retrieve that information if they visit using the FireFox browser? – John

A. It’s currently per application’s source domain. Yes you can share persist data between browsers as they all point to the one area (within the secure sandbox). This will allow folks to share “Form values” – for example – between two browsers, so in the event UserA leaves for whatever reason in BrowserA, they can resume the data in BrowserB.

There are likely to be some adjustments to IsoStore in Silverlight 2.0. Keep an eye on Silverlight.NET’s blogs for more information as it’s announced.

Comments (8)

  1. Pete Brown says:

    Hi Scott

    I’m not clued in to how the Flash-based offline database stuff works, but you can do a decent amount just with Isolated Storage in Silverlight. I guess it all depends on how much of a "real" database you need, and how concerned you are about its longevity and maintenance 🙂

    I’m looking forward to the rest of the series, as I think it will be really helpful to sort the facts (both for and against Silverlight) from the soundbites.

  2. John says:

    Hi,

    Interesting post (and blog).

    I have a quick question around isolated storage. Is it per domain or per page? And if someone visits my site in IE and I save something in Isolated Storage will they be able to retrieve that information if they visit using the FireFox browser?

    Thanks,

    John

  3. scbarnes says:

    John,

    I’ve ammended your Quesiton to the post and added my response to it. Great question btw 🙂

  4. Ted Patrick says:

    Scott,

    What about flash.net.SharedObject?

    Flash Player and AIR have an API called Shared Object since 2001 at the release of Flash Player 6 and Silverlite’s "Ubber cookie", lsolated Storage, is a direct clone.  It allows you to store objects on the client side on a domain basis.

    I know that you used this API on prior projects with Flash and Flex before working at Microsoft, so its omission is intentional.

    Keeping you honest!

    Ted 🙂

  5. scbarnes says:

    Hi Ted,

    Lots of accusations and little substance?

    Firstly,

    Thankyou for confirming that I have extensive experience in this space on both platforms.

    Secondly,

    In my 2nd point for "Things to Note" I covered off Shared Objects inside Flash. Not sure what your point for "omission was intentional" was.

    Thirdly,

    As for "Cloned", if that’s Adobe’s official posture on Silverlight then may I suggest they grow up 😉

    Fourthly,

    It’s Silverlight not Silverlite. If you’re going to criticise the brand, at least spell it correctly.

    Appreciate you stopping by Ted.

  6. João Costa says:

    Hi Scott,

    Can you write something on how far you can go offline with Silverlight? What are advantages and limitations if we try to compare it with Google Gears?

    Thanks in advance!

    João

  7. Sriram says:

    Scott,

           I have posted a blog entry on how to create a very simple Silverlight Local database using using Isolated Storage and LINQ. You can find it in link below. Please let me know your thoughts on how to improve it.

    http://infosysblogs.com/microsoft/2008/08/silverlight_offline_database_s.html#more

    Thanks,

    Sriram

  8. Steve says:

    The answer is a resounding YES

    http://nerddawg.blogspot.com/2007/06/google-gears-and-silverlight.html

    Silverlight works with Google Gears == SQLite