Genero Mobile v1.1 General Availability

Irving, Texas – November 7, 2014 — Four Js Development Tools is pleased to announce the general availability of Genero Mobile v1.1. Genero v1.1 is an important release that increases your ability to customize and tightly integrate your apps with native APIs that drive other on-board apps, peripherals and sensors.

Download the new release here.

Key features

  • iOS® simulator improvements – iOS devices can now be selected from within Studio rather than from within the emulator. Select your preferred devices from a long list including: iPhone® 4/5/6/6+ or iPad®, iPad Air etc…
    iphone  ipad simulators
  • Web Services – consume SOAP and JSON/HTTP Web services using the Web Services Wizard.
    • SOAP – generate code for a given SOAP client from its WSDL thanks to the fglwsdl tool. Integrate this code into your app without intimate knowledge of the protocol.
    • Genero Mobile for Android® provides the same complete Web services feature-set as standard Genero.
    • Genero Mobile for iOS provides a subset of these features, omitting – in this release – advanced APIs such as WS-Security and Multipart.
  • App Store deployment – to facilitate deployments to Apple® AppStore, new Genero Studio menu options are now available for iTunes registration, review and publication.
    Genero Studio iOS App Store deployment option

    Genero Studio iOS App Store deployment option

    Apple iTunes® MyApps Account Manager

    Apple iTunes® MyApps Account Manager

    Uploading an app to the iTunes App Store

    Uploading an app to the iTunes App Store

  • Business Application Modeling – BAM provides a new mobile-specific template, simplifying and shortening the code generated for mobile apps.
  • Packaging apps with native extensions – iOS and Android now support native extensions that can be called from your Genero Mobile app. The underlying Android packaging system uses Gradle in order to be able to merge such extensions in the finished app.
  • Extending Genero Mobile BDL with native calls
    Access to native APIs enables you to enrich your applications with other apps, sensors and peripherals such as:

    • OCR,
    • face recognition,
    • embedded software or hardware,
    • peripherals through Bluetooth®,
    • sensors, card readers, scanners,
    • user data from on-board apps such as agendas.
  • Genero Mobile for Android supports Java extensions. It provides a default Android Studio project that lets you integrate third party libraries.

Java:

 package com.example;  
 public class MySample {
     public MySample() {
         ...
     }
     public int getMyState() {
         ...
     } 

BDL:

 IMPORT JAVA com.example.MySample
 ... 
 MAIN
    DEFINE s com.example.MySample
    DEFINE i INTEGER
    ...
    LET s = com.example.MySample.Create()
    LET i = s.getMyState()
    ... 
 END MAIN 

Frontcall extensions are also available:

Java:

 package com.worldcompany;
 import com.fourjs.gma.extension.v1.IFunctionCall;
 import com.fourjs.gma.extension.v1.IFunctionCallController;
 public class HelloWorld implements IFunctionCall {
     private IFunctionCallController mController;
     @Override
     public void setFunctionCallController(IFunctionCallController controller) {
         mController = controller;
     }
     @Override
     public void invoke(Object[] args) {
         mController.returnValues(this, "Hello " + args[0].toString() + ".");
     }
 } 

BDL:

 MAIN
   DEFINE result STRING
   ...
   CALL ui.Interface.frontCall("worldcompany", "helloworld", ["Mr Bond"], [result])
   DISPLAY result -- Hello Mr Bond.
   ...
 END MAIN 
  • Genero Mobile for iOS supports C and Objective-C® extensions. It provides a default Xcode® 6.1 project that lets you integrate third party libraries.

Objective C:

 #include 
 ...
 // simple native function taking 1 input parameter and creating 1 output parameter
 static int myecho(int pc){
     char buf[100 + 1];
     int z = (int) sizeof(buf);
     popvchar(buf, z);
     pushvchar(buf, (int) strlen(buf));
     return 1;
 }

 // pre defined array name to register user C functions
 // {"userfunction_name_4gl",userfunction_C, 
 ,, 0}
 UsrFunction usrFunctions[] = {     {"myecho", myecho, 1, 1, 0},
     {NULL, NULL, 0, 0, 0} //marks the end
 }; 

BDL:

 MAIN
   CALL gldialog.fgl_winMessage("Title",myecho("hello"), "information")
 END MAIN 
  • Customizable themes via .4st stylesheets
  • Four Js Genero Mobile 1.1 Supported OS list
Genero Mobile Development Platform Target Platform
Android 4.0 – 4.4 iOS 7 & 8.1
Development APK Build Development IPA Build
Apple
  • Mac OS X 10.8
(1) (2)
  • Mac OS X 10.9
(1) (3)
  • Mac OS X 10.10
(1) (3)
Linux
  • Debian 7.0 (x86_64), Gnome 3(5)
(1) (4)
Microsoft Windows
  • MS Windows 7
(1) (4)
  • MS Windows 8
(1) (4)
  • (1)Requires Android SDK and Oracle Java JDK 7 or higher (JRE alone is not sufficient)
  • (2)Requires Xcode 5.0; development of native iOS extensions not supported
  • (3)Development of native iOS extensions requires Xcode 6.1 and Mac OS X 10.9.4 or later
  • (4)Requires an iOS Device (iOS7 or higher) with the Genero Mobile Development Client (available from Apple App Store) installed
  • (5)GNU C Library (glibc) 2.11 or later is required; 64-bit distribution capable of running 32-bit applications

We hope you enjoy these new features and look forward to your questions in the forum!

The Four Js Development Tools Support Team

© 2014. Four Js Development Tools Europe Ltd. All rights Reserved.

® Apple, iOS, iPhone, iPad, Mac OSX, Objective-C, & Xcode are trademarks of Apple Inc.
Android, ADT & Google are trademarks of Google Inc.
Bluetooth is a trademark of the Bluetooth SIG.
Debian is a trademark of SPI in the USA.
Genero is a trademark of Four Js Development Tools Ltd.
Java is a trademark of Oracle Corp.
MS Windows is a trademark of Microsoft Corp.