Application Entities

Overview

In the application there are the following classifications of scripts (also referred to as Modules, not to be confused with a portlet type module that a user can interact with).

  1. Bootstrap - there's only one bootstrap module, app.js, which Titanium executes to load the rest of the app.
  2. Static modules, modules that maintain static configuration information or data dictionaries
  3. MVC Modules - Models, views and controllers that work together to provide the user experience.

 

Controllers

Controllers are associated 1:1 with a User Module, except for the Portlet Window Controller which handles all WebView-based content. Controllers get data from models, then provide it to views in order to render content for the user.

Models

Models abstract data and properties of the application so controllers can focus on rendering pages and responding to user interaction, and not worry about maintaining information outside of that scope.

Views

There are two types of views in uMobiles:

  1. Those that are concerned with rendering User Modules
  2. Some views (under UI) that are treated as factories to create commonly-used UI components

Views concerned with rendering User Modules maintain relationships, positions and states of all UI elements used in a particular module. 

All Entities

Illustrated below is the general relationship between most of the entities in the uMobile application. UI Views, and other frequent modules are not included below.