Web.UI 3.0: Improve Your Web Site
ComponentArt's Web.UI 3.0 provides a variety of tools that help you bring your Web site to life. Each component includes broad functionality and excellent documentation and sample code.
p> AJAX callbacks are designed to give the strength of server-side functionality with great efficiency. They minimize the amount of communication required between the client and the server to give the user a more responsive environment.
The Menu, TreeView, NavBar, TabStrip, Grid, and Calendar tools are ASP.NET implementations of old friends. Web.UI provides full-featured implementations of these tools, complete with custom designers, property pages, and solid runtime controls. Web.UI further supports broad client-side and server-side capabilities. The client-side functions use scripts to give your forms basic operations, such as the ability to change components, color, visibility, and content. Note that the components themselves provide an interactive feel through their properties. On the menu, for example, these properties control whether a menu is expanded when the user's mouse hovers or whether a click is required. Server-side functions support more sophisticated interactions through postbacks and server-side events.
Web.UI's other components are more Web-oriented. MultiPage, for instance, supports loading a series of pages that you can move on the client side without requiring callbacks to the server. SiteMap provides a tool for presenting a Web site map to users in a variety of layouts. In addition to full-page layouts, it also offers a drop-down format that you could easily fit on a page that performs other functions.
Rotator provides functionality similar to a stock ticker or slide show in a variety of formats. Snap allows you to add docking areas, complete with drag and drop, to your pages. Callback acts as a wrapper for other ASP.NET content, allowing other client-side controls to utilize the efficiency of AJAX callbacks.
ComponentArt provides a wide variety of documentation and sample code for Web.UI, as well as a live tutorial that does an excellent job of demonstrating all of Web.UI's capabilities. ComponentArt's support staff is responsive and knowledgeable.
Deployment of Web.UI does require some simple manual steps that are well documented. I would like to see ComponentArt develop a wizard to walk you through deployment, though this is not a major burden.
Note that you can purchase each tool separately, which ranges from $99 to $399. Snap is available for free. Purchase of the package allows you to use the product on your company's Web sites. Resale of the components packaged into products requires a more expensive license.
Web.UI gives you a great deal of control over the look and feel of your product. The client-side features allow you to develop responsive and scalable functionality.
Web.UI 3.0 for ASP.NET
Quick Facts: GUI tools for ASP.NET.
Pros: Eight full-featured navigation and presentation tools that you can use to create highly interactive Web pages.
Cons: An installation wizard would be a good addition to Web.UI.
Convert C# to VB
by Ken Cox
Instant VB converts your C# source code into VB. The bare-bones user interface lets you navigate to the C# project you want to convert, to a directory of projects, or to a text area where you can paste in C# snippets (see Figure 1). The downloadable software comes as a single .NET executable inside a ZIP file. There is no installer, so you need to copy the executable to a directory and create your own shortcuts.
The converter works well when fed straightforward C# code with fairly standard formatting. Simply paste a function into the snippet converter, and get back usable, understandable VB.
Notes are embedded comments that provide the original line of code and a brief explanation about what was done, such as "This 'for' loop was translated to a VB 'Do While' loop." To-do tasks (spelled TODO in the code) mark sections that require developer intervention, such as instances where VB.NET has "no equivalent" syntax to C#. Instant VB deals with the difference in case-sensitivity between C# and VB by tacking a "_Renamed" suffix on some variables.
For a real challenge, I pointed Instant VB at the C# source code for a sophisticated 3-D rendering engine. The tool produced a Visual Studio project file and a set of VB classes to parallel the C# version. It reported the conversion of 4,855 lines in two seconds with 83 notes and 38 to-do tasks. At 38 to-do tasks, the translator seriously underreported the number of trouble spots, leaving syntax errors of its own. When I alerted Tangible's support (anonymously) and provided samples, they replied promptly and posted a bug-fix build overnight. The fix handled jagged string arrays and do/while loops containing an end-of-line commentthe cause of many errors. However, check your C# carefully for pointer-oriented code. According to the vendor, it "usually isn't possible" to convert that code to VB.
I'd like to see Instant VB provide an automated feedback mechanism when it can't convert code cleanly. Customers could select a troublesome snippet and post it to a Web service for subsequent analysis and bug fixing. Also, if the conversion tool reports that "assignments within expressions are not supported in VB.NET," it could insert a comment pointing to documentation that helps you understand the issue and perhaps suggests a hack. It also needs a summary report on notes and problems, including filenames and line numbers. As it stands, the best post-conversion reporting tool is Visual Studio's error list.
Instant VB produces a great deal of acceptable, well-formatted code at a good clip and offers a fair 15-day money-back guarantee on top of a trial version. Its challenge is to reduce further the percentage of unconverted content and provide more documentation help when manual intervention is necessary.
Tangible Software Solutions
Quick Facts: Converts C# solutions, projects, files, and snippets to VB.NET.
Pros: Converts large amounts of well-formatted code quickly; satisfaction guarantee.
Cons: Doesn't create workarounds for unsupported VB functions; leaves behind syntax errors; insufficient reporting.