Products

Feature Comparison by Edition.

Choose the edition that's right for you

LGPL

Best for:

open source projects & hobbyists

License:

LGPLv3 open source license (free for commercial and non-commercial development and deployment)

PRO

Best for:

professional developers building simpler workgroup applications, and micro-ISVs

License:

Per-developer, with unlimited deployment

POWER

Best for:

highly skilled teams able to take advantage of advanced productivity features

License:

Per-developer, with unlimited deployment

(Optional)

(Optional)

ENTERPRISE

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

(Optional)

(Optional)

LGPL

FREE

Free LGPL
License

Using LGPL Now?

Find out the benefits of upgrading. Add major features without reworking existing code.

PRO

$745

/ Developer (less in bulk)

Free Trial

Full-featured 60 days

1 PRO License

$745

4 PRO Licenses

$2741 (8% OFF)

10 PRO Licenses

$6556 (12% OFF)

POWER

$1950

/ Developer (less in bulk)

Free Trial

Full-featured 60 days

1 POWER License

$1950

4 POWER Licenses

$7176 (8% OFF)

10 POWER Licenses

$17160 (12% OFF)

ENTERPRISE

$2500*

/ Developer (less in bulk)

Free Trial

Full-featured 60 days

1 Enterprise License

$2500

4 Enterprise Licenses

$9,200 (8% off)

10 Enterprise Licenses

$22,000

Have Questions?

Feature Descriptions and Samples

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

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, JPA, and Hibernate. (Adaptive Filtering examples: SmartClientSmartGWT. Adaptive Sort examples: SmartClientSmartGWT.)

 UI components support a “pluggable” data model that provides both a description of the data (fields, types, validation rules, etc) and operations to fetch and modify data. This “pluggable” data model approach means user interfaces can be re-used with any data provider without change. Screen designs such as master-detail navigation can be easily captured as custom components that are then usable with any data model — you can even swap the data model on the fly. (Examples: SmartClientSmartGWT.)

Cross-browser vector graphics engine, without browser plugins, with full drag and drop support and interoperability with other SmartClient components. (Examples: SmartClientSmartGWT.)

Provides a simple Java API for handling requests for data from SmartClient visual components. Automatically parses complex nested search criteria, multi-level sorts, batch requests (multiple operations in one request), binary uploads, optimistic concurrency information (for “long transactions”) and other data into a Java request object with clean OO APIs. Can filter response data without the need for separate DTOs (Data Transfer Objects). This avoids hand-written code for request/response handling, which cannot reasonably be generated by eg JAX-B – see FAQ

Requests can be routed to Java classes via simple XML declarations, with a simple architecture for creating custom data connectors which are reusable across different entities. Can intelligently populate Java beans with validated request data, including automatic handling for nested objects, Enums and Generics, and optional XPath-based mapping between request/response data and Java structures.


(Examples: XML routing of requests to methods: SmartClientSmartGWT. Custom data connectors: SmartClientSmartGWT. Reusable custom data connectors: SmartClientSmartGWT. Populating nested objects: SmartClientSmartGWT. XPath-based structure mapping: SmartClientSmartGWT.)

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. (Examples: SmartClientSmartGWT.) Custom client and server-side validators can be added, and a powerful expression language can turn complex cross-object validations into one-line declarations. (Examples: SmartClientSmartGWT.) Server contact is automatically managed for validators that require it. (Examples: SmartClientSmartGWT.)

Automatic generation of grid, form, detail and tiled views from Java Beans or SQL tables. Unlike “scaffolding” approaches that leave you maintaining generated code, generation is dynamic, and you can customize any detail of the generated components without losing automatic generation. Without this capability, every screen of your application duplicates the information you already have in your server data model, leading to highly redundant, brittle applications. See the QuickStart Guide, Server Framework Chapter, first section.

Component XML is a format for specifying UI components declaratively in XML. Using Component XML, you can separate the layout of your application from its business logic, so that less technical users can edit the layout while Java developers implement business logic.
Components and layouts defined in Component XML can be freely intermixed with programmatically created components.
Since Component XML can be interpreted at runtime, you can store modifiable Component XML screen definitions in a database, or even generate Component XML on the fly from metadata. (Examples: SmartClientSmartGWT)
Screens created with Reify are created in Component XML and can be easily loaded into an existing SmartClient project.

Attach role-based security declaratively to DataSource operations. UI components are security-aware and automatically disable UI for disallowed functions. Zero code integration with J2EE Security, Spring Security, or JAAS. Documentation can be found here and here. Also available as a preview for Enterprise Edition is a pre-built login process and user administration interface. To begin using this functionality now, take advantage of the Jump Start program to receive training and starter code.

