– Introduction to ZimQt
ZimQt is the new multi-platform thin client for Zim 9.00 applications. ZimQt provides:
✓ the capability of running new and existing Zim 9.00 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 9.00 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
✓ 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.
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;
✓ 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).