This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Introduction

Overview of the IIZI Platform

IIZI is the remaking of app: it is a unified platform to simplify application creation by targeting all devices and exploiting native mobile capabilities. The new technology provided by IIZI mixes solid and sustainable Java code with mobile technologies to design and build web-oriented enterprise applications. The IIZI Platform is the smart and quick way to make cross-platform applications, for small businesses to enterprises – it offers the best of traditional enterprise IT and emerging rapid IT. IIZI is the “aPaas” – application Platform as a Service targeting any kind of businesses.

It offers the following key features:

  • Simplicity: one code for everything and all media/OS
  • Security: integrated data protection, everything is stored on servers, not on devices
  • Sustainability: adaptive applications for all current and future OS
  • Analytics: integrated Big Data analysis tool
  • Integration: apps ready to integrate existing systems to create great value

IIZI integrates innovative features such as:

  • Green Streaming: any OS supporting the configuration can be used to run the server, serve multiple domains and provide streaming of multiple iiziApps
  • Communication: live share apps, “Share” and “Follow me”
  • Independence: free to choose its support
  • Spirit: simple and different, almost everybody can code

The IIZI Platform consists of iiziGo, an Eclipse-based IDE, a development version of the iiziServer, an iiziServer in the cloud or in-house, and one or more module projects called iiziApps. Your iiziApp can have multiple specialized UI designs making it possible to target different devices of varying capabilities, formats and languages. Your iiziApp is a data consumer application and is not intended to provide data to other systems, only to be used to stream itself to the end-user devices.

IIZI Platform Structure
IIZI Platform Structure

iiziGo – Development environment

The state-of-the-art development tool for building iiziApps is named iiziGo, a fully-fledged Eclipse IDE (2022-09 version 4.25 or better) environment using Java SE 64-bit version 17 and later. iiziGo runs on 64-bit operating systems only: Microsoft Windows 7 (with IE 11) or better; a release for Linux GTK and macOS is scheduled for later. The development tool allows workflow from the IIZI Explorer, Panel Editor tree, and Design Editor, including all familiar Eclipse integrated tools.

iiziGo Workspace
iiziGo Workspace

To access the IIZI Design Viewer, click on the panel component (in this case MainDesktop) for a desktop viewer or download the iiziRun Developer app for a phone and tablet viewer on a real device (Android and iOS). Go to Google Play or App Store and search for iiziRun.

As a plugin, iiziGo is nested in the Java Core of Eclipse and is integrated in the editing, compiling, refactoring and searching of Java code. Changes in Java code are reflected immediately in iiziGo and Java code is automatically refactored for all IIZI references.

Developping to the IIZI VirtualSpace

Multi-device and cross-platform development are achieved in the iiziGo by developing to the IIZI VirtualSpace: a unique concept to app development with the IIZI Platform. This distinctive programming model offers multi directional data-binding by developing to the VirtualSpace and its components, rather than coupling code directly to the UI. The resulting system is focus driven; changes on the end-user device will change focus in the VirtualSpace which, in term, controls the application flow.

Real-time on devices during development

The IIZI Platform enables simultaneous development for all devices and platforms. The native capabilities of today’s tablets and smartphones are made available to your iiziApp web-based product through the free and customizable iiziRun mobile app downloaded to your end-user’s device.

Connect any target device to your iiziGo installation and observe how the iiziApp looks and behaves in real-time, both in the drag and drop UI design stage and when you write the application business logic in Java. You can even choose to see the application in one of the target languages as you design it in your original language.

Your iiziApp, which runs on the iiziServer, programmatically accesses the end-user’s mobile device functionality using IIZI’s Client Gyro engine. In this way, device functions are extended to the server and application control.

Data providers and iiziServer

Data providers are plug-ins to iiziGo. Database and Web Services plug-ins are provided out-of-the-box, but new custom data providers can be created and added to the system as well.

The iiziServer runs stand-alone in a 64-bit Java SE 17 JDK (Java Development Kit) or better. There are two versions of the server; the Development iiziServer that runs not yet finished and/or completed iiziApp’s, and the Standard iiziServer used in production.

