prós e contras do Silverlight 3 para aplicações line-of-business
publiquei ontem um post sobre uma aplicação em Silverlight focada em mercado de ações, não? hoje descobri um post bem bacana sobre os prós e contras de se usar Silverlight 3 para LOB apps.
aqui vão os prós:
Here are some of the pros I’ve found as I’ve worked through the application:
- Excellent data binding support – my favorite feature. This changes how you look at building applications and allows you to write data-centric code instead of control-centric code as with normal Web applications. There’s a lot I could cover here but I wrote up a post awhile back that gives additional details about what like. Read it here.
- Server code and client code can written in the same language. Business and validation rules can be shared between the client and server code base which definitely makes applications more maintainable into the future.
- A rich set of controls – I really like the controls available with the Silverlight SDK as well as those in the Silverlight toolkit. There are a few (mentioned below) that can test your patience when you’re building a more involved application and not a simple demo.
- Support for just about any type of animation or effect you want. Don’t need that in a LOB app? I beg to differ. You can get quite creative with how data is displayed with Silverlight and not be limited to simple slide, sizing or opacity animations. I’ll show an example of what I call the “card flow” interface later in this post and show how it allows managers to get to timecards faster and easier than before.
- Excellent designer support through Expression Blend 3 – Visual Studio 2008 is great for coding but doesn’t provide any design-time features for Silverlight 3. Not a big deal….you can use Expression Blend 3 which provides a great interface for designing your applications. The new SketchFlow application can even be used to prototype applications upfront and get customer feedback more quickly and easily than in the past.
- Easy to integrate distributed data using WCF, ASMX, REST, ADO.NET Data Services, .NET RIA Services, etc. The application that I’m working on leverages WCF as well as some dynamic code on the client-side to make calls to the service. It works great and FaultExceptions can even be handled now with Silverlight 3.
- Desktop-style application with a web deployment model – Get the responsiveness of a desktop application that can be deployed right through the browser and even run on Macs.
- Support for styling of controls. Silverlight 3 now allows styles to be changed on the fly and styles to be based on other styles. If you don’t like how a control currently looks you can completely change it by using styles and control templates.
- Out of browser support – This was a key reason why my client choose Silverlight 3. They have a lot of remote workers that don’t always have access to the Internet and needed to be able to enter timesheets even when disconnected and then sync them later once a given employee has connectivity.
- Support for behaviors. Behaviors are very, very useful in Silverlight applications. I needed to add mouse wheel scroll capabilities to a ScrollViewer control to simplify scrolling in a screen and did it within minutes by using a behavior (thanks to Andrea Boschin who created the behavior).
- Manipulate pixels using WriteableBitmap. This can be used to create some very cool effects (some which may not be applicable to LOB applications…but they’re still cool). I’m using it mainly to fill the printing hole mentioned below.
- Support for storing local data through isolated storage – By using isolated storage you can cache data, store data when no network connectivity is available plus more.
- Support for navigation – Silverlight 3 has a new navigation application template in Visual Studio that makes creating an application with multiple pages quite easy. Each “page” can be linked to directly through deep linking and has built-in support for history. If the client hits the back or forward button in the browser they’re taken to the appropriate Silverlight application page. The navigation framework allows code to be placed into separate pages (or user controls) and then loaded as a particular link or menu item is clicked. It’s a great feature that can really reduce the amount of code you have to write especially compared to Silverlight 2.
o artigo inteiro (com os "contras" e tudo) está aqui: http://weblogs.asp.net/dwahlin/archive/2009/08/18/building-line-of-business-applications-with-silverlight-3-pros-and-cons.aspx