App Development Outline

With Nexacro Platform, you can develop applications to support a variety of operating systems and user environments using a single set of code. However, when distributing applications, some functions and distribution can vary depending on the user environments.

This chapter covers information developers and system administrators will need for the iOS and Android operating systems for smartphones and tablet PCs.

Technology Components

Applications distributed to iOS and Android operating systems can run even when devices are in motion. They can utilize a variety of equipped sensor functions. In the case of smartphones, the applications can be connected to functions such as call or SMS. Therefore, it is necessary for you to understand device APIs, development, execution and distribution.

Device APIs

The device APIs provided on the Nexacro Platform are listed in the following table.

Device API

Contents of Function

System

Basic terminal information

Making calls

Playing simple-sound files

Objects > Misc. Objects > System

Acceleration

Terminal acceleration information by using the accelerometer sensor

LiteDB

Local DB usage

VirtualFile

File input/output

AudioPlayer

Sound file play control

AudioRecorder

Audio recording

Camera

Built-in camera

ContactSet

Address book inquiry/add/delete/edit

ExternalAPI

Access/connection to external devices

GeoLocation

Terminal location information by using GPS and WPS:

  • GPS - Global Positioning System

  • WPS - WiFi Positioning System

ImagePicker

Terminal album access

Map

Map component for map marking

Network

Terminal network status check (No Network, 3G, Wi-Fi)

Available communication check with certain sites

Sms

SMS transmission

SMS reception detection

Received SMS storage check/delete

Vibrator

Vibration generation

Provided functions can be added or changed depending on versions. Which functions are supported depends on the device operating system. Please refer to the reference guide included in Nexacro Studio for details.

Development

The way to develop screens and services is the same in both versions. The difference is that device APIs which are used in the iOS and Android operating systems can be utilized as additional components. The basic test for newly created applications can be done on Nexacro Studio, but the actual operation of device APIs should be tested by distributing the applications to the devices.

In both iOS and Android, unverified applications cannot be executed, and only app-type applications can be executed. For these reasons, applications developed on Nexacro Platform should be developed and distributed as apps so that they can be directly executed on devices, not on web browsers.

Nexacro Platform provides libraries needed for Android and iOS development environments to make it easy to develop apps. Applications based on packaging (archive file creation) can also be distributed.

Nexacro Platform-based apps operating in iOS and Android are developed using the following process.

개발환경 구성도

Nexacro Studio does not support developing apps that can be directly distributed to markets or tested on simulators.

Execution

An application developed on the Nexacro Platform can be installed and run by downloading the required file specified in the start_android[ios].json file in the designated deploy server, or by updating a previously modified file.

응용 프로그램 실행환경 구성도

The web server and the deployment server do not need to be physically separated. You can adjust equipment deployment, if necessary, as long as you designate a path for each server.

Distribution Environment

Distribution reflects creating archive files to a deployment server and installing Nexacro Platform applications on devices.

Apps are distributed through markets supported by each device's operating system.

For example, for Android, apps are distributed through various markets run by Google, device manufacturers and telecommunications service providers. Apps can be distributed through servers.

In the case of iOS, the APP Store is used for distributing apps. For apps to be distributed only for the internal use at companies, the Enterprise Program among iOS developer programs can be utilized.

Apps can be distributed on Android and iOS as follows.

OS

Method

Market

Description

Operator

Android

Market

Google Play

Run by Google which developed Android. The largest number of apps are distributed in the market.

Google

Samsung Apps

Run by Samsung Electronics, a device manufacturer

Samsung Electronics

Self-distribution


Apk files are located in private web servers and distributed through the corresponding URLs

Self-operation

iOS

Market

Apple Appstore

Run by Apple

Private servers are not available

Apple

Self-distribution


Available by joining the Enterprise Program

https://developer.apple.com/programs/enterprise/

Self-operation

Available markets for the Android operating system can be different from countries providing the service. The table above specifies the major markets available in Korea.

Development Process

Major Components

Nexacro Platform apps are mainly composed of the following elements.

XPLATFORM Hybrid 앱 주요 구성

The following table describes the main components of Nexacro Platform apps.

Component

Detail

Time of Inclusion

nexacro platform Library

(Native Code)

Included when an app is developed by the library. Provided as:

  • iOS(nexacro14.framework)

  • Android(nexacro14.jar, libnexacro14.so)

The composition of the library is as follows:

  • Mobile API module

    Native code for Mobile API operation

  • WebView (iOS)

    Web View control for displays such as screens

  • Loading/updating module

    A module for loading apps or updating apps


※ Note

  • nexacro14.framework which is used on the iOS operating system is provided as a compressed file that is unzipped and used as a folder. The files used for testing on a device verses on a simulator are different.

Build includes Nexacro Platform application projects on Android Studio or Xcode

start_android.json

start_ios.json

Includes path information of the following files and reads the information by accessing the designated path when building an app:

  • Run Archive File (iOS)

  • Project Archive File

  • Theme Archive File

  • Nexacro Platform Library


※ Note

  • The File name can be changed, but it shall be same with the values specified on Android Studio or Xcode.

Downloaded into Nexacro Platform apps by loading or updating it at the time of execution.

