by dwahlin via Dan Wahlin's WebLog on 8/18/2009 7:06:00 AM
I’ve been hearing a lot of people talk about how Silverlight 3 can or can’t do various things lately throughout the blogosphere and Twitter. The sad part is that some of the people giving their two cents about what Silverlight can’t do haven’t built a “real world” application so I’m not sure how their opinion carries any weight (I know because I’ve asked a few of them). Their list of cons are typically based on what they heard on Twitter or various rumors floating around. As with any technology there are pros and cons and Silverlight is no exception. The goal of this post is to talk through some of the pros and cons I’ve personally encountered while building a “real world”, enterprise-scale timesheet and job management application for a large electrical contracting company. I’ll point out what has worked really well and what hasn’t so that people looking to move applications to Silverlight 3 can get an honest assessment on what can be done and what can’t be done.
The application my company is building has a lot of different screens (30+), integrates with the backend database using WCF, uses reporting services for reports and leverages many of the key features Silverlight 3 has to offer. The existing application used by the client was written using Access Forms and is being ported to Silverlight 3 along with a bunch of new functionality.
Let’s start by going through what I personally feel are the pros and cons that Silverlight brings to the table for Line of Business (LOB) applications.
Here are some of the pros I’ve found as I’ve worked through the application:
So everything’s all peachy right? Both the client and I are very happy with how things are going with the application but there have been some challenges along the way. At the beginning of this post I said I’d mention the cons as well and I’m going to be brutally honest here with some of the areas where Silverlight 3 is missing the mark when it comes to Line of Business applications.
There are definitely more pros than I’ve listed and probably a few more cons although I honestly can’t think of many more that I’ve had to deal with. The bottom line is that all of the pieces are there (aside from printing) to build powerful Line of Business applications that are built using existing .NET languages. You can make the applications look however you’d like and not have to worry if they’ll look good across different browsers. Here’s a picture of a payroll screen in the early stages of development:
Here’s what the screen looks like after applying a few styles to the controls and adding support for things like inline editing of data:
Some of the more “fun” features in Silverlight 3 can also be put to good use in Line of Business applications. I needed to create a way for warehouse managers to easily manage multiple time cards for employees. I ended up going with what I call a “card flow” interface (similar to cover flow in iTunes) to display the time cards. The end user can use the mouse wheel to quickly navigate through different cards. The selected card will slide to the middle with a cool animation and the others are angled using perspective 3D. Here’s what the “card flow” interface looks like (I need to give credit to Jose Fajardo for blogging about the concept):
So is Silverlight 3 ready for prime time, enterprise level Line of Business applications? Having worked with the framework nearly every day for the past 3 months in a “real world” scenario my short answer is a big “YES”! I don’t say this because I’ve been drinking the Kool-Aid though. Anyone who knows me understands that I use what I feel works best for a given application (unless the client wants something specific of course). I truly enjoy working with the framework and think it can do a lot of powerful things.
Every company is unique though so the answer really depends on what features your application needs. Our previous client’s application was built using ASP.NET MVC and jQuery and it did everything they wanted it to do (I really like ASP.NET MVC and jQuery by the way). However, Silverlight provides a more consistent way to develop enterprise applications that doesn’t require learning JavaScript, additional libraries like jQuery, CSS, HTML and other Web technologies. With Silverlight you can write code using your favorite .NET language on both the client and server, debug applications like any normal .NET application, bind data in flexible ways, retrieve data from remote services, animate objects as needed, round corners and work with gradients without ever creating a .gif, .jpg or .png and have a ton of controls right at your finger tips. I’m a big fan.
For more information about onsite, online and video training, mentoring and consulting solutions for .NET, SharePoint or Silverlight please visit http://www.thewahlingroup.com.
Original Post: Building Line of Business Applications with Silverlight 3 – Pros and Cons
The content of the postings is owned by the respective author. Silverlight Feeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on Silverlight Feeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.