Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Titanium 3 ecosystem (Español)

Presentación sobre el ecosistema de Appcelerator Titanium, incluyendo módulos, Alloy, ACS y el SDK de Titanium
by

Javier Rayon

on 16 May 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Titanium 3 ecosystem (Español)

al principio... Today: a whole mobile ecosystem Native UI Modules &
Marketplace Appcelerator
Cloud Services
& Analytics Titanium Studio
& CLI Titanium SDK Titanium SDK Distribuye a: Titanium SDK NATIVE LAYER TITANIUM SDK JAVASCRIPT CODE mobile 2013... Titanium SDK Expone la mayor parte de la API nativa Documentation Community Titanium SDK Primeros pasos... y cómo continuar Aprende javascript
Aprende Titanium API
Aprende Titanium Studio
Aprende platform specifics
Aprende commonJS
Nuevo! Aprende alloy Titanium SDK Ejemplos http://www.builtwithtitanium.com/ Más en: Titanium SDK Training & Certification http://www.appcelerator.com/thinkmobile/showcase Ventajas:
- Desarrollo hasta 70% más rápido (comparado con nativo)
- Rendimiento del UI muy próximo al nativo
- Herramientas de depuración
- Un sólo SDK para varias plataformas
- JavaScript Extender la funcionalidad del SDK Modules NATIVE LAYER TITANIUM SDK JAVASCRIPT CODE native modules commonjs modules A veces el SDK no soporta una API nativa que necesitamos o queremos empaquetar un conjunto de recursos y funciones para distribuir

Los módulos son la solución Modules Extender la funcionalidad del SDK
Hay un montón de módulos disponibles en GitHub y en el Marketplace de Appcelerator Appcelerator Cloud Services FALSAS Desventajas:
- "Memory leaks": la gran mayoría son debidos a malas prácticas on JavaScript

- "Documentation": muy mejorada desde primeras versiones, continuamente actualizada Adecuado para:
- La gran mayoría de aplicaciones, excepto aquellas que hacen un uso intensivo de grandes volúmenes de datos (edición de audio/video, 3D engines...) Puntos débiles comparado con nativo:
- API nativa no cubierta al 100% --> usar módulos!
- Rendimiento en tareas de estrés
- No incluye GUI builder... por ahora
-Apps pesan más ACS Cloud.Users.create({
email: 'test@mycompany.com',
username: 'testname',
first_name: 'test_firstname',
last_name: 'test_lastname',
password: 'test_password',
password_confirmation: 'test_password'
}, function (e) {
if(e.success){
}else{}
}); Cloud.Photos.create({
photo: photo, //blob format
collection_id: collectionID,
'photo_sync_sizes[]': 'small_240'
}, function (e) {
if (e.success) {

} else {
// oops
}
}); Cloud.Objects.create({
classname: 'cars',
fields: {
make: 'nissan',
color: 'blue',
year: 2005
},
photo: car.photo
}, function (e) {
if (e.success) {
var car = e.cars[0];
alert('Success:\\n' +
'id: ' + car.id + '\\n' +
'make: ' + car.make + '\\n' +
'created_at: ' + car.created_at);
} else {
alert('Error:\\n' +
((e.error && e.message) || JSON.stringify(e)));
}
}); Cloud.Objects.query({
classname: 'cars',
page: 1,
per_page: 10,
where: {
color: 'blue'
}
}, function (e) {
if (e.success) {
alert('Success:\\n' + 'Count: ' + e.cars.length);
for (var i = 0; i < e.cars.length; i++) {
var car = e.cars[i];
Ti.API.info('id: ' + cars.id + '\\n' +
'make: ' + car.make + '\\n' +
'color: ' + car.color + '\\n' +
'year: ' + car.year + '\\n' +
'created_at: ' + car.created_at);
}
} else {
alert('Error');
}
}); Cloud.PushNotifications.subscribe({
channel: 'friend_request',
device_token: myPushDeviceToken
}, function (e) {
if (e.success) {
alert('Success');
} else {
alert('Error:\\n' + ((e.error && e.message) || JSON.stringify(e)));
}
}); Cloud.PushNotifications.notify({
channel: 'friend_request',
to_ids: usersIDs,
payload: message
}, function (e) {
if (e.success) {
alert('Success');
} else {
alert('Error:\\n' +
((e.error && e.message) || JSON.stringify(e)));
}
}); var Cloud = require('ti.cloud'); //Titanium integration! Disponible para iOS, android, actionScript, JavaScript y Titanium El futuro de Titanium Framework MVC integrado con las herramientas de Titanium

Define el UI con vistas XML y estilos JSON
Programa los controladores en JavaScript
Abstrae los modelos de datos de la BBDD y el dispositivo
¡Y mucho más! Alloy 1. Separación del UI y la lógica de la aplicación <Alloy>
<Window>
<Label id="mylabel">Hello, World!</Label>
</Window>
</Alloy> "Window": {
backgroundColor: '#fff'
},
"#mylabel": {
color: '#000',
font: {
fontSize: '18dp',
fontWeight: 'bold'
},
height: Ti.UI.SIZE,
width: Ti.UI.SIZE
} // open the window from markup
$.index.open();

// alert the text of the label
alert($.mylabel.text); var index = Ti.UI.createWindow({
backgroundColor: '#fff'
});

var myLabel = Ti.UI.createLabel({
color: '#000',
font: {
fontSize: '18dp',
fontWeight: 'bold'
},
height: Ti.UI.SIZE,
width: Ti.UI.SIZE,
text: "Hello, World!"
});

index.add(myLabel);

index.open();

alert(myLabel.text); "the old Ti style" With Alloy... index.xml index.js index.tss designer friendly Alloy 2. Nuevos mecanismos para crear código reusable: Widgets y Builtin Libraries Application Widgets Builtin Libraries Alloy 3. Los Modelos proporcionan una capa de abstracción entre el código y la fuente de datos Incluye adaptadores para device properties, local storage y SQL lite

Interfaz CRUD para modelos de datos, acceso desde el controlador y posibilidad de capturar eventos tipo change:anyfield para enlazar el modelo a componentes. https://github.com/appcelerator/alloy usa app.tss para estilos globales!! Alloy Y mucho más... Themes http://vimeo.com/52765325 index.js: $.index.open(); //1 line of code! Curso de introducción a Titanium y Alloy (I) 7-9 de junio, Valencia Javier Rayon - @jrayon
javier@criteriastudio.com
http://www.criteriastudio.com Titanium 3 A whole mobile ecosystem Javier Rayon - @jrayon
javier@criteriastudio.com Resources http://www.criteriastudio.com/category/blog http://www.appcelerator.com http://developer.appcelerator.com/apidoc/mobile/latest https://github.com/appcelerator/alloy http://cloud.appcelerator.com/docs/ tutoriales en español download Titanium documentation, APIs and Titanium guides Alloy Appcelerator Cloud Services Documentation Componentes Alloy 100% reusables

Contienen UI y lógica

funcionan en cualquier app Alloy Animation
moment
Dialogs
Measurement
sha1
Social
String Code optimization Error catching on compilation Global styles Paridad entre plataformas Controles específicos de cada plataforma algunos ejemplos Además de otras APIs: media, accelerometer, contacts, Network, Filesystem, geo-localization, integración con Facebook... www.cursa.es
Full transcript