I know it doesn't look like much, but there's surprising "proof" that SqlDbSharp runs on Windows Phone 8.  I just merged the master branch back into the Windows Phone 8 branch to catch it back up -- it'd been languishing since February 4th.  And after an hour or so of tweaking, there's a simplest case proof of concept up and running using the SqlDb# sample code in the Windows Phone emulator.

I know there's really no market on Windows Phone 8+, relatively speaking, and even after reading Sinclair's thoughts on making a living as an app maker in general, I've got to say that Windows Phone is pulling me back in, and it's solely about the tools.  Xamarin just went to an optional subscription model, and $25 for a month of Android porting puts that platform back on the table, but I still couldn't get Xamarin.Android up and running in the Android emulator, even using the Android Designer Walkthrough.  Apparently the emulators that Xamarin Studio installed for me by default weren't recent enough to work with the designer, and then when I created a Nexus 5 emulator to nuke that issue, the simplest case app never opened.

Xamarin's neat, but it's still very rough around some edges.  I'll use it on OS X for iOS, but the Android side drives me crazy.

Visual Studio Express 2012 for Windows Phone seems much nicer than Xamarin.Studio on Windows 8.  My biggest pain is that the version of .NET for Windows Phone is a painful subset of .NET for desktop -- or even for other mobile platforms via Xamarin, an irony I've lamented before.  But the emulator and IDE interaction is, so far, top notch.

So I've cleaned up SqlDb# a bit and thankfully fairly painlessly got it at least running on WP8 again.

Ah, the only big "find" for Windows Phone 8 here is the path to the "home folder", so to speak.  Here's the code, straight for MSDN, though it took some Googling to find it.

Windows.ApplicationModel.Package package = Windows.ApplicationModel.Package.Current;
Windows.Storage.StorageFolder installedLocation = package.InstalledLocation;

String output = String.Format("Installed Location: {0}", installedLocation.Path);

Finally, right?

Labels: ,