ComponentArt Web.UI 2007.1 for ASP.NET AJAX
How Suite It Is
October 30, 2009
asp:review
ComponentArt Web.UI 2007.1 for ASP.NET AJAX
How Suite It Is
By David Mack
Everyone wants to enhance the user experience of their Website ComponentArt Web.UI 2007.1 for ASP.NET AJAX can definitely help you dojust that. This suite of user interface controls provides the flexibility tobuild responsive client-side interfaces. ComponentArt has developed in WebUI whatthey call the AJAX Component Model, which eliminates most of the postbacks orcallbacks required in typical ASP.NET programming. The suite also works withthe existing AJAX technologies,such as UpdatePanel. Using different paradigms, the component model andUpdatePanel both provide ways to eliminate postbacks. Some of the suite s controlsinclude: menu, grid, dialog, tree, calendar, tab strip, and navigation. Thereare others, but these were the controls I exercised for this review (with themain focus being on the menu, grid, and dialog controls).
Getting Started
The installation was simple and easy to complete. When youpurchase a copy you get access to a license manager that will generate yourkey. This is important, because you ll need that key when you deploy your Web site.If you have your own server, you have more flexibility over how you deploy theWebUI controls. You can install WebUI on your server or you can deploy thelicense file. If your site is on a shared server you must deploy a licensefile. Trial-version installations don t get the full suite source code, but youdo if you purchase the software. If you get a trial copy, WebUI makes it easyto upgrade to a full-licensed version.
The first thing I do when looking at new software is checkhow well the software is documented. ComponentArt did an incredible job ofdocumenting this suite of controls. There are helpful examples, several codewalkthroughs, and live demos to help you understand the tools. The thing thatimpressed me was how well the documentation was organized. I was able toquickly drill down to what I was looking for, with little effort. I was alsoimpressed with how much online support there appeared to be for the suite; browsingthe community forums showed regular interaction between the customers and ComponentArtstaff.
Digging In
All the controls have a client-side API, as well as aserver-side API. This allows you to not only render the control on the client,but also programmatically change it. How you change it and when you change itis totally up to you; it can be done in PageLoad events or when a user pressesa button.
I started with the menu control. Using the WebUI client-sideAPI, I was able to programmatically create a fully functional menu. The client-sideAPI was well documented and easy to understand. I was able to create dynamicmenus based on which buttons were pressed on my user interface and nopostbacks or callbacks were taking place. The client-rendering was smooth, withimmediate refreshing. It was quickly evident how the menu functionality alonecould enhance the user experience. One thing I do want to point out, however: Whenyou drag and drop a WebUI control onto a Web form, it s not like dropping a server-sidecontrol. A server-side control comes with a default style, and you can use thesmart tag to adjust how it appears. You don t get that with the WebUI controls.Instead, it relies on CSS for how the controls are displayed so if you aren tfamiliar with CSS, I recommend a tutorial or two before you start to use thisproduct.
I used the grid control next because it s commonly used onWeb forms and I wanted to see what WebUI had done to enhance it. I wasn tdisappointed. The nice thing about the grid control is it allowed me to run inthree different modes: callback, client side, and server side. The callbackmode is ideal when you have a large number of records. The data is onlyrefreshed while paging, and anything that is static is not re-rendered. Icreated a single-table database with 250K records. Then I programmaticallycreated a grid control on a Web form to load the database. When I browsed thedata, the data refreshed nicely and there wasn t any noticeable flickering. Ialso tried the grid control in client mode . Client mode is optimized forclient-side paging, filtering, and sorting. You don t have the postbacks withthis method, but be careful how much data you load using this method. Thedocumentation warns you about performance degradation when you return a recordset larger than 5000. I first noticed slower rendering when I returned a 5800-rowdataset. I was able to programmatically change the grid based on which eventswere raised, permissions of the user login, and which rows were returned in thedataset. Any changes to the grid persisted until I generated a postback withthe server. That s the case with most of the WebUI controls, but not all (forexample, the dialog control, discussed below). Also remember that you can usethe grid control, but to make it look appealing, you need to be familiar withCSS.
Figure 1: The WebUI grid control inaction. No screenshot can illustrate how responsive it truly is.
The last control I used was the new dialog control that ComponentArtjust released. I immediately saw a lot of applications for this control. Imaginebeing able to create a dialog box and change its content on the fly without apostback. I was able to programmatically create a dialog box based on a userrole, and control where it was displayed and what was displayed. It was alldone on the client side, so the performance was excellent. One thing to note onthe dialog control is if you create a client-side dialog box, it doesn tpersist data to the server. You can easily set the results and get the resultsby a simple function call, which is stored in a JavaScript object.
If you have to support older browsers and you don t wantthe controls rendered on the client, it s possible to do so with a particularcontrol or the entire suite. That s one of the things that appealed to me; thatis, how much you can customize the way the controls are used.
The suite of tools is search-engine-friendly. I was ableto verify this by using the suite on a page on my e-commerce site that isregularly indexed by Google. I created a grid control with dummy data in it toverify it was truly being indexed it showed up in the Google index for mysite within a week. The WebUI suite also has good cross-browser support anddisplayed consistently in my testing, regardless of the browser.
There are two other versions of this suite: one forASP.NET 1.0 and one for ASP.NET 2.0 (when you buy a subscription license youget access to all three versions). The version for ASP.NET 1.0 isn t aspowerful in functionality as the ASP.NET 2.0 version or the AJAXversion. The ASP.NET 2.0 version should not be confused with the ASP.NET AJAX version,which is the most powerful. The ASP.NET AJAX version does require you to have AJAXinstalled; if you re deploying your site to a shared hosting environment, makesure they have AJAX installed.
Bottom Line
ComponentArt Web.UI 2007.1 for ASP.NET AJAX is a greatsuite of tools; it provides a great deal of functionality and is well worth themoney. It will easily take a few days of playing with the examples and lookingat the documentation to get an idea of what the suite is fully capable ofperforming, but the learning curve isn t too steep.
With the AJAX Component Model I clearly had more controlover my individual pages than with standard ASP.NET. Playing with this suiteconvinced me it s time for me to update my e-commerce site and take advantageof this technology.
David Mack is aSenior Software Engineer for Northrop Grumman-TASC. He has 12 years ofdevelopment experience. He loves classic cars and enjoys a 10 handicap on thegolf course.
Rating:
Web Site: http://www.componentart.com
Price: Subscriptionlicense, US$999
About the Author
You May Also Like