Excel Export allows any grid component to export to a spreadsheet or CSV file without writing any server code. Exported data respects column order, sort, search criteria, shown vs. hidden fields, data types (e.g. dates) and hiliting rules. Works with any DataSource type: SQL, JPA, Hibernate, or custom. (Examples: SmartClientSmartGWT.)
PDF Export facilitates the export of any screen or set of widgets as a .pdf without the need to write any server code, with just a single API call (RPCManager.exportContent(widget)). Even works with charts, or with a mixture of widgets and charts. As with other export features, custom server code can take exported PDFs and attach them to emails, save them to databases, or forward them to other systems (Examples: SmartClientSmartGWT.)
Chart Export, our HTML5 charts, and other widgets based on DrawPane can be exported to PNG & other formats. Charts also support PDF export, so you can export a grid full of data and corresponding chart to the same PDF.(PNG examples: SmartClientSmartGWT. PDF examples: SmartClientSmartGWT.)

 A one-line declaration enables all CRUD operations (create, retrieve, update, delete) against any SQL table, SQL View, JPA entity or Hibernate entity. No server code is required. Java business logic may be added to modify requests before they are executed by the connector, modify responses, or take any other action. For an overview, see the QuickStart Guide, Server Framework Chapter. Note: Basic connectors enable query-by-example search; for Advanced Search, purchase Power Edition or better.

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: SmartClientSmartGWT.)

Reify takes mockups from Balsamiq and turns them into working screens backed by clean, clear code that is easy to extend and customize. Instead of having developers painstakingly re-create the layout shown in a mockup, just use Reify to import it – a much more efficient development process.

Single and multiple file uploads can be handled as normal DataSource operation, including normal handling of validation errors. Optional automatic storage to SQL, Hibernate or JPA (no server code required). (example)

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. (Examples: SmartClientSmartGWT.)

 Reify is a Low Code, collaborative, visual screen design tool that can be used by non-programmers, such as business analysts or product managers.

Reify screens are simply Component XML, so they can be easily integrated into any SmartClient or SmartGWT application. We call this Hybrid Development, and it means that the simpler parts of your application can be built and maintained inside of a visual tool, while the most complicated parts can still be coded in an IDE by developers. This provides a huge productivity boost for your whole team and also means that developers can focus on the more interesting problems instead of the drudge work of building screens from mockups created by business analysts – now the “mockups” are the real screen!
Take a look at samples of Reify Integration (SmartClient | SmartGWT), or read about how Reify works for Developers (SmartClient | SmartGWT)

You can also run your own private Reify server behind your firewall – this is called Reify OnSite (SmartClient | SmartGWT). With Reify OnSite, your data and designs never leave your premises, and you can customize the Reify interface itself – it’s just a component! – by adding custom data connectors, custom components, or even new capabilities Reify design environment!

Get high-quality charts pre-integrated with Smart GWT components. Our HTML5-based charting engine works in all supported browsers, including Internet Explorer and mobile browsers, with no plug-ins required and no requirement to write browser-specific code. (Examples: SmartClientSmartGWT.) Note: prior to Smart GWT 3.0, the HTML5 Charts feature required Power Edition + Analytics. In Smart GWT 3.0 and onward, only Pro Edition is required.

Every grid you create automatically has the ability for users to save & reapply stored grid configurations, inclusive of criteria, visible columns & sizes, sort direction, and user-created columns. Saved Searches are automatically stored via HTML5 browser capabilities, or can alternatively be stored to any DataSource, which then enables application administrators to pre-define searches that will appear for end users.

Complex searches assembled via the FilterBuilder component can be executed against SQL, JPA, or Hibernate without the need to write any code. (SmartClient example) (Smart GWT example)
Declarative aggregation allows server-side grouping and summarization to be performed, including defining DataSource fields as aggregations of data in related DataSources. (Documentation: SmartGWTSmartClient)

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 write Java code. SQL Templating makes it trivial to use SQL joins while retaining built-in features like advanced search (SmartClientSmartGWT examples). Even complex reporting queries can still leverage search, data paging, and other built-in features (SmartClientSmartGWT examples).

