I think its worth clarifying what you (or the OP) actually need for an offline app. Access to file system, data storage, removal of security restrictions, browser UI breakout, device access, OS-dependent UI calls...?
The OP said it needs to sync using WCF. Depending on your app, it shouldn't be too hard to replicate the service locally using XML or JSON, and store changes in isolated storage for submission when online, or better yet, deduce changes when online and merge. Inline. 2008/12/30 Barry Beattie <[email protected]>: >> Option 2: Use the IE control in a .NET framework, host the app in it >> with an internal web server in the background handling the HTTP calls. > > @Sam, can u expand on that, pls? (thnx). > (BTW, any solution I have to look at has to be x-platform) Hmm... didn't have cross-platform on my mind when I thought of that. Mozilla Prism can be used to give you the browser breakout UI, but not much else. Otherwise, maybe a small, general Firefox plugin could facilitate file-system access, override security restrictions, and more. (big security implications here though.) It also seems that the Mono project have wrapped Firefox as a .NET Winforms control, so you could implement my original idea using Mono and its WebBrowser control instead for cross-platform functionality. This does mean the user will have to download another framework for the app to work, but it is the same with AIR (although possibly a bit larger). The idea was to use the WebBrowser control to load the UI (Silverlight or whatever), and run a small web server behind it - Mono/.NET has built in support for this in System.Web. The SL app would talk to this web server over HTTP whenever it needs something that it can't get/do internally, like file-system access or writing to a DB. As the web server is running as a desktop app, it has access to the user/computer's resources, limited by the user's account restrictions. I'm not sure if I would go down this route though. Because SL is a subset of WPF, it shouldn't be that hard to convert your app into WPF (in fact, it should take very little effort, if any). That gives you the full power of .NET. So that's Windows taken care of. For Mac and Linux, there's Mono + Moonlight. Moonlight is not quite yet complete and not at feature-parity with SL, but it will be I expect. Mono allows you to run Moonlight within the browser sandbox, and also outside of it. There will be certain differences between Mono/Moonlight and .NET/WPF, but nothing too drastic (probably some compiler if-blocks, and different build scripts). That would save a lot of effort and removes the hacky web server code. The user experience would not be as seamless, but it wouldn't be too bad. >> Personally, I'm probably going to go down the Adobe AIR route. Not >> really that excited about the limitations of Flash (lack of threading >> and a crappy IDE being a big ones), > > yeah, no matter how much chest beating happens, FlexBuilder isn't > VisualStudio. sigh. Here's hoping Gumbo will fix a lot of the issues - at least refactoring support and a faster compiler please! > I take it you're using MXML-flavoured AIR, not HTML/Ajax? Yep, the MXML kind. While we've detoured on to Flex, are you aware of any ORMs running in AS3? The Flex/AIR world seems to still be a very connected world, rather than a self-contained/disconnected one. -------------------------------------------------------------------------------- List address: [email protected] Subscribe: [email protected] Unsubscribe: [email protected] List FAQ: http://www.codify.com/lists/ozsilverlight Other lists you might want to join: http://www.codify.com/lists
