Introduction
The DotNetNuke Client API is composed of both server-side and client-side code that works together to enable a simple and reliable interface for the developer to provide a rich client-side experience. The following diagram outlines the current consumers utilizing the DotNetNuke ClientAPI, along with the intended consumers of this functionality in the future.

Goals
- Provide a consistent means of communicating information between the client-side script and server-side code.
- Allow for functionality to easily be turned off and resort to the less-efficient way of responding to client-side events- post-backs.
- Provide a uniform, cross-browser API that the developer can program against to provide a rich UI. This includes but is not limited to accessing the Document Object Model (DOM), Dynamic HTML (DHTML), eXtensible Markup Language (XML).
- Allow for the API to be enhanced and extended by both the DNN Core Team members and Third Party developers.
- Provide ability to easily create Unit Tests to assist in development, testing, and troubleshooting of the API. The tests should be easy to copy to any platform (windows, linux, Mac, etc.) and run, providing output that can then be sent to the developer for troubleshooting.