Welcome to Mobile Applications with GeneXus 15 Course

Start building beautiful cross-platform mobile applications for iOS and Android today!

Course Overview

Students will learn how to develop mobile applications for Android and iOS using GeneXus, including applications that require Internet access as well as apps that can work offline.

Instructions will be provided to follow each platform’s guidelines -the conceptual model underlying these applications-, as well as their architecture and UI (User Interface) design. Other topics included are: achieving a good UX (User Experience), programming behavior, prototyping applications and adding security features.

During the course, a simplified sample app is developed for Android in order to make prototyping easier when there isn’t a Mac computer available. Since the concepts applied to iOS are similar, the special characteristics of each platform are mentioned when applicable.

Objective

To be duly trained for developing smart device applications with GeneXus. Starting with a given application, a review is made of the main elements to gradually develop it, ending with a KB that implements the simplified application.

Who Is This Course For?

Those who have already developed web applications with GeneXus and wish to develop applications for smart devices.

Course Requirements

Those with no knowledge of GeneXus should watch the videos in the ‘Introduction to GeneXus‘ prior to taking the course.

Modes

You may choose between the in-person course (in which case we suggest you check the schedule before contacting our academic partners in your country) and the self-study course:

Classroom Training

Classes are taught by a GeneXus instructor and students must attend all of them in person. To take the course in this mode, we recommend that you read the calendar and contact our academic partners in your country.

Duration of the Course: 24 hours (theory + practice)

Self-Studying Training

Students follow the course on their own, at their own pace, without the support of a GeneXus instructor.

Duration of the Course: video duration + 11 hours practice

Exam

Students will be able to take the exam corresponding to the GeneXus Developer for Smart Devices. This exam is taken on a computer and includes multiple choice and true/false questions about the topics learned throughout the course, to confirm that the student has effectively learned the essential concepts required.

Scope

Development of Smart Device Applications
  • Introduction: scenario, types of applications (consumer/line of business, Online/Offline, native), conceptual model–objects involved (Menu for Smart Devices —before Dashboard—, Work With for Smart Devices, Panels for Smart Devices) and their specificities. Demo: first execution, KBN, semantic domains, and integration with the device´s functionalities.
  • Architecture of online applications (Rest web services)
  • Developing the application online
    • Designing: a review is made of all the aspects involved in achieving a good UI
      • Themes & Images
      • Controls in layouts: specificities of some controls, managing tables, scale of images, multiple layouts by grid line, control types (SD Maps, SD Rating, etc.), Action Groups and control Tab, <section controls> in layout of Detail, specialized controls (audio, on-off selection, chronometer, search, Facebook access, and other), absolute positioning (canvas) and transformations, SD Components, multiple layouts by object (to vary by platform, orientation, size, etc.), navigation style of the application, transitions between objects, movement effects, shifting, zooming or transparencies.
      • Use of Live Editing to view changes instantly as we design
    • Behavior:
      • Orders, Searches, and Conditions
      • Events (events in client/events on the server, definition of base tables and navigations).
      • Invocation between objects (includes CallOptions).
      • Integration with other functionalities through APIs.
      • Grammar of the code of events in client (includes Composite command)
    • Caching
  • Prototyping on the various physical devices or emulators.
  • Rollout on the various platforms (including publication at stores) and automatic versioning of the application.

Security of applications: GAM

  • Enabling integrated security through GeneXus Access Manager.
  • User authentication and Access authorization to parts of the application according to permits and user roles.
  • Authentication types (local, Facebook, Twitter, Google, Web Services, Custom, Remote).
  • Use of the GAM´s APIs.
  • Rollout of an application with GAM.
  • Possibility for a unique authentication (Single Sign On) using GAM.

Offline Smart Device Applications

  • Introduction: types of applications (partially connected/disconnected), scenarios, Connectivity Support property to convert the application into Offline.
  • Architecture.
  • Local Database Generation.
  • Synchronization (send/receive, conflicts, synchro APIs).
  • How to convert applications from Online to Offline.
  • Offline with security (GAM).