Base

Library

It provides Nexacro Platform frameworks by compressing them. It uses the nexacro14lib.zip file which includes components realized by Java Script.


※ Note

  • The File name can be changed, but it shall be same with the value specified on Android Studio or Xcode.

  • The file should be made by compressing the nexacro14lib folder structure provided by our company.

Run

Archive File

It contains the information about components to be used on Nexacro Platform and a path of an ADL Java Script file to be executed for the first time.


※ Note

  • Required only when using iOS operating system

  • Provided file names (Run.zip, Run.html) are set internally on Nexacro Platform. Do not change the names. Otherwise, they will not work.

Project Archive File

/ Project File

A Nexacro Platform HTML5 project file developed on Nexacro Studio


※ Note

  • It is recommended to distribute a project archive file from the deploy server. The archive file shall be distributed as the form of Archive00.xzip.

  • Depending on the settings, it is possible to access a project on the HTTP server without distributing the archive file. The operating mode can be selected based on the distributed app's characteristic.

Theme

Archive File

/ Theme File

It is a theme file of a Nexacro Platform HTML5 project.


※ Note

  • Provided file name ([Themename].zip) is set internally on Nexacro Platform. Do not change the name; otherwise, it will not work.

  • Depending on the settings, it is possible to access a project on the HTTP server without distributing the archive file. The operating mode can be selected depending on the distributed app's characteristics.

Development and Execution Process

The development and execution process is listed in the following table.

Phase

Detail

Project Development

Nexacro Platform applications are developed on Nexacro Studio.

Deploy Server Reflection

Required archive files are created and distributed on Nexacro Studio and then reflected to the server.

App Project Creation

/ Build

Application projects are created on Android Studio(Android) and Xcode(iOS). The provided Nexacro Platform Library is referred after the projects are created.

After configuring the project settings, apps (APK/APP) are built on Android Studio(Android) and Xcode(iOS).


※ For iOS, an Apple developer account is needed to build the apps for the devices.

Execution

After connection to devices, apps are executed from Android Studio(Android) and Xcode(iOS) to the devices.


※ For iOS, an Apple developer account is needed to execute the apps on the devices.

Distribution Process and Method

Archive files and apps are distributed separately on Nexacro Platform as illustrated in the following graphic.

Archive files, composed of base libraries, project archives, theme archives, run archives and etc, are packaged on Nexacro Studio and delivered through the deploy server.

Apps are created in the created projects, including Nexacro Platform libraries, and are distributed to markets or private servers (only in case of Android) as files available to be distributed. When a user runs a smartphone and executes an app that has been downloaded from a market or a private server, the app loads the required information from the deploy server and displays the app on the screen.

XPLATFORM Hybrid 배포

Nexacro Platform hybrid apps (APK/APP) are distributed through markets as follows (details vary depending on markets - refer to the manuals related to each market):

  1. Developer account creation

  2. App creation for distribution

  3. Inspection registration

  4. Inspection completion

  5. Service start

Specifications for App Development and Execution

This section lists specifications for devices and SDK versions for Android and iOS.

Use the latest version of tools and SDK for distribution.

Android

Section

Item

Description

Development

OS

Window/Mac/Linux are available

Android Studio

The installation file of Android Studio basically includes an SDK (software development kit).

http://developer.android.com/sdk/index.html

Developer Account

A developer account for each company is needed to distribute apps to Google Play. The costs are different depending on companies.

Device

Device OS

Android OS 2.3 or later

※ However, other operating systems will be examined.

iOS

iOS용 앱 개발 및 실행을 위한 권장 사양

Section

Item

Description

Development

OS

Apps can be developed/distributed only on Mac OS X

Minimum : Mac 10.6.8 or later

Xcode

Tool to develop apps for iOS (free download)

https://developer.apple.com/xcode/

iOS SDK

Installed when Xcode is installed (free download)

Apps can be distributed to Appstore only when they are built with the latest version of SDK

https://developer.apple.com/ios/download/

Developer Account

When created on Apple iOS developer page, the cost will be charged annually (approximatly $99/year)

https://developer.apple.com/programs/ios/

Device

Device OS

iOS 4 or later

※ However, other operating systems will be examined

Devices capable of supporting Nexacro Platform are as follows:

The following devices have been verified by us and are supported without special request from customers


• Android Smart Phone

Samsung Electronics

- Galaxy S3 (Android 4.1.2)

- Galaxy S4 (Android 4.2.2)

- Galaxy Note 8.0 (Android 4.1.2)

- Galaxy Note 10.1 (Android 4.1.1)

LG Electronics

- Optimus G2 (Andriod 4.2.2)

- Optimus Vu2 (Andriod 4.0.4)

SHARP

- Aquos Phone (Andriod 4.0.4)


• Android Tablet

Samsung Electronics

- Galaxy Tab 10.1 (Android 3.2)

Fujitsu Mobile

- Arrows Tab Wi-Fi FAR70A (Android 3.2)


• iOS

iPhone5 (iOS 6.0.1)

iPhone5s (iOS 7.1)

iPad2 (iOS 7.1.1)

iPad4 (iOS 7.1.1)

iPad mini (iOS 6.0.1, 7.1)