Titanium es una plataforma multiplataforma para desarrollar aplicaciones móviles nativas con Javascript. Cuenta con más de 390,000 desarrolladores y 50,000 aplicaciones creadas. Utiliza Titanium Alloy, un framework MVC, para crear interfaces de usuario mediante archivos XML y estilos CSS. Alloy permite generar de forma automática controladores, modelos y vistas para una arquitectura basada en componentes.
3. Titanium funciona como un puente entre el sistema operativo
nativo y el código de la aplicación
No es una solución basada en web que proporciona
funcionalidad a través de un Web View
JavascriptCore – iOS
Mozilla Rhino - Android
4. ACCESO A:
• APIs específicas de la plataforma
• Servicios basados en localización
• Compartir en redes sociales
• Rich multimedia
• Manejo y almacenamiento de
datos en línea y en el dispositivo
• Extensibilidad
6. docs.appcelerator.com/titanium/3.0/#!/api/Titanium
TABGROUP
TAB
WINDOW
VIEWS
} Elemento que agrupa y contiene tabs o pestañas
Pestaña que contiene a su vez a una ventana
Parte principal de la interfaz. Toda app tiene al menos una ventana
Contenedores que almacenan elementos visuales y otras vistas
Titanium.UI
BUTTON
LABEL
TABLEVIEW
IMAGEVIEW
ACTIVITYINDICATOR
}
Botón al que se le puede agregar funciones y modificar el estilo
Elemento para mostrar bloques de texto plano
Funciona como una tabla de HTML con celdas
Elemento para mostrar imagenes, optimizado para móvil
Control que muestra un icono de cargando
CONTENEDORES
CONTROLES
9. Todas las definiciones de ventanas, vistas y estilos, así
como variables, funciones y acceso a datos se programan
en archivos .js
TITANIUM
Los elementos visuales se agregan al proyecto por medio de XML en la carpeta
VIEWS y los estilos van en archivos .tss en la carpeta STYLES.
Todas las funciones y variables se definen en la carpeta CONTROLLERS.
ALLOY
11. CREAR PROYECTO ALLOY:
EN TITANIUM STUDIO
File > New > Titanium Project > Alloy
EN TERMINAL
Crear un nuevo proyecto de Titanium >
Abrir terminal
$alloy new
INSTALAR ALLOY: $sudo npm install alloy -g
12. CREAR CONTROLADORES:
EN TITANIUM STUDIO
Clic derecho en el proyecto > New> Alloy Controller
EN TERMINAL
$alloy generate controller row
Se crearán los siguientes archivos:
• controllers/row.js
• views/row.js
• styles/row.tss
13. CREAR MODELOS:
EN TITANIUM STUDIO
Clic derecho en el proyecto > New > Allow Model
EN TERMINAL
$alloy generate model todo
name:string active:boleean
Se crearán los siguientes archivos:
• models/todo.js
• models/todo.json
• migrations/320984132083_todo.js
14. PLATFORM SPECIFIC UI:
La propiedad platform permite mostrar elementos visuales solo en la
plataforma especificada:
• android
• ios
• mobileweb
16. ESTILOS Y FUNCIONES GLOBALES
• Estilos globales
[project root]/app/styles/app.tss
• Funciones y variables globales
[project root]/app/alloy.js
17. TODO LO DEMÁS AQUÍ:
https://github.com/appcelerator/KitchenSink
Notas del editor
VENTAJAS
Soporta el desarrollo de aplicaciones móviles multiplataforma
Con una sola base de código, pueden producir aplicaciones móviles Web, Android y iOS
Se desarrolla utilizando un lenguaje basado en JavaScript en un entorno de desarrollo integrado basado en Eclipse (Aptana Studio)
VENTAJAS
Aumenta en más de un 70 % la productividad al escribir aplicaciones
Permite utilizar la experiencia de los desarrolladores en tecnologías y estándares Web
Está muy bien documentado
Tiene una gran comunidad de desarrolladores que intercambian ideas, consejos y ejemplos
¿QUE ES?
Si lo vemos en un esquema de capas: La primera capa sería la del sistema Operativo: Windiws Mac y Linux para apps de escritorio y Android / iPhone para apps móviles.
La segunda capa sería el puente que funciona como una traducción de Javascript a Ruby o Perl para apps de escritorio y Javascript a Java para Android y Objective C para iPhone.
En la tercera capa encontramos el API del User Interface, el Desktop API y los modulos opcionales para apps de escritorio y de igual manera el API de UI, Phone API y Modulos opcionales para móvil
En la cuarta capa es donde se encuentra el código de nuestro app que obtiene acceso a las características del dispositivo.
APIs específicas de la plataforma
Servicios basados en localización
Compartir en redes sociales
Rich multimedia
Manejo y almacenamiento de datos en línea y en el dispositivo
Extensibilidad