To compare RadDock and Webparts, I did some research and I found few points that can help you make a decision as to which control to use. Both provide your user's a personalized experience. Below are my findings.
Features of Webparts and RadDock
WebParts provide the following features out of the box:
- Adding new WebParts to the page
- Editing the content of a WebPart
- Binding WebParts
These features are not built-in to the RadDock control but can be easily implemented.
RadDock provides:
- [Live] resize functionality
- Rich client-side API
- Animations
- Smooth drag and drop
- Cross-browser compatibility
- 13 built-in Skins
Ease of development
RadDock allows developers to create dynamic pages, the content of which can be
personalized by end users and then the changes are saved and later restored to
the last state.
Built-in features are available to support rapid development and can be
customized as per the requirements. RadDock also has skinning and CSS support.
Save state in cookies for statically created RadDocks.
Dynamically add or delete RadDocks via Ajax and save their state in the session
Microsoft WebParts allows developers to easily create a portal, i.e. they
represent the parts for creating and personalizing page layouts, contributing
content, uploading documents, etc. Webparts has to
be designed from scratch but can be built into a separate DLL and installed in the
GAC to reuse across applications.
The creation of Webpart and adding skin/css requires work from scratch, but provides high level of customization.
Personalization
Available Features:
ASP.NET Webparts allows personalization with two types of control:
Shared control: - An authorized user can personalize both Shared and User
scoped properties on the control for all users. In the case of a dynamic control
(a control that is added to the page programmatically, or from a catalog of
controls), an authorized user can permanently delete it for all users. In the
case of a static control (a control that is declared in the markup of an .aspx
page), it cannot be deleted, although an authorized user can close the control
for all users.
Per-User control: - The control cannot be personalized with the page in the Shared scope, because the control does not even appear on the page. The control
only appears when the page is in the User scope.
RadDock controls are always in shared mode and allow all users to interact with them, but
you can customize them to persist/Not-persist the changes in a layout state as per
the user.
Ease of Customization:
For custom personalization you need to create a custom provider class in ASP.NET WebParts. The WebPartPersonalization class implements the logic necessary to carry
out personalization actions.
Customization of RadDock would be much easier as more focus would be on
logic rather than the look 'n feel. RadDock allows the saving/loading of a layout so there is no
need to create a custom provider.
Pros and Cons:
- The biggest drawback of WebParts is that
it does not open the properties section inside the WebPart. Instead, it
opens in a zone on the main screen.
- An even bigger drawback of WebParts is
that you can't edit the properties while in catalog view. To switch between
the two, you need to do a postback.
- For RadDock there's no need to implement
a provider. Instead it requires customizing the scope and persistence of a user's layout.
- WebParts work only when in admin mode.
- Webparts are using the table layout which in it of itself seems problematic in some cases.
References:
http://demos.telerik.com/aspnet-ajax/dock/examples/myportal/defaultcs.aspx
http://msdn.microsoft.com/en-us/library/z36h8be9.aspx">
http://www.telerik.com/community/forums/aspnet-ajax/docking/comparison-with-the-asp-net-web-part-framework.aspx
http://www.telerik.com/community/forums/aspnet-ajax/docking/comparison-with-the-asp-net-web-part-framework.aspx