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 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 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.
Navigators combine the powerful navigation framework and the sophisticated
array of user interface controls to deliver an unparalleled navigation experience
- matching to those in desktop application or WPF, such as journal-aware frame and
navigation window. Navigators are also tightly integrated to the Silverlight Application
Management Framework (SAF) to control the dynamically loaded applications’ life
cycle.
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.