When using SQL and Hibernate connectors, any batch of save operations submitted to the server is automatically combined into a database transaction. Since UI interactions such as Mass Update and Multi-Row Drag and Drop automatically submit a batch of save operations to the server, these and many other UI operations are automatically transactional in Power Edition and above.

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. (Examples: SmartClient; SmartGWT.)

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 compressible content, including browser-specific workarounds where required.
  • On-the-fly JavaScript stripping, combining and obfuscation driven from XML configuration.
  • Network Performance Module Documentation

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. (Basic CubeGrid samples: SmartClientSmartGWT. CubeGrid samples with load on demand and charting: SmartClientSmartGWT.)

 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. (Examples: SmartClientSmartGWT.)

(Optional) features are available for purchase at an additional cost. The Analytics Module and Real-Time Messaging Module are only available as paid additions to Power and above licenses and cost $500 each per developer.

Enables you to build interfaces in which a set of UI components can be edited by end users, saved and later restored.
This includes interfaces such as:

  • Dashboards: where a library of possible widgets can be created & configured, arranged into freehand or portal-style layouts, then stored for future use and shared with other users
  • Diagramming & Flowchart tools: tools similar to Visio™ which allow users to use shapes and connectors to create a flowchart or diagram
  • Form Builders & Development Tools: tools which enable end users to create new forms or entirely new screens and add them to the application on the fly

(Dashboards & Tools examples: SmartClientSmartGWT)
For more complete, more advanced options take a look at Reify EmbeddedReify Embedded enables you to easily make any of your applications visually extensible.

Enables any DataSource to capture a log of all changes made to its Records, include the time of the change and the user that made the change. Changes are captured to a second DataSource that can be hand-specified or automatically generated.
Because audit data is kept in a DataSource, it’s simple to build a UI for viewing and searching audit data.
(Examples: SmartClientSmartGWT)

(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.

A supported tool, with source code included, that can produce SmartClient DataSource definitions automatically from database metadata, Hibernate mappings and Javabeans. This tool uses the same technology as the SQL Wizard and Hibernate Wizard, and is specifically designed to be easily extensible to suit your own needs.

Course Description

Introduction to Smart GWT

This 3 days course provides a thorough introduction to using Smart GWT. The course outline is shown directly below. For a detailed agenda, click the View Smart GWT Detailed Agenda link underneath.

Student feedback

“The training was excellent… we were in awe of Paul’s technical ability, he just seems to know everything.”

- Northrup Grumman

The “Intro to Smart GWT” is held from 9am-5pm PST on 3 days: Thursday 13th, Friday 14th and Monday 17th. Although this schedule may best accommodate US participants, we welcome attendees from all timezones. The schedule includes no-class days to allowing personal time to try out what you have learned, and be able to ask more informed questions on the final day.

Course Description

Introduction to SmartClient

This 3 days course provides a thorough introduction to using SmartClient. The course outline is shown directly below. For a detailed agenda, click the View SmartClient Detailed Agenda link underneath.

Student feedback

“The training was excellent… we were in awe of Paul’s technical ability, he just seems to know everything.”

- Northrup Grumman

The “Intro to SmartClient” is held from 9am-5pm PST on 3 days: Thursday 16th, Friday 17th and Monday 20th. Although this schedule may best accommodate US participants, we welcome attendees from all timezones. The schedule includes no-class days to allowing personal time to try out what you have learned, and be able to ask more informed questions on the final day.

Course Description

Introduction to Smart GWT

This 3 days course provides a thorough introduction to using Smart GWT. The course outline is shown directly below. For a detailed agenda, click the View Smart GWT Detailed Agenda link underneath.

Student feedback

“The training was excellent… we were in awe of Paul’s technical ability, he just seems to know everything.”

- Northrup Grumman

The “Intro to Smart GWT” is held from 9am-5pm PST on 3 days: Thursday 18th, Friday 19th and Monday 22nd. Although this schedule may best accommodate US participants, we welcome attendees from all timezones. The schedule includes no-class days to allowing personal time to try out what you have learned, and be able to ask more informed questions on the final day.

Course Description

Introduction to SmartClient

This 3 days course provides a thorough introduction to using SmartClient. The course outline is shown directly below. For a detailed agenda, click the View SmartClient Detailed Agenda link underneath.

Student feedback

“The training was excellent… we were in awe of Paul’s technical ability, he just seems to know everything.”

- Northrup Grumman

The “Intro to SmartClient” is held from 9am-5pm PST on 3 days: Thursday 14th, Friday 15th and Monday 18th. Although this schedule may best accommodate US participants, we welcome attendees from all timezones. The schedule includes no-class days to allowing personal time to try out what you have learned, and be able to ask more informed questions on the final day.