ZimQt Client

Introduction to ZimQt

ZimQt is the new multi-platform thin client for Zim 8.50 applications. ZimQt provides:

the capability of running new and existing Zim 8.50 applications on different platforms:

desktop operating systems: Windows, Mac OS X and Unix;

mobile operating systems: Android and iOS;

improvements for all graphical user interface widgets supported by Zim Thin Client.

a new set of graphical user interface widgets for mobile devices;

 

As it continues to be developed, ZimQt will become the standard client for Zim 8.50 applications.

ZimQt Advantages over Zim Thin Client

ZimQt additional advantages over Zim Thin Client, as described in the list below:

New "Mobile" Widgets

ZimQt offers new widgets that can be used to design graphical user interfaces tailored to mobile devices, such as tablets and cellphones.

Bar code

Camera

Grid

Signature

Tool Strip

Tool Strip Panel

Tree View

These widgets are available for user interface development in Zim IDE but are only functional when a Zim application is executed on ZimQt.

Improved Widgets

Some widgets already supported by Zim Thin Client will generally look and behave better in ZimQt;

Tab Control and Tab Page widgets have a more streamlined appearance;

Push Button widgets can now have circular and ellipsoidal shapes and gradient fills for the background, text, and borders.

ZimQt Limitations

ZimQt does not support Text User Interfaces. If your existing Zim applications use TUIs, you can continue using Zim Thin Client.

GUI Development with Zim IDE

Graphical user interfaces for Zim applications can only be designed in Zim IDE, which is only available for Microsoft Windows.

In Zim IDE, you will be able to select and place mobile widgets within forms, but these widgets will only be fully functional when the application is executed on ZimQt.

The image formats .wmf and .ico can be added to image fields and buttons when forms are designed in Zim IDE. However, only .ico images appear when the Zim application is running on ZimQt for Windows;

For more information, consult the Zim IDE documentation

Mobile Platforms versus Desktop Systems

Most existing Zim applications were designed for desktop environments with large monitors and fast LAN connections. If your Zim applications are intended to run on these types of environments, they can be executed on ZimQt on Windows, Mac OS X or Unix, using the same code and user interface designed to run on Zim Thin Client, without any modifications.

 

However, if you wish to tailor your Zim applications to run on mobile platforms, there are some design points that should be addressed so that you can take full advantage of ZimQt's mobile portability. These points are presented below:

Slower WiFi and 4G Connections

When a Zim application runs on a ZimQt client on a mobile device, it is usually connected via WiFi or a 4G connection. These connections tend to be slower and less reliable than dedicated LAN connections. Communication between server and client is more likely to be interrupted. Thus, reducing communication is important;

Some Limitations of Mobile Devices in Comparison to Desktop Systems

Lower CPU processing power;

Less available memory;

Lower graphic capabilities;

Smaller screens;

Virtual keyboards with simpler layouts, lacking function keys;

More limited options for menu navigation;

General Design Principles for Zim Applications on Mobile Platforms

The following principles should be observed to optimize existing and new Zim applications to run on ZimQt on mobile platforms:

Replace Displays and Repeated Forms with Modern Widgets

Replace repeated forms with grids, list boxes and tab controls for better performance.

Reduce Communication Traffic between Client and Server

Disable as many  Got Focus, Lost Focus, Lost Focus Modified, or Modified events as possible;

Place a Submit button at the bottom of the form and enable its Click event to accept all recent changes in all form fields.

Simplify Menu Navigation

Avoid having complex menu structures, such as nested submenus;

Use buttons, tool bars and menu strips to implement menu functionality;

Replace function and menu hot keys with specific buttons on the form, one for each function.

Reduce the Number of Windows

Avoid having multiple windows open simultaneously;

Favor the use of modal windows and avoid non-modal windows.

Select Widely Available Fonts

Use fonts that are available in all platforms on which you plan to deploy your Zim applications;

Porting Zim Applications from Windows to Mobile Platforms

As a general principle, you should design your Zim applications to be as generic as possible before you make specific versions for each supported platform;

There are some features that are either implemented in different ways on different platforms and operating systems. The following is a small list of such features, which may influence the design of your Zim applications, depending on the platform on which you wish to deploy them:

Android and iOS

ODBC drivers and servers are only available on Windows systems. Android and iOS clients and servers should use JDBC driver and JDBC server for connectivity;

Microsoft Windows system commands are not supported directly. They must be adapted to each specific platform;

ActiveX controls are not supported;

Windows controls (maximize, minimize, close) are not supported;

Adapting Reports

If your application uses third party reporting software to generate reports from a Windows client, it will be required to generate the reports on the server and then copy the generated report in a supported format like pdf to the mobile client (using the $copytoclient command).