We’ve been secretly working on building HTML5 clients with LightSwitch.
O yes, feels like Christmas all over. Let’s hear that again, just because of how good it is to read:
LightSwitch will support building HTML5 clients REALLY soon.
Njom njom njom… One last time?
Hell yea! Thick Silverlight clients and thin HTML5 mobile apps in a single IDE.
God, I can’t get enough of it, but I’m sure you get the picture.
I’m sure a lot of us suspected this was coming, let’s be honest it was more like a public secret than a suspicion. Over the next couple of days you’ll see numerous announcement posts like this popping up all over the place. People need to out their joy, because this newest addition to LightSwitch will likely be even more appreciated than the OData implementation, easy publishing to Azure, (incredible) performance improvements and other goodies that the team has presented us over the last couple of months.
Now, not to get ahead of anything here, but I do want to make some side-remarks based on the official announcement-post, just like I did the last time the LightSwitch landscape was totally redecorated.
The existing Silverlight client and upcoming HTML-based client are complementary offerings—the Silverlight client will remain the go-to choice for building rich desktop applications; the user experience focus for the HTML client will be touch-first and optimized for mobile devices. As a companion to the desktop client, the HTML client will be best-suited for browsing data that is created and managed using the Silverlight desktop client.
Ok, an easy paragraph to get started. The LightSwitch HTML client will be the thin, mobile version of the Silverlight thick client. This allows for us to use one IDE to create mashups that answer all of the business’ needs today: in the cloud (Azure, still excited about the easy publishing), mobile (HTML), office integration (Silverlight OOB), …
Once you’ve added the HTML client to your project, the development experience for creating screens and defining data will feel very familiar.
Screen templates for the HTML Client
Sweet, the IDE really didn’t change, we can resort to the comfy zone of LightSwitch development as we know it, and still output modern HTML clients in addition to Silverlight clients. Not explicitly included, but perhaps correct to say is implicitly implied: the idea of “screen templates” still exists. Does this mean we can create extensions with new HTML screen templates? Will we be able to add HTML libraries to our extensions that contained Silverlight controls, shells or themes? Can we still use the “old” extensiblity model? The screenshot above seems to imply yes…
However, the big item to notice when trying to “read between the lines”, is this:
Our HTML projects will look-and-feel pretty familiar to those who have used other Visual Studio web development tools (ASP.NET, MVC, etc): HTML projects use standard naming conventions for the folders and files in the project. This has a useful side-benefit of being able to use tools such as NuGet to find and install community libraries into your LightSwitch clients.
Using NuGet to install extensions
- Using Nuget to install extensions is something most of us hard-core bitlovers (aka: “professional developers”) have been longing for, some of us even created packages that contain LightSwitch themes or custom code bits… Nuget is the new, improved and open version of VSIX, and some of us didn’t understand why LightSwitch went the VSIX way for their extensibility model (other than commercial reasons…). Why, you might ask? What’s the benefit of using Nuget?
- Using Nuget means we can easily install additional libraries (other than JQuery-mobile for example). Libraries that have been created for ASP.NET (MVC4?) development, not specific to LightSwitch for example. This implies, that although the LightSwitch team is now focusing on releasing a client that will be suitable for mobile devices, there’s really nothing technically limiting these HTML clients to simple mobile applications only…
So ok, this option might be based on pure guesses, but the road has been chosen. As soon as I get the first bits to play around with, I’m going to investigate the “known” LightSwitch extensibility model and what new features the Nuget integration offers us, as I dive in an adventure to create a cloud-based, multi-tenant, small business software suite consisting out of a think Silverlight client, a thin mobile version of the same client, and a rich company website (that can be managed, of course, from within the Silverlight think client).
You can simply add an HTML client to your existing LightSwitch project; each client will share the same data and metadata defined for the middle-tier.
I can start on the server, and Silverlight client tier tonight…
Keep rocking LS!
O, and before I forget: great job, LightSwitch team! Great job!
I personally put a lot of faith in all of you going “all-in” on LightSwitch since v1.0-beta was released, and the ever-so-sceptic “professional developers” , that ditched LightSwitch as “too easy”, “too narrow”, “too proprietary”, have been smelling the fumes of my exhaust pipes as I was already miles ahead of any “conventional” application development tools with the OData implementation. With the announcement of HTML support, it seems like they have become dots on the horizon when I look in my rear-view mirror. 🙂