ZK Framework

A highly productive open source Java framework for building amazing enterprise web and mobile applications.

Rich Modular UI

200+ UI Components

200+ UI Components

ZK’s 200+ components offer UI designers a variety of feature rich components to meet the demands of enterprise Ajax applications.

For data presentation, ZK offers the Grid, Listbox, and Tree components. All of which have built in paging, auto-sorting, grouping, load-on-demand, data binding support, frozen columns/rows, in-line editing, master detail, among others.

To outline an enterprise grade Ajax user interface, ZK offers a wide range of layout components and component attributes. For instance, a Portal Layout with drag-and-drop portal containers. A Border Layout that divides the page into collapsible and adjustable panels. All of which elevates your static 2D page to higher dimensions.

For professional reporting, ZK has integrated popular third party Ajax components such as JFreeChart, Flash Chart, Fusion Chart, Google Maps, CK Editor, SIMILE Timeline and Timeplots. In addition, the JasperReports component allows users to generate reports in PDF, HTML, XML, DOC, ODT, and XLS formats.

Components such as Captcha, Color-picker, File Uploader, among the vast and versatility ZK components, all play an integral part of what makes ZK a leading enterprise Ajax solution.

Polymorphic Components

Polymorphic Components

Functionalities are made to be shared among all components and controlled using the same set of APIs. For instance, the drag and drop feature is available to all ZK components and its handle is the same manner for all components.

ZK makes the behavior of components predictable so developers can easily learn and use to piece together sophisticated enterprise grade user interface.

bootstrap

ZK & Bootstrap is the perfect combination

ZK's theme engine is based on Bootstrap providing developers with the ability to rapidly create their own themes using CSS 3.

Not only can developer's create their own themes but it is also possible to integrate ZK with Bootstrap's already existing themes. Giving the ultimate power and flexibility to the developer.

Design and development teams have a much easier job spending less time to create great looking and high performing applications utilizing Bootstrap built on the latest technologies such as HTML 5 and CSS3.

Recursive Component Composition

Recursive Component Composition

ZK components are LEGO-like building blocks; this characteristic enables UI designers to tackle all sorts of UI requirements with the right combination of components and some imagination.

Furthermore, component composition can be made recursively. For instance, a Grid can be put into another Grid recursively to generate a hierarchical data representation. For another, text boxes can be placed in a List box to make in-place editing possible. This ability to piece together UI components freely makes ZK components incredibly versatile and extensible.

Multiple Presentations

Multiple Presentations

ZK allows a component to be fitted with various sets of DOM structures and behaviors, while its handle and APIs stay the same. Developers can use the same component for different visual representations and change the UI without modifying the application code.

For instance, a Grid can rendered as is, or with paging at top and/or bottom. Tabbox, Listbox, and Window are the few among many others that offers multiple representations.



ZK Spreadsheet

An embeddable Ajax spreadsheet component that allows online collaboration among multiple users.

It's empowered with advance spreadsheet functionalities such as 3-D Cell Referencing, user defined functions, sorting, filtering, hundreds of built in formula functions, among numerous others.

ZK Calendar

ZK Calendar is an Ajax scheduling component readily embeddable into any Java web application.

ZK Calendar offers functionalities such as filtering, detailed scheduling, multiple time zones, and daily/weekly/monthly views. Properties such as format and style can be easily configured by setting the calendar component's attributes.