Tag: deployment

Distribution of your iiziApp

Distribution of your iiziApp

Note: This option is not yet available for the early access.

Your iizi project can be built and deployed to your server through the Distribution option under ‘iizi’ found in your project’s properties.

The developed iiziApp can consist of Module projects and Java projects. It can also refer to libraries and directories containing Java code, both project-based and external. In order to run the application on an iizi Server, the iiziApp must be compiled into a Jar file. The iiziApp compiled into a Jar file is called an Application Distribution. The process of creating this Jar file is called Application Distributor.

The Application Distributor is a utility that is integrated in iiziGo but is also available as a stand-alone Java program that you can run from a batch file or a build system, e.g. Ant.

Configuration

The Application Distributor must first be configured for a Module project to be distributed. Open the Module project properties dialog and select Enable Application Distribution:

Fill in the Jar file name. If the iiziApp consists of several modules projects, specify them in a comma separated list in Include Modules. Dependent modules and Java project, libraries and directories are always added to the Jar file, with the exception of externals that provides a separate option for the operation to perform.

Dependent modules are known at build time of the distribution when all references are resolved. All the referenced modules (including their references) will therefore be included in the iiziApp. Dependent Java projects, libraries and directories are known from the Java Build Path.

Externals

The Externals are external libraries and directories that may be specified in the projects classpaths of the Java Build Path.

If you do not include externals, the Jar file will be smaller and if several module applications share the same externals, you will use less memory for the server because it will only be loaded once. However, the externals must be in the server classpath.

Note: Be careful with this option, as the same class may from a library or a directory can be loaded several times from different iiziApp’s, and each class static (instance) will not be same between two iiziApp’s (meaning that there can be multiple “static singletons”). If this could be the case, you will have to unselect the option Include externals and to set the classpath of the server to include these externals.

Exporting iiziApp

The iiziApp is created by exporting the Module project. Open the Export Wizard using File → Export:

Click on Next and select the project to create a distribution for:

Only projects configured for application distribution are shown above.

When you press Finish, the Application Distributor will be started in a separate Eclipse job.

Note: An application containing errors and/or warnings cannot be exported!

iiziRun Developper

iiziRun Developper

iiziRun Developer is free to install from App Store and Google Play. The iiziRun Developer app is used to test UI designs developed with the iiziGo IDE. It also runs iizi universal apps from an iiziServer without having to submit your app to Google Play or the App Store more than once.

         

Video tutorial for downloading and installing iiziRun Developer at the iiziPlatform YouTube Channel:  https://www.youtube.com/watch?v=t1Z7r6HsJIo

After installing iiziRun Developer on a mobile device, configure a server and choose your iiziApp. At this point in your set up, your iiziServer must be running in iiziGo.

On opening iiziRun Developer you are prompted to open a Panel or add an application; tap ‘Add Application’ and continue directly to ‘Server’ and then tap ‘Add Server’.

Having chosen ‘Add Server’, enter the server definition and port for your computer’s local IP or local network IP, and click the blue ‘Save’ icon at top to save. Upon tapping ‘Application’ you should find your current iiziApp available, tap it to choose it, and once added, tap the blue ‘Save’ icon at top. Repeat the above process for any phone or tablet you wish to use for development and testing.

As you develop your iiziApp, you can update and view your work instantly on connected devices with iiziRun Developer. Connect as many devices as you wish for viewing and testing you Java code, Panels and components, or any other app functionality.

Panel Design and the Panel option on iiziRun Developer

In addition to runtime tests, you can choose any Panel from the iiziRun Developer ‘Open Panel’ section and develop with your device connected by Wi-Fi or by cable. The Open Panel option in iiziRun Developer does not require running the iizi Development Server. All changes made to your Panel should update immediately on all your connected phones and tablets without needing to refresh or relaunch. This view of a single Panel displays the iiziGo’s localhost design view, and like the Design Editor, does not include UI actions, links or connections to other Panels.

To connect a device to the iiziGo localhost instance, choose ‘Open Panel’ in iiziRun Developer and set up an iiziGo instance by tapping: iiziGo instance > add iiziGo. Here you can add your localhost address or IP.

Set up iiziServer for live development

Set up iiziServer for live development

The two apps for mobile, iiziRun Developer and iiziRun Custom, are downloaded by both the developer and end-user for testing or consuming an iiziApp. You will use iiziRun Developer on all your mobile devices as you test and develop with iiziGo. Your finished application is deployed with a special version of iiziRun Custom that has a custom graphical appearance to represent your software’s branding and meant to be downloaded by the consumer of your application.

To use the iiziServer included in iiziGo, only minimal server configuration is required. In the Eclipse Run/Debug menu, find and click the small menu drop down next to the green Run icon and choose ‘run configuration’. You can also go to ‘Run’ in the main menu and choose ‘Run Configurations…’ to open the server configuration editor. Right-click ‘iizi Development Server’ and choose ‘new configuration.’ You can also right-click your project and choose ‘Run As’ > ‘Run on iizi Development Server’ which will open the ‘Create, manage and run configurations’ window. You must double click iizi Development Server in the tree view on the left, to open the iiziServer Editor.

The iiziServer editor for quick configuration of a development server

For the simplest development server set up, keep the config.iiziServer path as is, choose a range of ports, and leave the environment to the default file. Only one application per server is possible. Later, if you wish, you can configure multiple environment files. Click ‘Run’ to start the server.

How iiziApps run on iizi Platform

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

iiziApps 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 AppGyro and ClientGyro. 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 ClientGyro engine. The ClientGyro is then either starting a new AppGyro application session, or connected to an existing AppGyro 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. For the complete iizi Platform Java API Specification see the iizi® Java API Specification – version 1.0.0 at https://support.iizi.co/downloads/javadoc/1.0.0/

Social media & sharing icons powered by UltimatelySocial

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close