Simple exercises that will allow you to try out several concepts on which the GeneXus 15 version for mobile smart devices is based.

Here you will find the practice lesson corresponding to a simplification of the EventDay application studied in the videos.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

ONLINE / BLENDED COURSE

Download practice section | Download xpzs and images required for the practice section

CLASSROOM COURSE

Download practice section | Download xpzs and images required for the practice section | Download Ppts with notes

Below, you can download the free trial version of GeneXus 15 that will automatically install the Android SDK, among other things. If you have the full version of GeneXus then you will have to install it manually.

We also suggest that you use the emulator of the SDK with which you will be able to benefit from the advantages of your computer´s hardware acceleration. For more on this go to this link in the wiki.

When using the emulator, make sure that it is open before the first Run. You need not close it and open it again every time, you can leave it open while you prototype.

Have questions about the training or need additional help? We’re here for you!

Bob Smith, Trainer USA
bobsmith@genexus.com


Bob Smith, Trainer USA
bobsmith@genexus.com


Bob Smith, Trainer USA
bobsmith@genexus.com

Before You Start

We recommend that you work on the practice exercises provided in the Materials section, as you watch the videos of each group of topics. In this section, you will find information about the software requirements to start working.

Below each video, you will find the corresponding scripts (transcripts with images).

If you’re not familiar with GeneXus, we recommend that you start by watching the videos from the Introduction to GeneXus 15.

This self-study training is short and dynamic. It gives those who are not familiar with GeneXus the minimum skills necessary to start the mobile application development course.

Features and Conceptual Model

Overview:  The course and its contents are presented, including a guided tour through the application developed, EventDay. For iPad and Android. Objective: show a sample of the Smart Device applications that can be developed with GeneXus. The course will consist in the development of a simplified version of this application.

Click here for a PDF transcript of the video.

Overview:  Types of applications for Smart Devices: according to the degree of dependency with the business (line of business, consumer applications, company to consumer application), whether they operate connected to the Internet (online/offline), and what it means that these applications must be native.

Click here for a PDF transcript of the video.

Overview: It shows the four types of screens needed to develop a mobile application in GeneXus, the objects that implement them and their relationships.

Click here for a PDF transcript of the video.

Overview: After running the final application that we will use as a model, EventDay, on iPad and Android, we start to develop it in GeneXus. Here we start to work on the web portion, prototyping in the cloud.

Click here for a PDF transcript of the video.

Overview: After running the final application that we will use as a model, EventDay, on iPad and Android, and after starting to develop its web portion in GeneXus, we will create the first screens of the mobile application (start menu and screens with lists of speakers and their countries, as well as their detailed information). Lastly, we will run it on the Android emulator.

Note: As from GeneXus 15 Upgrade 5, Android applications cannot be run with the KBN. They must be compiled to run.

Click here for a PDF transcript of the video.

Online Architecture

Overview:  Analysis of the architecture of mobile applications that require an Internet connection to work. The architecture of applications that work fully or partially offline is studied in another video. The two options available for prototyping are described: running the interpreted application through the Knowledge Base Navigator, or installing and running the compiled application. Function of metadata. Description of ways to obtain the compiled file, which can be seen in practice in the video “Demo: two ways to obtain and run the compiled mobile application.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Technical Features Covered:  Analysis of the architecture of mobile applications that require an Internet connection to work. The architecture of applications that work fully or partially offline is studied in another video. The two options available for prototyping are described: running the interpreted application through the Knowledge Base Navigator, or installing and running the compiled application. Function of metadata. Description of ways to obtain the compiled file, which can be seen in practice in the video “Demo: two ways to obtain and run the compiled mobile application.

Click here for a PDF transcript of the video.

Overview:  It shows two ways to obtain the compiled Smart Device application using GeneXus: setting the Startup Object, and running it with the Run option over the main object. Function of QR codes displayed in the web Developer Menu.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Click here for a PDF transcript of the video.

