Building Business Applications with Silverlight?


image

I’d love to hear feedback and thoughts you have about building business focused applications with Silverlight.  What is motivating you to consider Silverlight?  if you have already started to evaluating, what is easy or hard about it?

Related, Blaine recently posted a survey on his blog about much the same thing focused on gathering data for Prism 2.0

 Please take the survey!

Thanks!

Comments (33)

  1. Some Coder says:

    I recently had the task to port a PHP 4 Application to the .Net world, because our company uses now only .Net. First I considerd of course to using ASP.Net. The problem with this approach was, that the application needs to generate most of its controls at runtime. With ASP.Net this is of course possible, but I think its a pain in the ass (because of wiring up the events correctly…). I decided to test out Silverlight 2.0 beta 2 and I really liked it. I had some WPF experience and thus it was quite easy to port the Application to Silverlight. For data access I uses a WCF Service.

    Now I have a really smooth great looking Application without that sucking Postbacks. I now there is AJAX, but its not that simple with dynamic controls in .Net I think…

    (maybe I am just to stupid)

    The only think that I really miss is a DropDown

    Control. I hope the final realease will include one.

    I also found out that the Texbox slows down extremly when filled with lage texts (Logfile of some hundert lines).

    I also hope that ther will be a mouse wheel support in the final release.

    I think Silverlight 2.0 is really a great tool and I am looking forward to learn more about it.

    Greetings

    Andreas

  2. Combining the presentation powers of WPF, with the strong capabilities of C#, Silverlight is powerful.

    ASP.Net Developers –

    1) Note that C# (and VB.Net) code in a Silverlight project runs on the client,  and not on the server.  

    2) Silverlight allows for control on the client side,  without the requirement of writing JavaScript.

    3) Typically, business applications require data retrieval, and server databases will not accessible directly.  Ooptions include Windows Communication Foundation (WCF) Services.

    Cheers!

  3. Jim says:

    Any idea when 2.0 will RTM?- This could really affect some decisions we need to make and most likely a lot of other organizations also.

    Thanks

    Jim

  4. Mitch Cain says:

    I’ve been evaluating Silverlight in a POC (Proof of Concept) application for our company.  Silverlight will be a great platform for constructing applications along with other technologies such as WCF and WF.

    The lack of controls is not a huge barrier as there will be a lot of offerings in the vendor space, and the model is extensible enough to build your own.  

    Some guidance from Microsoft on the partitioning of large applications for Silverlight would be nice.  Our application consists of some 600 assemblies in various configurations and we have had to implement an asynchronous download scheme to JIT load the right assemblies at the right time and still make it memory efficient on the client.  

    The lack of a validation model on the client is also troublesome. Working with WPF I miss the IDataErrorInfo capabilities.  

    Commands from WPF would also be nice.  

    The "killer app" would be to include some of the Windows Workflow binaries in the Silverlight profile.  Imagine having ui rules externalized in XOML, downloaded to the client and evaluated there as opposed to either putting rules in code, or making WCF calls back to the server on every field validation to run externallized rules…way cool.

    Other things any commercial app will need – Section 508 compliance, keyboard shortcuts(without me having to code keyboard events), etc.  

  5. Francois Ward says:

    Some Coder -> Actually, dynamic controls in ASP.NET is very easy, its just that the enabling feature is almost unheard of, because no one talks about it on the forums. Make a control that inherits from CompositeControl, and it handles all the crap work for you.

    ========

    Now for the main subject: I’m heavily considering Silverlight for business apps (and, for that matter, XBAP applications, too).

    The reason is simple: internally, you have a lot of control over the client machines. The main insensives to make web applications are for deployment/maintenance, and for cross platform if the company actually is (which is uncommon, but more and more, companies have Mac departments, because heads of design tend to think Photoshop runs better there or something…though there are cases where Mac-only tools are required).

    With Silverlight running on both… why -not- use it instead of making a web app? Not having to deal with bugs, cross browser compatibility, and being able to leverage our expertise in the .NET framework, while still leveraging (I sound like a marketing guy now…) all of the benefits of a web app…

    I honestly would be more interest in someone’s opinion as to why we should NOT do it (unless you have a department with extremely high web technology expertise, or a big investment in it already… there’s of course Linux client, but that will depend on how Moonlight goes)

  6. Befuddled Programmer says:

    If you are a Microsft employee, instead of asking " What is motivating you to consider Silverlight?", how about spending your energies:

    1. Getting the dam product released;

    2. Provide some real world applications in a tutorial so we can learn how to use Silverlight for such a purpose.

    I am totally blown away with your request. It further irates me about how MS is handling the whole Silverlight product!

  7. BenHayat says:

    Hi Brad;

    What has motivated me about SL, is to develop Rich LOB applications for Corporate world like I had with Win32 and .Net, without the need to worry about installation and also be able to run it on different platforms and most importantly, most people are shifting to Browser only applications.

    This was my motivation for adapting SL, however both SL 1 and 2 are missing some key elements to take it to mainstream development like ASP.Net or WinForm. The two key areas are: a) Lack of being able to consume and work with database (out of the box, been waiting for Astoria forever), and secondly the same security system that we have in ASP.Net is missing in SL. Although you showed small example how to call ASP.Net services, but you never finished those blogs. 😉

    So, right now Google and Adobe are pushing for Web Application, but where SL will shine is to offer a full LOB solution for database, validation, security. Otherwise, it’s still a tool to make games with.

    ..Ben

  8. Business Intelligence 2.0 applications.

    Silverlight has: LINQ, multithreading, C#, WCF integration, Data Services Integration.  It is perfect for data centric applications with the ability to offload some pieces to the client.

    The visualizations coupled with the Silverlight advantages will bring a new round of BI 2.0 applications in the next couple months.

  9. Buisness Software Guy says:

    We are evaluating Silverlight as a way to "get to the web".   We are a Windows forms based company and the idea that we could have a rich UI like windows forms offers on the web is the main attraction.  Using skill sets we have in house already is another attraction.   Other Web based technologies (AJAX) are getting better but I haven’t seen one "feel" like client application.

  10. ThoseBug says:

    about Befuddled Programmer comment….you don’t know how to do a real world application? are you programmer? and could you imagine how difficult is create a stable release?.

    About this "Survey" well, the main problem with asp.net is the postback, I have an application to translate screen based on user language, and to apply restrictions even to button clicks, of course this is extremely simple with SL but the best thing is i have a powerfull server side, .NET, so the main reason why I’m using SL is because .NET (C#), for me the are only 2 frameworks to consider .NET and java, but .NET has now SL.

    I hope the final release could include WPF security subset (at least wshttpbinding).

  11. Damian Hickey says:

    Until we can run silverlight outside the browser like adobe air, it won’t be suitable for the data heavy apps we’re building. User hits back button, boom! everything gone.

  12. David Kelley says:

    I know for me the biggest thing is that Silverlight lets me build web UI that is much like WPF.  So far for business aps we have built all kinds of things from sharepoint interactive charts in sharepoint or KPI tools in Silverlight as side bar gadgets etc.  for us its about the user experience and Silverlight provides the best toolablity story for building these sorts of rich web ui’s for them.

  13. vkelly says:

    As has been stated already, support for managed C# and LINQ (I LOVE LINQ) are great asset of Silverlight.  Add that to the fact that XAML is xml based and the presentation capabilities are so much more advanced than anything else for the web (i.e. flash) and you have a great product!  Some people complain about the fact that the app can’t connect directly to the DB but, personally, I think that can be a good thing — web services, right?  Better separation and reusability.

    My biggest concern with SL right now is that not enough is being to draw in designers to the Silverlight, Expression Blend, Expression Design world.  The training materials available for developers are really great but there is nothing (that I’ve found) training designers how to use the tools.

  14. John Kattestaart says:

    Since the silverlight alpha came out I’ve been working on a project to build a business application.

    Had some major difficulties with the beta because are app wasn’t ready for the asynchronous calls yet.

    Now we have reorganized he app to do the async stuf. I think Silverlight has a great potiential to build business applications.

    I think the WCF type communication is suitable enough to get you started. I guess workflow would have a positive inpact for business use.

    Area”s of concerns.

    Deployment of big applications (size)

    Until there’s a community for UI design the Silverlight programmer has to do his own design.

    For standard webdesign there is a large community, but XAML is not well known yet.

    I think LINQ to SQL misses the base class for entities needed to build buisniness application with generic components. So I guess LINQ to Entities (read somthing about an update for SL) is needed to help is out.

    Another thing I relealised that Microsoft gives us very poor examples of doing business application with SL. It’s all about media content.

    Are business applications not sexy enough. Or does Microsoft self not believe in it.

    So were are the new patterns & practices concerning Silverlight Apps.

    Ok the final release is not even finished yet…

    BTW comboxes aren’t part of SL yey, But there are quite a few exaamples on the net.

  15. Richard says:

    Damian,  You can store your data in Isolated storage and if the user hits the back button you still have the data.

    What I like about SL is that it breaks the postback/ViewState tyranny.  There are no postbacks and so you don’t have to keep the client and the server exactly in sync just to keep the freaking page the same over post backs.  You put your UI up and it communicates when it needs to.

    I also like the ability to take over the content of a control.  I know on the server side you can do that (with GREAT headaches), but you can on the client you can change the UI to fit the data you just downloaded.  Some records need a action button, others need a status label.  The UI can handle that dynamically on the client side.

    More designer support is essential.  Most of us programmers aren’t that talented at design.  Myself included.  If we are going to compete with Flash, our apps need to dress the part.

    I wouldn’t mind combo boxes either :)

  16. Paul says:

    I think Silverlight has potential but I’m a bit concerned about it for business apps and it’s hard to tell if it’s another halfbaked MS idea that’ll vanish or get replaced next year or for real.

    Lack of a drop down (basic, fundamental control from early VB days), lack of integrated validation (essential for business apps), lack of integration in visual studio (for the visual elements, like being able to view control properties or even edit them – it is VISUAL studio and I don’t want to flit between two apps to do rich development), etc.

    Webservices are great for a lot of things.  Flex has binary data transport that’s more efficient – why isn’t MS all over this and doing something similar?

    As a C# coder and .net lover, and a big fan of MS, I’d like to see Silverlight take off but it seems somewhat unfinished (and they’re talking about it being done) and it’s not clear whether it’s something you could do robust business apps in or whether it’s more suited to simple web games, single page mini-apps, or plug-ins for web pages.

  17. PandaPeter says:

    I considered ASP.NET MVC (there’s no way I’d use that untestable non-MVC version) but as I’m fussy with UI, I found that I could buy some 3rd party controls and basically make a *much* more impressive UI, much easier with Silverlight. Hence I’m now developing a prototype using it and WCF.

  18. BradA says:

    Wow – I guess a struck a chord with this post…  Thanks so much for your comments!  A few reactions:

    @ Some Coder

    I hear a lot of customers talk about the need for more rich and dynamic user experiences even for business apps… So I think your experience is very similar to many others… I am very glad Silverlight 2 is working out for you.

    >The only think that I really miss is a DropDown

    Yes – check back in RTM…

    > I also found out that the Texbox slows down extremly when filled with lage texts (Logfile of some hundert lines).

    Yes, it is a good point, we are looking into it…

    > I also hope that ther will be a mouse wheel support in the final release.

    We are trying to make sure we can do things in a way that works 100% cross plat…  but it is clearly on our radar!

    @ Robert Hellestrae

    Thanks for the tips for ASP.NET developers looking at Silverlight!  

    1) Note that C# (and VB.Net) code in a Silverlight project runs on the client,  and not on the server.  

    2) Silverlight allows for control on the client side,  without the requirement of writing JavaScript.

    3) Typically, business applications require data retrieval, and server databases will not accessible directly.  Ooptions include Windows Communication Foundation (WCF) Services.

    @ Mitch Cain

    >Some guidance from Microsoft on the partitioning of large applications for Silverlight would be nice.  

    Excellent point… You can find a good start with Prism 2.0.. I’d love to hear your thoughts on it..

    > The lack of a validation model on the client is also troublesome.

    Stay tuned, my team is hard at work on validation…  If you have some scenarios you want to send our way, I’d love to hear them!

    Workflow and commanding are also on our radar…  Section 508, we are dependent on browser support, but SL2 RTM goes a long way there…  

    @ Jim

    > Any idea when 2.0 will RTM?- This could really affect some decisions we need to make and most likely a lot of other organizations also.

    We are working really hard on locking it down now… expect to see more information soon

    @ Befuddled Programmer

    Thanks for pushing on this stuff!  

    >Getting the dam product released;

    We are working really, really hard on it..

    >Provide some real world applications in a tutorial so we can learn how to use Silverlight for such a purpose.

    Have you looked at http://silverlight.net/Showcase/ or http://www.codeplex.com/videoshow?   I’d love to hear some more specifics on what we could add.

    @ Francois Ward

    Thanks Francois – I am going to forward your comments to our marketing guy, I think you just gave them their PDC messaging!

    >why -not- use it instead of making a web app? Not having to deal with bugs, cross browser compatibility, and being able to leverage our expertise in the .NET framework, while still leveraging (I sound like a marketing guy now…) all of the benefits of a web app…

    @ BenHayat

    Thanks – I totally hear you the need for even cleaner dataaccess patterns in Silverlight as well as much better support for authentication.  It is on our roadmap, I hope to post more on it post PDC..  

    @ Damian Hickey

    >Until we can run silverlight outside the browser like adobe air, it won’t be suitable for the data heavy apps we’re building. User hits back button, boom! everything gone.

    Hmm.. Adobe air you say?  I will have to look that up 😉  Seriously… we are working on a model for Silverlight where you can control the back button state so it does what your app wants!  You can already do a good bit of this in Ajax today.  

    @ vkelly

    >Some people complain about the fact that the app can’t connect directly to the DB but, personally, I think that can be a good thing — web services, right?  Better separation and reusability.

    Yes – Honestly I agree with you!  I do think we need to work on a model for data access to be as easy as possible while still getting the benefits of an N-tier model.   ADO.NET Data Services (aka Astoria) takes you a long way there today.

    @ John Kattestaart

    >Another thing I relealised that Microsoft gives us very poor examples of doing business application with SL. It’s all about media content.Are business applications not sexy enough. Or does Microsoft self not believe in it.

    Great comment, thanks for saying it.  To date, Silverlight has been mostly focused on Media and consumer facing apps… As the product and tools mature, it is becoming an increasingly good choice for business apps –we will be turning up the heat on that message  in a few months..

    @ Richard

    >More designer support is essential.  

    Excellent point – we have a bunch of work going on around this…  

    @ Paul

    Paul we are moving as fast as possible with Silverlight, but you are right, for some apps, we have a ways to go… as I mentioned, DropDown will be coming out very soon, the visual designer be out just a bit later than that.  Binary data transfer is also clearly on the roadmap..   So your are pointing out the right issues and we are focusing hard on getting there!

  19. JiniShans says:

    We’ve proposed client Silverlight 2 B2 as a RIA and started dev on the same and we use telerik SL 2 B2 controls too

  20. Rod Mac says:

    Thanks for the opportunity to make some comments. I have 4 points which might be barriers to entry and which I think could be fixed:

    1) not easy to obfuscate (although I think some 3rd parties are now making progess) – in turn this could lead to security issues if someone downloads a .XAP and starts messing about with it

    2) following on from my comment in your previous post, would like to see SL compiled twice – once so I can take make an extensible Windows version and use it as a dll in my WPF app and once for the usual crossbrowser deployment. Agsin, SL for Windows = true WPF subset.

    3) would like MS to consider that only a part of an app’s UI might be exposed to designers, the other part would be done more quickly in C# by devlopers. It really would be nice/more efficient to see a VB like ‘With’ construct for setting properties in C#.

    4) there currently seems to be a plethora of data access technologies surrounding SL/WPF – could do with an article clarifying approaches or ideally a best common approach – this point is really about education for clarity

    THANKS!

  21. BefuddledProgrammer says:

    Re: "Have you looked at http://silverlight.net/Showcase/ or http://www.codeplex.com/videoshow?   I’d love to hear some more specifics on what we could add."

    I recalled a heated (but necessary discussion) in the forums how all the tutorials are basic snippets whereas full applications are totally absent.

    Tim H. statued a "Application Corner" was due out but so far I do not see it.

    You guys really got to get full app tutorials out there ASAP. Just from what I am reading myself, alot of people are on the fence as to whether to use Silverlight or Flash. (Delaying the education process, only promotes Silverlight, i.e. for some of us TIME IS OF THE ESSENCE!)

  22. TotallyAstounded says:

    What’s in a name, I just choose it. I think I understand what Befuddeld Programmer is saying, if not, let me make it absolutely clear. MS is ready to screw up, that’s why Google is gonna surpass MS. MS is sooooo bug they can’t see reality anymore. Teach us this new tehnology in its fullest form, ot just go away cause ur sooo big you lack appreciation. Hopefully that should speak volumes.

  23. Smokey says:

    I am very impressed about silverlight. I am considering using it in a really big buisness app, but there is somethings that needs to fixed first:

    The DataGrid needs to be much faster. The version out today is really slow.

    I hope the silverlight plugin load-time will decrease. As it is today you can’t partition the app as much as I like because of the startup time. (I.e partition a list-detail app into 2 apps, but maybe this is just stupid design from my side)

    A release date. Or at least an estimate? An estimate is much better than nothing. I think it is really ignorant from Microsoft not to give us a date, because I am sure they have one internal.

  24. Marc Roussel says:

    I’m learning SL since the begining and I see it growing like a giant.  I love it,  and I would definitely recomand it to do business applications.  It works nicely right now with WCF services and LINQ to SQL

    A very nice mariage.

  25. John says:

    I am using Silverlight 2 Beta 2 for a line of business application, and I love it so far.  Yes there are small things that are a bit irritating like the dropdown box not being there, but nothing that is stopping me from using it for LOB.

    We are considering using Silverlight in a financial trading application, and there are only two things that bother me about that.  Trading application typically require quite a bit of screen real estate (typically multi screen).  The obviuos solution for that is to make the your Silverlight application use full-screen mode, the limitation here though is that the keyboard is almost totally disabled.  I understand the rationale behind the decision, but think that there are a couple of other ways maybe to mitigate the risk of keyboard input in full screen mode.  The other thing that bothers me a bit about using Silverlight for financial trading applications is the two way communication mechanisms available.  In order to make the application talk both ways without using the duplex "polling" mechanism, is to write a socket server implementation.

    Thanks to you and your team for pushing so hard on Silverlight.

  26. Doug says:

    If you’re interested in a combo box/dropdown, we’ve released a free one w/source <a rel="nofollow" target="_new" href="http://worksightblog.com/?p=72">here</a&gt;. It should tide you over until RTM.

  27. Irish Al says:

    Some real progress on the Linux side is vital.

  28. Manish says:

    While developing business applications using SL, one of the biggest shortfall that I have noticed is lack of support for data validation (both sync and async). Currently in SL we have to provide a lot of the plumbing to support validation. I am hoping that SL will provide that as part of framework similar to WinForm,ASP.net and even WPF. If you will like to get idea of the complexity involved, just head over to my blog and look at posts about coding validation in SL2.

    Other big issue is with Dynamic UI/Anonymous Type support. While building UI dynamically  works on surface, it fails when one tries to data bind. Currently when you try to data bind to Anonymous type(generated using LINQ to XML), it throws security error (reflection fails).

  29. kamii47@hotmail.com says:

    We want’s to start developing business application.But Problem is that We don’t know the Full FinalFeature List Of Silverlight 2.0

    There should be atleast a release candidate will appear with features complete before the Final RTM so that we can Plan our future pojects.

    It is hard to convince the client if we ourselve don’t know what will be in the final product

  30. Subin says:

    I would like to know more about this program

  31. chrisandharris says:

    Dude, anything that puts .NET on the client-side of the wall is just absolutely awesome.  Now I just need a business app to work on.

  32. Dean says:

    I just finished an application for internal use that allows users to direct external data into our internal systems using drag & drop.  I could have been done in AJAX, but the end result works much smoother.  It is basically a thin desktop application delivered via the web browser.

    I have done some Flash development in the past and hated the tools/libraries, but Silverlight was WPF-Lite and good old C# (or VB.Net).  It was very easy to learn.  The only issues I ran into was a lack of rich controls, which MS has really improved in the final 2.0 version.