You can run your iiziServer in-house or in the cloud. The iiziServer is platform-independent, running on Linux, Windows, macOS, Mainframe, etc. – the choice is yours.

1 - iiziApps

How iiziApps run on IIZI Platform

The IIZI Platform allows immediate results on both desktop and the devices connected as you design and code your iiziApp. The optimal set-up in iiziGo gives you an immediate result in a web browser on both desktop and the devices connected to your development environment. In this way, the entire life cycle of your app can be previewed in the development stage.

The UI properties of your web application are mirrored using streaming between the server side and the client over a WebSocket. This connection is maintained during development, testing and exists between your server and client devices when your iiziApp is in the hands of your customers.

On the client side, your app is a web application with access to native capabilities for smart phones and tablet by means of the Cordova plug-in (formally PhoneGap).

Server and client on the IIZI Platform

iiziApps operate browser-based web applications running on the server-side in association with the iiziRun app for mobile, downloaded by the end-user. All your application coding is done in Java on the server side. On smartphone and tablet devices, your iiziApp controls a hybrid application which is partly native – using the device functions directly – and partly a web application using HTML5 and JavaScript. This is achieved by iiziRun mobile app, the runtime app built on Apache Cordova, formally known as PhoneGap, tailored for use on the IIZI Platform. Your version of iiziRun is customized to reflect the branding of your iiziApp business application.

iiziApps are streamed from the iiziServer to the client. The server side application requires an iiziServer that enables open communication through a web socket connection. There is constant and immediate communication between your server-side iiziApp and the end-user. It provides very fast communication protocol with zero or extremely low latency, meaning that the end-user gets data to and from the server instantaneously. If you are targeting desktop, no client-side app is necessary; on desktop systems, a pure web application interface is used through the installed browser.

iiziApp's and clients

Focus driven iiziApps

The UI flow is governed by the focus in the IIZI VirtualSpace and a Deployment of iiziApps to the end-user. This is done using the two focus engines built into App Gyro and Client Gyro. The focus model makes it possible to enable devices that are related to the user in question. The application could also continue to run off-line on the end-user device depending on how the iiziApp is designed. The off-line support is not yet available, but is planned.

When an end-user starts an iiziApp, a new client session is created in the server’s Client Gyro engine. The Client Gyro is then either starting a new App Gyro application session, or connected to an existing App Gyro application session of the same user. This enables an end-user to start an iiziApp from a phone or other device and then, even in parallel, pick up the same application session from a different phone, a tablet or a desktop system, or to start a new application session. The server and/or application is configured for parallel session support by default, but is optional and can be reconfigured either in the server or the iiziApp in question.

Deployment of iiziApps

Your iiziApp can consist of iiziModule projects and Java projects. It can also refer to libraries and directories containing Java code, both project-based and external. To run the application on an iiziServer, the iiziApp must be compiled into a Jar file. This compiled Jar file – the Application Distribution – is produced in the Application Distributor utility integrated into the iiziGo. The Application Distributor is also available as a stand-alone Java program that you can run from a batch file or build system such as Maven, Ant or Gradle.

Other technologies employed

The UI of your iiziApp uses Dojo Toolkit JavaScript framework for desktop and mobile. Although JavaScript is used on the end-user to run the iiziApp, the JavaScript and Dojo source code are hidden from the development process; all development is maintained in Java on the server side. The JavaScript source code of your components is not available to you. However, the skinning, sizing, positioning – and much more – are exposed as component properties in the Property Editor. When running in Eclipse, the IIZI integration with Eclipse Data Tools Platform (DTP) is used, while the server uses a direct JDBC implementation.

An automatic translation engine using Microsoft Azure Cognitive Translation and/or Google Translate services is provided to speed up simultaneous development of the localized application for preparing a world-ready application. Select the source language for development and you get automatic foreign language translation in the background. You can view your UI design and data representation on any device, in any language, at any time. Your application’s text content, once translated automatically, can be flagged for verification by a translator or language specialist.

The IIZI Platform Java API

The many methods exposed by the IIZI Platform Java API are available to you through Eclipse’s Java code completion. The IIZI Core and Plugin Libraries are not visible in the IIZI Explorer, but only in the Eclipse Java Editor and Package Explorer. For the complete IIZI JavaDoc API, see the IIZI Support site.