Overview:  One main object of the app for Smart Devices can always be compiled by selecting Run over the object. In addition, instructions are provided to modify Android Base Style so that the Android app screen has a white background.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Developing the Mobile Application

Overview: An introduction to the topics that will be considered in the videos relative to the course, divided into two main subjects: Design and Behavior. Detailed description of what will be analyzed as part of the first sub-topic: Design.

Click here for a PDF transcript of the video.

Overview:  Starting point with a course module that deals with the development of the application (divided into Design and Behavior). The first Design topic is the use and significance of themes in smart device applications and in images. Introduction to the design guides of iOS and Android (Material Design). Following is the subject on how to specify the theme for the platform, and the possibility of defining a color palette for the whole application and making an image vary by theme.

Click here for a PDF transcript of the video.

Overview:  Consideration of the position of labels in attribute/variable controls, work with tables for aligning and defining sizes and relative spaces between controls, and the way in which images are scaled inside the control that contains them. Additionally, the use of the Live Editing tools that allows us to view changes instantly, as we design, without the need to save objects, all with demos.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Overview: Study of the possibility, for a grid control, to vary the design of rows so that a different one, from among the several defined, is assumed in each opportunity. Also, presentation of the property that enables us to indicate the layout that will correspond to the grid line selected (“Default Selected Item Layout”). Demo included. Ending with consideration of the “Selection Type” property to indicate the behavior, from among possible behaviors, in the case of a line selection.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Overview: Study of the possibility to change the types of attribute/variable and grid controls so that they appear and behave in a way different from the manner pre-defined. For example, the possibility of showing a grid´s data as dots on a map, as a horizontal grid, as a 2D table, as a graph, etc. Also, the possibility to entering a numeric field as a star ranking, or by scanning a bar code, among other possibilities. Examples from published applications are shown.

Click here for a PDF transcript of the video.

Overview: With the Action Group control we can design our own toolbar (introducing actions by means of buttons, images or action bars) and our own menus too. It is also shown how a control Tab should be used, enabling us to define tabs, each with its own group of controls.

Click here for a PDF transcript of the video.

Overview: A description of the way in which the various sections that make up a Detail screen with certain data (in a Work With component in GeneXus) can be displayed (for example, tabs, inline, or links). The question is posed as to how the designs can be changed depending on the platform.

Click here for a PDF transcript of the video.

Overview: By using external objects, we can include access to APIs and other resources in our SD application. In this case, those associated with functionalities relative to the regular controls in the device will be shown. The use of specialized controls , such as those for controlling audio, for on/off selection, chronometer, search, and access to Facebook will be considered, among others.

Click here for a PDF transcript of the video.

Overview: To achieve overlapping controls on a screen in a mobile application we use the canvas control, which deploys controls overlapping other controls in several layers, using absolute positioning.

Click here for a PDF transcript of the video.

Overview: The way to make a control move across the screen in an animated manner is shown as a particular instance of a general case (transformations): shifting, rotating, scaling, and re-dimensioning controls.

Click here for a PDF transcript of the video.

Overview: It is possible to specify different layouts for a single screen of an object, so as to tell layouts apart by platform, by device size, by version, by mode, or by orientation. This enables us to specialize screens.

Click here for a PDF transcript of the video.

Overview:  Mobile applications developed with GeneXus may be navigated according to four different styles: Flip, Split, Slide, and Cascade. The style is set by platform. There is also a study of Start events associated with the navigation styles.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Overview:  How to achieve different transitions upon entering and exiting the screen of an object (fade, push up, push down, push left, etc.), both in design time and in runtime.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Overview:  Study of SD Components, defined as controls capable of containing objects of the Panel type for Smart Devices or Work With for Smart Devices. These objects execute inside the container, independently from it and without losing their own characteristic features; in that sense, their functioning is similar to Web Components in relation to web panels. Another topic considered is Global Events, which enable the synchronization of actions between SD Components, in addition to synchronizing actions between Web Components.

Click here for a PDF transcript of the video.

