Ligthswitch client: Silverlight or HTML client? RRS feed

  • Question

  • Hi,

    I'm currently learning Lightswitch and I'm having trouble deciding between the Silverlight client or the HTML client for a small application I'm planning to create.

    The application will be used on about 10 Windows clients and 4 Mac clients. Since I have a bit of programming experience with C# and don't have very much experience with writing Javascript I lean toward the Silverlight client. On the other hand I'm worried about it's future. I don't want to spend much time learning stuff that is considered obsolete already. Another point is Mac OS X support, Silverlight 5 is supported on Safari 4+ but after doing some tests with a Silverlight client app deployed on Azure I could not get my test application to work on our Macs. The application starts up, but nothing was displayed on screen. Our Windows machines ran the same Silverlight client application without any problem.

    Also, my application will depend on reporting functionality pretty much, and DevExpress XtraReports (for instance) is currently a no go with the HTML client. For reporting I guess I'm kinda forced to use the Silverlight client right? 

    So I'm a bit stuck in my decision; Silverlight (C#, many extensions available including reporting) vs HTML client (more future proof, mobile devices supported, Macs will run the application without hassle). 

    Who can shine a light on this subject and give me some advice on choosing the right client?

    • Edited by Ramon123456 Saturday, June 1, 2013 7:13 PM typo's
    Saturday, June 1, 2013 6:47 PM

All replies

  • The long term vision is HTML, and it will get there, one can bet heavy on that!

    Personally I love C# and all that is possible in .Net with its well defined design and runtime patterns, but I also really enjoy learning all there is to know about JavaScript. It's actually not that hard and I highly recommend that you get on the bus sooner rather than later, as there is a wonderful eco-system of JS frameworks and libraries out there to embrace.

    My gut instincts tell me that that we will see exponential change in the HTML client in LS. The current HTML client is limited, however MS has only just begun to tap into the realm of possibilities in this space. The V3 version has tight coupling to JQuery (Mobile) that were made by intent but I am certain if MS doesn't remove this the community will.  

    The current V3 LS framework has been re-structured very well, with the clear separation between the client and server and where the SL and the HTML client both consume the exact same back-end service. 

    The fact that the LS ODATA service is code-generated from the LS Entity designer with the ability to proxy over multiple data services is truly powerful, its amazing in its simplicity, and very well thought through.

    In the Service tier one should position most of their business logic and since this is reusable for either SL and HTML clients, then you should be able to build out a SL client today, and then once the HTML client matures just a wee bit more, you can migrate to an HTML client in the near future.  In other words, as long as you do not wrap too much business logic into your SL client, and instead properly position this logic into the service tier, then flipping to a different client shouldn't be too much effort.

    There is already some discussion that the LS team will address the monolithic LSML file concerns that make it difficult to support multiple team member development.  This feature should be announced within the next release.

    I for one am very excited as to where LS is currently at and I am ever so hopeful that MS will continue to expand LS capabilities within all clients however most importantly the HTML client and I am even more hopeful that they provide a solid road-map on the future of the HTML client at the Build Conference at the end of June. 

    My recommendation is as follows. If you have a pressing LOB application need that must be created today then do so in the SL client.  Be mindful of where you position your business logic.  Take training on JS, become more familiar with all that is JS, JQuery and other JS frameworks that currently exist.  I highly recommend PluralSight for training, @$29/month it is quite reasonable.  If MS does advance the HTML LS client such that it has much the same client capabilities as Silverlight you will be ready to leverage your newly found skills as well as 100% reuse of your LS Service tier to successfully convert your SL client to a HTML client. If they do not, then you still have gained a powerful LOB application RAD solution in Silverlight with the skills you already possess.  Move forward, and do not become tied up with where the current technology is at today as it will change, you just need to be ready to move when its ready.


    Johnny Larue, http://www.softlandingcanada.com

    • Edited by John Kears Sunday, June 2, 2013 4:39 PM
    Sunday, June 2, 2013 4:27 PM
  • Thanks Johnny for your very helpful reply! Much appreciated. I'm going to follow your recommendation; the application will be created with a SL client for now. That way I can use the long list of extensions available for Silverlight (including reporting and maybe even DockShell as well. :)) and I will put some time in discovering the possibilities of JS and jQuery etc.

    About PluralSight; I agree on that totally. Excellent training materials, I have an account and took some time to find out more about lambda expressions and LINq!

    Thanks again. 

    Tuesday, June 4, 2013 7:46 PM