2 - Setup

Setup Requirements and Updates

iiziGo is based on Eclipse and comes in 3 installation types for Windows:

  • Win64 iiziGo setup executable including Java SE 19 JDK.
  • Win64 iiziGo setup executable without Java.
  • Jar file containing an image of iiziGo. Once unpacked, start iiziGo by launching the iiziGo.exe executable. For the two latter installations, you must have a 64-bit Java Development Kit (JDK) Java SE 17 or better.

For macOS, a Disk Image (.dmg file) installs iiziGo without Java JDK. You must install e.g. Eclipse Temurin OpenJDK, Oracle JDK 17 or other OpenJDK 17 with Hotspot JIT compiler or better.

Minimum Setup Requirements

The iiziGo is released for Windows and macOS. The following minimum specifications are required to work with iiziGo:

  • You must have access to admin privileges on your system.
  • A large screen (typically 27" or better) with a high resolution, minimum size in “Full HD” (1920×1080) but higher is strongly recommended (typically 2560×1600 or better).
  • 8 GB of RAM or greater (16 GB recommended).
  • Windows 7 64-bit version or better or macOS High Sierra or better.
  • Chrome (Canary) or other browser for developers.
  • 64-bit Java Development Kit (JDK) SE 17 or better. This does not apply if you choose to install the Win64 iiziGo setup that includes Java.

The iiziGo Eclipse Java process is by default configured to 2 GB Heap Size in iiziGo.ini located in the installation directory.

iiziGo installation directory files

Versions and updates

Easily update iiziGo as you would any Eclipse plugin; go to Help > Check for Updates, or click on the update prompt when update notifications appear in your iiziGo IDE.

iiziGo - Check for Updates

Download installations

Download the setup installation files from the IIZI Support site.

For Java JDK’s, see the Eclipse Temurin OpenJDK at https://adoptium.net.

 


 

Installing iiziGo under Windows

The Windows installation generally requires Administrator’s privileges on the machine. Open the IIZI Support site at the Downloads — Latest version page.

IIZI Support site - Downloads page of latest version
  • Select iiziGo Designer installer with OpenJDK 18 with Hotspot JIT compiler to download the Full IIZI Platform including Java Development Kit (the version is at the time of writing being changed to Java 19). The download is fairly large, about 550 MB.
  • Launch the installer.

If you have a Java JDK 17 or better, you can download and install the iiziGoSetup-M.N.P.12345.exe executable Windows Installer, otherwise choose iiziGoSetupJDK-M.N.P.12345.exe (numbered with a version number followed by a build revision number).

Windows SmartScreen show a dialog box

In case Windows SmartScreen shows a message box, press Run to launch the Setup.

IIZI Setup dialog box

Once you press Next > in the Setup dialog box, you will be prompted to specify the installation directory of iiziGo. It is recommended to use the default C:\iiziGo-JDK for the Setup that includes Java JDK or C:\iiziGo for the Setup without Java JDK.

IIZI Setup directory selection

At the end of the installation, you can launch iiziGo. When iiziGo first starts, the Windows Defender Firewall generally shows the following dialog box:

Windows Defender Firewall dialog box

Select the appropriate check box(es), in this case Private networks but Domain networks are common in workplace networks or Public networks if your computer is not in either such network type. If you omit to configure the firewall, you will not have access to iiziGo from a browser, even on your own computer. The access is granted to the Java runtime executable javaw.exe. When you later launch an iiziServer, e.g. inside iiziGo, you will probably get a similar dialog box, this time with the Java runtime executable java.exe.

Once iiziGo has started, you will be prompted to Sign in for new users or to Sign up for returning users.

Important information about Anti-Virus

During installation and launch of iiziGo, some anti-virus software blocks Java Development Kit executables that are vital to running iiziGo. The files are typically javaw.exe and java.exe, but can also be iiziGo.exe. If you encounter an anti-virus warning or error to e.g. quarantine or remove those files, please reply No or Add an exception for them depending on your anti/virus software. These files are the original files from 64-bit version of Eclipse Temurin OpenJDK Development Kit.


Continue reading with Getting started.