Overview:  We show a variety of attractive behaviors in the interface that we can achieve with our design, such as motion effects, shifting, zooming or transparencies that make a significantly enhanced user experience.

Click here for a PDF transcript of the video.

Overview:  Introduction of the topics included in the following group of videos.

Click here for a PDF transcript of the video.

Overview: Upon a given Panel or Work With for Smart Devices, how can we specify the criteria by which we want to order the information to be deployed on a grid? How do we specify search criteria, advanced filters and other conditions?Click here for a PDF transcript of the video.

Click here for a PDF transcript of the video.

Overview: With an example, an analysis is made of how to determine the base table of the fixed part and the grid in Panel or Work with for Smart Devices. Consideration of the differences with a web panel and the navigations made.

Click here for a PDF transcript of the video.

Overview: Introduction of two predefined mechanisms for adding functionalities: semantic domains and the use of APIs. These enable, among other things, the integration with the device´s native functionalities. Examples are shown regarding integration with messaging programs, calendar, address book, Twitter, Facebook, the possibility of sharing information through Share, and the use of GPS for geolocation, as well as the mechanism for sending notifications to devices (push notifications).

Click here for a PDF transcript of the video.

Overview:  A summary is provided of all the invocations that can be made in a client event and all the commands that can be used  (highlighting the Composite command’s behavior), taking into account that not everything that can be specified in a server event (such as Start, Refresh or Load) can be written in a client event.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Overview:  Summary of events triggered when opening a Smart Device object and the order in which they are executed. There is also a description of what happens after a client event is executed.

Click here for a PDF transcript of the video.

Overview:  Consideration of the possibility to specify, in runtime, the transition with which the object invoked will be opened and closed, as well as the behavior in relation to the type of call (among other things, the possibility for the screen invoked to function as popup or as callout), and the position that the layout of the object invoked will occupy on screen. We also see how to interact with the Navigation external object that allows developers to show or hide contents in a dynamic manner, in any area. All this is known under the name of CallOptions.

Click here for a PDF transcript of the video.

Prototyping and Deployment

Overview:  GeneXus offers different mechanisms for easily prototyping an application for smart devices, either using emulators or executing directly on the device, depending on the mobile platform selected

Click here for a PDF transcript of the video.

Overview:  Once our application is ready, our next move should be its rollout, that is: publishing it on our own server or at the store corresponding to the platform we selected. This video includes an analysis of the steps to follow and things we must bear in mind for deploying the application.

Click here for a PDF transcript of the video.

Security

Overview:  Introduction of the concept relative to the GAM (GeneXus Access Manager) security module, and how the GAM provides everything necessary to solve user authentication and authorization for access to the various parts of the application. The GAM´s API is also presented, in addition to the rollout of an application with GAM, and the facilities implied in unique authentication.

Click here for a PDF transcript of the video.

Overview:  A demo is presented on how to apply the GAM in an application for recording an event, its speakers, conferences, etc., with a web section and another part for smart devices. The GAM´s backend is also shown for the definition of users, roles, authentication types, etc.

Click here for a PDF transcript of the video.

Offline Applications

Overview:  GeneXus enables us to create mobile applications capable of functioning when partially connected or even fully disconnected from the web server. This section shows the features of Offline Applications according to their type, their architecture and the solution of conflicts in the synchronization process.

Click here for a PDF transcript of the video.

Overview:  A demo shows how to create an Offline application with GeneXus, as well as the features and configuration of the Offline Database object to determine which information is stored in the device and which information will be on the web server.

Note: In GeneXus 15 Upgrade 5, the “Dashboard” object has been renamed to “Menu for Smart Devices.

Click here for a PDF transcript of the video.

Final Overview

What kind of apps can I build with GeneXus?

You can build all kinds of wonderful apps with GeneXus!

How should we work with other departments building apps?

You can build all kinds of wonderful apps with GeneXus!

What if my company doesn't use GeneXus. How can I get it in my company?

You can build all kinds of wonderful apps with GeneXus!

Congratulations on completing this course. You’re now ready to start building applications!