The Architecture

Together with hundreds of MVVM-ready controls, ClientUI lets you build amazingly rich applications that target Silverlight and WPF platform more easily and rapidly

ClientUI® is the industry’s first comprehensive toolkit which includes a full set of fundamental libraries, integrated architecture and a multitude of innovative user interface controls to support rich application development for Silverlight and WPF. It features powerful journal-aware navigation framework, composite application framework, commanding and MVVM, fluid drag-drop and much more.

The ClientUI Runtime Architecture

The following chart illustrates the overview of ClientUI® runtime architecture which is mainly composed of five major components and several subsets of frameworks.

ClientUI Architecture

ClientUI Framework is the underlying technology that powers the entire ClientUI components and its infrastructure. In addition to the base libraries, ClientUI Framework also includes various extra classes to resemble those available in WPF, such as Keyboard and Mouse classes, focus manager, keyboard focus manager, input focus scope, and more.

Events and Commanding Framework is one of the missing key features in Silverlight development – now made available in Silverlight through ClientUI. Reinventing the client runtime development, Events and Commanding Framework unlocks the true potential of M-V-VM pattern, enabling you to write your application logic in a separated layer which can be elegantly bound through command and data binding in the view level. The command itself is encapsulated in a centralized public class to allow reusability in the entire application.

Silverlight Application Management Framework (SAF) is an essential framework in ClientUI that enables composite application development in Silverlight, which provides capability to dynamically load an external application (XAP) and inject the content as it is without the need of proxy. Unlike the classic dependency injection, SAF is capable to load any type of content – as long as the provided type is a valid framework element type – without requiring specific attributes or interfaces implementation.

ClientUI Flowchart

ClientUI Application Framework

SAF also includes full-featured application management functions. A dynamically loaded application can be further stored in user’s isolated storage, eliminating the re-download on the next launch.

As seen in the illustrated chart in the right, SAF is capable to check whether a new version of the stored application becomes available, then seamlessly download and install the new version if the user prefers. Application developers can utilize these functionalities by programmatically accessing them through public API exposed in the SAF library.

Navigation Framework

Certain navigators controls, such as UXFrame, include numerous time-saving feature not available in Silverlight. Unlike the default frame that only supports top-level journal navigation button, UXFrame is designed to support unlimited browser’s journal navigation system. Combined with SAF, UXFrame enables virtual path association allowing users to bookmark a specific page or directly type-in the browser address as they would normally do on a HTML-based website.

Rich User Interface Controls

ClientUI provides a vast array of both fundamental and innovative user interface controls to enable rapid line-of-business applications development. Create differentiated and branded user experiences with over 180 presentation controls, ranging from essential input and form controls, buttons, toolbar and menus, grids, to stunning 3D cover flow and desktop-style multiple windowing interface and much more.