SmartClient/SmartGWT Product Overview

Both SmartClient and SmartGWT come in three editions:
LGPL Edition
Best for: Open source projects & hobbyists
License: LGPLv3 open source license (free for commercial and non-commercial development and deployment)

Professional Edition
Best for: Professional developers building simpler workgroup applications, and micro-ISVs
License: Per-developer, with unlimited deployment

Enterprise Edition
Best for: Complex, mission-critical or enterprise-wide applications, and enterprise ISVs
License: Either per-developer with unlimited deployment, or per-CPU or flat rate
In the Feature Comparison below, click on feature names for a quick description and links to live examples and documentation.

Feature LGPL Pro Enterprise
Client Features
Grids, Trees, Tiles
Layouts, Windows, Sections, Tabs
Forms & Form Controls
Buttons, Menus & Dialogs
Calendar
Adaptive Filtering
Drag and Drop
DataSources & Data binding
Client-side Validation
REST / WSDL support
Skinning / Branding
Printing Support
Server Features
Server Data Binding -
Server Validation -
Java / JS Reflection -
SQL Connector -
Hibernate Connector -
Queuing -
HTTP Proxying -
XPath Java Binding -
File Upload &
Binary Storage
-
Excel Export -
Visual Builder -
Advanced Search (SQL/Hibernate) - -
SQL / HQL Templating - -
Transaction Chaining - -
Batch DataSource Generator - -
Batch Uploader - -
Indemnity, Warranty,
custom terms
- -
Visual Builder Team License - -
Network Performance Module - -
Analytics Module - - (Optional)
Real-time Messaging Module - - (Optional)
Visual Builder OEM License - - (Optional)
Pricing: Free $745 per developer
(plus bulk discounts)
Choose: Per Developer
or Per CPU
or Flat Rate
Download Now
1 Pro License
$745
Buy Now
4 Pro Licenses
$2740
(8% off)
Buy Now
10 Pro Licenses
$6550
(12% off)
Buy Now
Free, Full-featured
60 day trial
Download Now
Free, Full-featured
60 day trial
Download Trial Now


Ready to buy?
Get Quote


For more information on licensing options, see the Product & Licensing FAQ.

Feature Descriptions (and samples)

The following brief feature descriptions describe the features in the table above, and provide links to live examples and documentation.

Client Features (Summary): SmartClient LGPL and SmartGWT include all in-browser components, including all UI components and all client-side databinding systems, with the sole exception of the UI components involved in the Analytics module (CubeGrid and Chart) and communications code designed specifically for interactions with the SmartClient Server Framework. A complete system ready for binding with any REST or WSDL services or with GWT-RPC.

Server Features (Summary): Server features are based on the SmartClient Java Server Framework, a set of standard Java .jars, servlets, jsp tags, tools and other resources that work with any standard J2SE or J2EE servlet engine or application server and with any standard Java IDE. The SmartClient Server Framework can be installed into existing projects and is compatible with popular Java frameworks such as Struts or Spring.

Adaptive Filter & Sort: Combines large dataset handling with adaptive use of client-side filtering and sorting: to handle datasets that are too large to download completely in advance, filtering and sorting initially take place on the server. When all matching records have been loaded client-side, SmartClient automatically & transparently switches to client-side filtering and sorting. This provides immediate responsiveness and dramatically reduced server load. Works with any server platform; Java Servers with SmartClient Pro or better have built-in support for server-side filtering for SQL and Hibernate. (Adaptive Filtering example: SmartClient, SmartGWT) (Adaptive Sort example: SmartClient, SmartGWT)

Server Data Binding: Provides a simple Java API for handling requests for data from SmartClient visual components. Greatly accelerates integration with Java-based servers as compared to building REST or WSDL services for SmartClient components to consume. Client-to-server communications are handled automatically and transparently via a high speed, compressed protocol. Sophisticated client-server protocol handles data paging, server-side sort, automatic cache updates, validation and other error handling, optimistic concurrency (aka long transactions) and binary file uploads. Requests can be routed to Java classes via simple XML declarations, and required parameters to the method are fulfilled automatically, similar to Spring's "dependency injection". (DMI example: SmartClient, SmartGWT)

Server Validation: Both client and server validation are driven from a single XML declaration, with a built-in set of validators similar to XML Schema or JPA restrictions. Custom validators can be added. (SmartClient example) (SmartGWT example)

Java / JS Reflection: Any Java object can be delivered to the browser as a JavaScript object and vice versa. Intelligent 2-way translation handles arbitrarily nested object graphs and automatically handles Java Enums and Generics. (Saving nested objects example: SmartClient, SmartGWT)

SQL Connector: A Wizard enables a DataSource to be generated from existing SQL tables, or SQL tables generated from a DataSource. In both cases, the DataSource is capable of performing all CRUD operations (create, retrieve, update, delete), including query-by-example search, without the need to write any server code. Java business logic may be added to modify requests before SQL is executed, modify responses, or take any other action. (SQL Connector in action: SmartClient example, SmartGWT example) (example: SQL Wizard screenshots)

