Telerik RadControls For Silverlight (3 and 4) Q1 2010

Enter EggHeadCafe's free drawing for a license of Telerik RadControls for Silverlight 4 Q1 2010. Check out Peter Bromberg's product review and enter to win. * Update: June 2010 Free License Winner Jonathan Tryzbiak.


There are a lot of control vendors in the Silverlight Space, with more coming on at an amazing clip. Telerik has been around since 2002 (Ancient History in .NET Terms!) and has been involved with the Silverlight platform since its very inception. I believe the key factors that distinguish Telerik from other vendors are the very high quality of their control suite offerings (I have used both the Silverlight and the ASP.NET AJAX control suites), and secondly, their almost fanatical attention to product support for developers - currently they have a staff of 220 professionals, over 375,000 searchable forum posts, over 80 monthly blog posts, 90+ Telerik Bloggers, and over 312,000 forum members.

In addition, Telerik has Demos,Sample Applications, Video Tutorials, Webinars, Documentation, a Knowledge Base, a Code Library, and a Telerik Trainer. When I had a minor issue related to installation, the email response was fast and complete.

All these things may not seem to be readily apparent as important when purchasing a control suite, but when you make a commitment to purchase and use a vendor's controls, they sure make a difference. I know this from personal experience when having an issue with another vendor's product - the support was lacking, and when I did get it, the attitude was pretty much "I don't care".

RadControls are built on Microsoft Silverlight and include 40+ UI controls for building rich line-of-business Silverlight applications. These share the same codebase with Telerik WPF controls. The Silverlight controls offer a clean and intuitive API, Expression Blend support, Visual Studio 2010 and SharePoint 2010 support, and powerful theming capabilities that can radically improve your RIA development.

RadControls for Silverlight are natively built on the Silverlight 4 platform, taking advantages of the capabilities of the latest Silverlight version, such as clipboard integration, right-click support, multi-touch support and more. The suite offers a rich environment for developing robust and lightning-fast enterprise applications.

Here is a brief listing of the controls with links to their description page at the Telerik web site:

All of these controls provide support for Visual Studio 2010, offering toolbox support, property browsing and WYSIWYG preview. You can develop in Visual Studio 2010 and style these controls in Expression Blend with ease.

Telerlik utilizes streamlined themes and templates, as well as incorporating virtualized scrolling in the more data-centric controls. They have also engineered an innovative LINQ-based data engine, built-in support for asynchronous databinding, RadCompression module and other techniques that help reduce page loading time and speed up data operations.

All data-bound Telerik Silverlight controls support completely codeless binding to WCF RIA Services. And now that v1.0 of RIA Services is out and feature-complete, that can be a developer's dream, in my opinion.

You can read up on a lot more of these features at the product overview page here.

Among other controls, I was particularly impressed with the MediaPlayer control, which supports creating and loading playlists, set chapters, watch the video in a full-screen mode, completely customize the appearance of the control or integrate the control with RadCoverFlow for a brilliant visual presentation.

Telerik also offers a free Testing Framework that you can use to build unit tests for all your controls. In addtion, controls provide full implementation of the Command pattern, facilitating the building of complex UIs and yet keeping the code simple by using Commands.

To get an idea of the quality of this controls suite for Silverlight 4, have a look at some of these demos on the Telerik site. Another very useful offering is this video on the process of developing a Silverlight app with Telerik RadControls.

Finally, Telerik offers a downloadable "Step By Step Tutorial" that makes learning RadControls easy.

Another great feature is the Telerik RichTextBox Control, which, unlike competitors' editor controls, can be sited in a dockable window and does not depend on the browser in any way. Here is a demo where they have the RichTextBox control emulating MS Word - inside a RadWindow.

Performance

The words "Performant" and "Performance" are highly overused buzz-phrases in programming. But facts tell the real story.

