This chapter introduced you to some of the common problems developers face when trying to produce a web site that offers the best possible experience for end users by utilizing a combination of server-side and client-side code. To offer this capability in a consistent manner, DotNetNuke provides the Client API for developers to limit the learning curve required for this type of functionality. When you're working with the Client API, however, there are a few major points to keep in mind:
The Client API provides a means of communication between the client-side script and the server code yet allows the functionality to be disabled and postbacks to be used as a last resort.
ClientAPICaps.config is a configuration file that allows browser functionality tests to be added and or extended without the need for a recompile.
Client-side callbacks have a lifecycle of their own, which is important to understand with regard to the lifecycle of an ASP.NET page.
DotNetNuke offers its own ASP.NET pre-built web controls that make use of the Client API, thus providing client-side functionality for use in custom modules.
Developers with a minimal understanding of ASP.NET web control development can create custom web controls of their own that make use of the Client API.