The SmartClient platform brings the productivity & performance of desktop applications to standard web browsers

Live Hands on Demo > Free Trial (60 Days) > Editions & Pricing >
The Smartclient Platform comprises SmartClient and Smart GWT: "sister technologies" with a common AJAX / HTML5 runtime. Both provide:
a zero-install AJAX/HTML5 client engine| rich user interface components & services| client-server databinding systems
SmartClient and Smart GWT support the same set of UI components, data binding systems and general APIs, with slight differences to take best advantages of each language's strengths (Java vs JavaScript).
With Smart GWT, you write your code in Java, and via the Google Web Toolkit, this code is translated into JavaScript so that it runs in normal browsers, without plugins.
With SmartClient, you write your application in object-oriented JavaScript.

Technology Fundamentals

Pure Client-Side AJAX

In the SmartClient Platform (which comprises both SmartClient & Smart GWT), all presentation duties, and all HTML generation, takes place in the browser. No HTML generation or presentation duties are handled by the server. Once a SmartClient application has loaded, only data is transmitted between the browser and server.

By minimizing server contact, this architecture boosts responsiveness and scalability far beyond what is possible with server-side architectures such as JSF, ZK or Vaadin. By minimizing the amount of server-side code, the architecture also improves stability and reliability (only server code can crash the application for all users).

Component-Oriented & Cross-Browser Safe

The SmartClient Platform delivers a set of extensible UI components which manage presentation automatically, and provide uniform appearance and behavior on all supported browsers.

Using standard object-oriented approaches, you can extend, customize and create new components without ever learning low-level AJAX techniques or doing cross-browser testing and debugging.

This capability exists both for Smart GWT applications written in Java, and for SmartClient applications written in JavaScript. In JavaScript, SmartClient provides a true class system, enabling clean encapsulation, Java-like inheritance, calls to superclass methods and other standard object-oriented programming features.

Business Application Focused

The Isomorphic SmartClient Platform focuses on business applications as opposed to simple web sites. Where many AJAX toolkits handle principally the display of data, SmartClient focuses on the full data lifecycle: display, edit, save, repeat.

The Platform's core strengths include efficient navigation and editing of large, complex data models, and the productivity features needed by business users.

Our grid component is far and away the most sophisticated available, with out-of-the-box support for inline editing, frozen columns, multi-field sort, grouping-by-value, expandable rows, auto-fitting to data, inline filtering, formula columns, user-defined highlighting rules, export and charting, as well as deep customization APIs in every area of appearance and behavior.

Mobile & Touch Device Support

Applications built with the SmartClient Platform provide support for mobile and touch devices without additional effort, and also allow you to tune your application to best support specific devices.

Because finger taps and gestures arrive as normal mouse events, normal event handling code just works on touch devices - users can even trigger context menus and hovers via touch-and-hold, and drag and drop via finger slides. Device-aware components automatically switch appearance and behavior to mimic typical mobile UIs.

For deeper control, gesture & orientation change events, as well as native functions like phone dialing are all there to let you fully tune the mobile experience.

Supports Incremental Upgrade

The SmartClient Platform's components can be easily embedded in existing applications. Grids, forms, trees, dialogs, wizards and other SmartClient components can be added without making architectural changes.

When embedded in this fashion, our components are fully functional, still capable of drag and drop, dynamic databinding, data paging and adaptive client-side operations.

Model-Driven

The SmartClient Platform enables you to automatically generate a default UI from your server side data model, then customize any part of it without losing auto-generation.

All of the Platform's data-aware components, including grids, forms, detail & tiled views, can be generated directly from standard metadata sources such as Java Beans, SQL Schema or XML Schema.

Without this capability, you need to hand-code every component, and every screen of your application duplicates the information you already have in your server data model, leading to highly redundant, brittle applications.

Any Server Platform

The SmartClient Plaform integrates with any server platform through standards-based approaches such as REST and WSDL web services.

Our Platform also includes a Java integration server for accelerated integration with Java servers, with special support for popular Java frameworks such as JPA, Hibernate and other Java Beans persistence frameworks, Spring, and JDBC.

Offline & Desktop Capable

The SmartClient Platform supports offline and intermittently connected applications, with built-in support for automatic caching of recently accessed data.

Web applications built with the SmartClient Platform can also be delivered as installable desktop applications with elevated priveleges such as local file access via "packaging" technologies like Adobe AIR, Mozilla Prism, and Titanium Desktop.

AJAX MVC Architecture

Going beyond just widgets, our platform provides a model/view/controller architecture within the browser. The SmartClient MVC architecture provides a standardized model for server contact that simplifies AJAX applications and allows developers to quickly learn each other's code. This avoids the "code soup" typical of projects that adopt widgets-only AJAX frameworks, where loading and saving of data is done differently on every screen.

AJAX MVC also provides tremendous performance and scalability benefits. All loading and saving of data is performed by intelligent data manager components, which:

  • cache and reuse loaded data in multiple views without further server contact
  • handle load on demand for high data volume applications
  • adaptively perform operations such as sorting and filtering within the browser
© 2008 and beyond Isomorphic Software. All Rights Reserved