In order to keep performance optimal in their controls, Telerik has incorporated the concepts of UI and Data Virtualization into their more data-centric controls. In the simplest scenario, utilizing this virtualization involves putting elements into a VirtualizingStackPanel, thus gaining the advantage of only having the UI Elements which are visible on screen generated and taking up memory. The VirtualizingStackPanel calculates the number of visible items and works with the ItemContainerGenerator from an ItemsControl to create UI elements only for visible items. This saves a lot of CPU cycles and renders the view much faster.

So, for example, if you had a combo box that contained 10,000 items, only the 15 or so that are visible in the dropdown will be created, the others existing in the dataset but not requiring visual elements.

Telerik has extended this concept to such controls as their RadGridView, RadTreeView, and RadChart controls. Even with virtualization, there is still a problem in that each time a cell moves into view, a new element is created for it, causing a lot of garbage collection. Telerik solves this with Container recycling , in which containers for data items are created once and then re-used as you scroll, group, and sort through data. Instead of the constant back and forth with garbage collection and new elements being created, the RadGrid simply re-uses the elements it has already created, contributing to lightning-fast scrolling and data operations on the client-side.

In the RadTreeView, the root level items are virtualized - allowing for peak performance with large lists, with child nodes being cached for a period of time. Utilizing these techniques allows for RadTreeView to provide seamless performance with large and small datasets, all the while not utilizing any more memory than necessary to get the rich functionality which is included in RadTreeView.

Finally, in the RadChart the Data virtualization approach leads to significant performance gains, even when working with a million records. The technique is that not all the data is actually shown on the screen – it is summarized. RadChart achieves this using a technique called Sampling. The control splits the data into groups and aggregates each group using one of the many provided sampling functions -- and you can even write your own. The end result is a graph that summarizes the real data close enough while performing dramatically faster than competing controls.

To see these performance enhancing techniques in action for yourself, visit their demo page here. Watching a grid control handle 50 Million cells in real time is pretty impressive.

DataBinding

WCF Services
Using a WCF service gives you control over sending data back and forth to the client through operations which you define. Easily tie the .ItemsSource of a RadControl to the resulting data set from an operation or use it in complex operations before handling it in your application.

ADO.Net Data Services
Useful when working with the Entity Framework, ADO.Net Data Services helps utilize http requests to send and receive data between the client and server.

WCF RIA Services
Telerik has been keeping up with the latest versions of WCF RIA Services. Utilizing WCF RIA Services, you can quickly and easily design a data layer, complete with metadata and validation, that maintains the object model between the server and client and allows for easy data manipulation.

WCF RIA Services has matured in Visual Studio 2010 and Silverlight 4. With RIA Services you get:

Completely codeless binding
Simple access to server-side data
Validation support on the client and on the server
Patterns for dealing with common Line of Business scenarios
Automatic data paging by using the pager control
Easy re-use of the ASP.NET Membership and Role Providers
Faster server-side sorting, filtering and paging for all data

All data-bound Telerik Silverlight controls support binding to WCF RIA Services via DomainDataSource. With completely codeless binding, it takes almost no extra effort to bind RadControls for Silverlight to RIA Services.

The control that benefits the most from using WCF RIA Services is RadGridView for Silverlight, which now can handle an enormous amount of records server-side in no time. All data operations are executed on the server, which results in faster sorting, filtering and paging. Telerik Silverlight Grid can be directly bound to a RIA Service through its ItemSource property, or to a Silverlight DomainDataSource contol. Either way, no coding is required, as both approaches allow you to declaratively set the RIA Service.

All Telerik Silverlight input controls support metadata-driven validation via data annotations. You can use RadControls for Silverlight with the Validation Summary class, and all input controls implement the automatic validation UI provided by the platform. Server-side validation attributes are also supported.

A developer license for the RAD Controls for Silverlight suite is $999.00, and includes unlimited deployments, full redistribution rights, the support package, major version updates, and source code.

If you're serious about developing really professional Silverlight LOB applications that look great and perform well, this control suite is an investment that is well worth the money. The controls are a pleasure to use, the documentation and samples are great, and the support is top-notch.


By Peter Bromberg   Popularity  (10769 Views)