Hibernate Connector: A Wizard enables a DataSource to be generated from an existing Hibernate bean, or a beanless Hibernate configuration can be generated from a DataSource. In both cases, the DataSource is capable of performing all CRUD operations (create, retrieve, update, delete), including query-by-example search, without the need to write any server code. Java business logic may be added to modify requests before they are passed to Hibernate, modify responses, or take any other action. (Hibernate Connector in action: SmartClient example, SmartGWT example) (example: Hibernate Wizard screenshots)

Queuing: Queuing allows multiple data load or save requests from different UI components to be transparently combined into a single HTTP request with guaranteed in-order execution. Queuing makes it easy to reuse data operations across different screens and in different combinations without needing to write screen-specific code to combine operations together. Queuing also makes it simple to define transaction boundaries when data in different UI components need to be saved together. (examples)

HTTP Proxying: The HTTP Proxy allows an application to access to web services hosted on remote servers, which are normally inaccessible to web applications due to the same origin policy. Once installed, the HTTP Proxy provides transparent proxying of requests without further configuration (public sites may wish to whitelist specific services that may be accessed via proxy, for security reasons). (example)

XPath Java Binding: DataSources can extract specific fields from complex nested object graphs via XPath expressions. Binding is bi-directional (works for loading and saving data). Eliminates the need to build and manage separate DTOs (Data Transfer Objects) to hold the data that is exposed to the UI.

File Upload & Binary Storage: Single and multiple file uploads can be handled as normal DataSource operation, including normal handling of validation errors. Optional automatic storage to SQL (no server code required).

Excel Export: Allows any grid component to export its current dataset as CSV (comma separated values), for download or viewing in Microsoft Excel and other tools, without the need to write any server code. Exported data respects the user's current column order, sort direction, search criteria, and shown vs hidden fields. Works with any DataSource type (Hibernate, SQL, custom). (SmartClient example) (SmartGWT example)

Visual Builder: A drag and drop screen design tool that allows codeless creation of applications, complete with event handling and data connectivity. Learn more..

Advanced Search: Complex search assembled via the FilterBuilder component can be executed against with SQL or Hibernate without the need to write any code. (SmartClient example) (SmartGWT example)

SQL/HQL Templating: Allows the SQL or HQL queries automatically generated by the SQL and Hibernate connectors to be easily customized directly in the DataSource definition, by overriding specific clauses from the automatically generated query, without the need to Java code. SQL Templating makes it trivial to use SQL joins while retaining built-in features like advanced search (SmartClient example) (SmartGWT example). Even complex reporting queries can still leverage search, data paging, and other built-in features (SmartClient example) (SmartGWT example).

Batch Uploader: An end user interface for batch upload of data as a pre-built, customizable component. User can upload data, have it validated, make corrections, and save the data to a target DataSource. Supports a variety of upload formats and any data store that can be connected to SmartClient.

Visual Builder Team License: Allows use of Visual Builder within an organization as a central design and development hub on a shared server, where users can collorate on a shared design by simply emailing a URL. Visual Builder eliminates waste and duplication in the design process: instead of the throw-away "wireframes" produced by typical design tools, prototypes built in Visual Builder are real applications, ready to deploy or to customize further inside traditional development tools. Learn more..

Indemnity, Warranty, custom terms: (Not strictly a feature) Enterprise licenses come with the legal protections typically required by large enterprises for risk management reasons. Exact terms can be modified to suit your organization's legal requirements.

Network Performance Module: A set of services designed for enhanced delivery of SmartClient applications in WAN, internet and extranet environments, including:

  • Background download of the SmartClient runtime and application resources while users are interacting with a login/registration page, splash screen or other non-SmartClient content
  • Automatic compressed delivery of all of compressable content, including browser-specific workarounds where required.
  • On-the-fly JavaScript stripping, combining and obfuscation driven from XML configuration.
Documentation

Analytics Module: Specialized components for viewing, navigating and editing very large, multi-dimensional data sets (also known as data cubes) for business intelligence, analytics and reporting applications. (example:Basic Cube) (example:Cube load on demand) (example:Cube with charting)

Real-time Messaging Module: Real-time data delivery via HTTP streaming (aka "Comet") for monitoring, command & control, trading desk and real-time collaboration applications involving time-sensitive, continuously updated data. SmartClient Messaging supports data delivery rates sufficient for continuous full-screen refresh and works through firewalls, HTTP proxies and other intervening network devices that can cause issues with other HTTP Streaming / Comet implementations. Supports codeless integration with JMS (Java Message Service) and a custom connector architecture for other message sources.

Visual Builder OEM License: Allows a software vendor to ship Visual Builder or parts of Visual Builder as a customization interface for a SmartClient-based product. The underlying components of Visual Builder can be quickly assembled into a variety of customization interfaces that allow your customers to edit specific properties or specific areas of your application. SmartClient branding, terminology and documentation can be suppressed or replaced so that you can deliver tools that seemlessly fit your application and use terminology familiar to your users. Learn more..



Products
0
Download
0
Documentation
0
Demos
0
License
0
Feedback

Some of our customers:
Customer logos
From the community:
"SmartClient is an amazing tool and I rank its selection near the top of the list for reasons why Alpha Theory is headed for success."

    Dave Huffman
    CTO
    Alpha Theory


©2008 Isomorphic Software   ·   Terms of use