SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
APLICAÇÕES MULTI-PLATAFORMA COM
TITANIUM MOBILE
var palestrante;
palestrante = {
nome : 'Eric Cavalcanti',
trabalhaNo : 'CESAR',
certificação : 'TCAD',
titan : true,
contato : 'ecavalcanti@gmail.com',
twitter : '@ericoc',
blog : 'tips4dev.com'
}
Apoiada pela StormVentures, SierraVentures e eBay.
Appcelerator Inc. foi fundada em 2007 por especialista em
desenvolvimento web.
GSMA Global
Mobile Awards 
2012 Winner
Gartner 2012 
Magic Quadrant
Visionary for Mobile
Application
Development
Platform
O QUE ÉTITANIUM MOBILE?
Titanium Mobile é um ambiente open source para
desenvolvimento de aplicativos móveis
multiplataforma utilizando uma das linguagens mais
conhecidas mundialmente, o JavaScript.
LICENÇA
SDKs eTitanium Studio – open source e free
Licença Apache 2.0
Serviços comerciais de treinamentos, suporte, módulos pagos,
programa de certificações
APPCELERATOR
PLATFORM
TITANIUM MOBILE
470K!
Developers!
55K!
Apps!
140M!
Devices!
QUEM USA?
... e mais
PLATAFORMA SUPORTADAS
PLATAFORMA SUPORTADAS
Nativa
TIPOS DE APLICAÇÕES
Mobile Web Híbrida
MOBILE WEB
MOBILE WEB
CSS3
JavaScript
Geolocalização
Câmera
Banco de dados
{
MOBILE WEB
MOBILE WEB
HÍBRIDA
Camada Nativa
<html>
...
</html>
UI
webview
iOS
Objective-C
Android
Java
Windows Phone
C# /Visual Basic
{
HÍBRIDA
Camada Nativa
<html>
...
</html>
UI
webview
Geolocalização
Câmera
Banco de dados
Contatos
Bússola
Notificações
Microfone
Sistemas de arquivos
{
HÍBRIDA
Camada Nativa
<html>
...
</html>
UI
webview
.ipa
.apk
.xap
HÍBRIDA
Camada Nativa
<html>
...
</html>
UI
webview
.ipa
.apk
.xap
HÍBRIDA
NATIVA
iOS
Objective-C
Android
Java
Windows Phone
C# /Visual Basic
.ipa
.apk
.xap
NATIVA
iOS
Objective-C
Android
Java
Windows Phone
C# /Visual Basic
.ipa
.apk
.xap
NATIVA
Híbrida
E OTITANIUM MOBILE?
Mobile Web Nativa
E OTITANIUM MOBILE?
Nativa
?
COMO FUNCIONA?
Bridge (JavaScript - Nativo)
var btn =Ti.UI.createButton();
Titanium JavaScript API
UIButton Class button
EXEMPLO
TITANIUM MOBILE
Código JavaScript + Assets
Interpretador JavaScript
Titanium Bridge
(código nativo)
.ipa
.apk
TITANIUM MOBILE
Código JavaScript + Assets
Interpretador JavaScript
Titanium Bridge
(código nativo)
.ipa
.apk
POR QUE NATIVA?
O usuário já está acostumado em utilizar aplicações nativas em
seu dispositivo
UI nativa tem melhor performance
Aumentamos consideravelmente a probabilidade de aprovação
por lojas mais criteriosas
PLATAFORMA ANDROID
Action bar
PLATAFORMA IOS
POR QUE NATIVA COM
TITANIUM?
Não estamos
limitados a uma
plataforma específica
1
Suporte para as maiores
plataformas
(iOS, Android, Mobile Web,
BB10,Windows 8)
2
Reduz o tempo gasto
aprendendo diversas
linguagens
Conhecimento facilmente
transferido
3
Código base único
Reduz duplicação de
esforço
CÓDIGO NATIVO
IOS
// Objective-C
UIAlertView *alert = [[UIAlertView alloc]
	 initWithTitle:@"Alert"
	 message:@"Hello World"
	 delegate:nil
	 cancelButtonTitle:@"OK"
	 otherButtonTitles:nil];
[alert show];
// Java/Android
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setMessage("Hello World");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
	 	 public void onClick(DialogInterface dialog, int id) {
	 	 // Fazer alguma coisa
	 	 }
	 });
alertDialog.show();;
CÓDIGO NATIVO
ANDROID
COM OTITANIUM
alert("Hello World");
...e multi-plataforma!
SHOWCASE
http://www.appcelerator.com/customers/app-showcase/
NBC
IPHONE E IPAD
SCOUTMOB
IPHONE E ANDROID
ZIP CAR
ANDROID
WOTCHAPP!
IPHONE, IPAD E ANDROID
GAMESTOP
IPHONE E ANDROID
AIRPORTCHATTER
IPHONE
CARDDI
IPHONE E ANDROID
MAIS EXEMPLOS...
http://www.builtwithtitanium.com/
PRÉ-REQUISITOS
Mac OS X 10.7 (Lion) ou superior
Windows 7 ou superior
Ubuntu Linux 12.04 LTS
iOS SDK
Android SDK
Tizen SDK
TITANIUM STUDIO E SDKS
Titanium Studio é uma IDE baseada no eclipse que
interage com vários scripts Python contidos no
Titanium SDK
Os scripts interagem com
as ferramentas nativas de
cada plataforma
OPEN MOBILE MARKETPLACE
http://marketplace.appcelerator.com
TIPOS DE
PROJETO
TITANIUM CLASSIC
Interface definida via código
CommonJS Modules
CLASSIC
EXECUTANDO CÓDIGO ESPECÍFICO PARA UMA
PLATAFORMA
(CLASSIC)
if (Ti.Platform.osname == "android") {
	 ...
} else {
	 ...
}
[android, iphone, ipad, mobileweb, tizen]
TITANIUM ALLOY
UI declarativa (XML)
Framework MVC
Widgets
Themes
ALLOY APP
index.xml index.tss
index.js
$.index.open();
POR QUE UM FRAMEWORK
MVC?
Provê uma clara separação de papéis e responsabilidades
Melhor organização do código
Mais fácil de manter e expandir
MVC
Models - fornece a lógica de negócio, contém regras, dados e o
estado da aplicação.
Views - fornece os componentes de UI para o usuário, apresentando
os dados e permitindo que o usuário interaja com o modelo.
Controllers - fornece a interação entre os componentes de UI e o
modelo.
MVC
Controller
Model View
MVC
Controller
Model View
Encapsula dados e
comportamento
MVC
Controller
Model View
Apresenta informações ao usuário
e recebe suas interações
MVC
Controller
Model View
Intermediário entre
o Model e aView
ESTRUTURA DO
PROJETO
ESTRUTURA DO
PROJETO
ESTRUTURA DO
PROJETO
ESTRUTURA DO
PROJETO
ESTRUTURA DO
PROJETO
ALLOY
EXECUTANDO CÓDIGO ESPECÍFICO PARA UMA
PLATAFORMA
(ALLOY)
if (OS_ANDROID) {
	 ...
} else {
	 ...
}
[OS_IOS, OS_ANDROID, OS_MOBILEWEB, ENV_DEV, ENV_TEST, ENV_PRODUCTION]
EXECUTANDO CÓDIGO ESPECÍFICO PARA UMA
PLATAFORMA
(ALLOY)
<Alloy>
<Window>
<View ns="Ti.Map" id="mapview">
<Annotation title="Cupertino" platform='ios' formFactor='tablet'
latitude='37.3231' longitude='-122.0311'/>
<Annotation title="Redwood City" platform='ios' formFactor='handheld'
latitude='37.4853' longitude='-122.2353'/>
<Annotation title="Mountain View" platform='android' latitude='37.3861'
longitude='-122.0828'/>
<Annotation title="Palo Alto" platform='android,ios,mobileweb'
latitude='37.4419' longitude='-122.1419'/>
<Annotation title="San Francisco" platform='mobileweb' latitude='37.7750'
longitude='-122.4183'/>
</View>
</Window>
</Alloy>
[android, ios, mobileweb]
EXECUTANDO CÓDIGO ESPECÍFICO PARA UMA
PLATAFORMA
(ALLOY)
<Alloy>
<Window>
<View ns="Ti.Map" id="mapview">
<Annotation title="Cupertino" platform='ios' formFactor='tablet'
latitude='37.3231' longitude='-122.0311'/>
<Annotation title="Redwood City" platform='ios' formFactor='handheld'
latitude='37.4853' longitude='-122.2353'/>
<Annotation title="Mountain View" platform='android' latitude='37.3861'
longitude='-122.0828'/>
<Annotation title="Palo Alto" platform='android,ios,mobileweb'
latitude='37.4419' longitude='-122.1419'/>
<Annotation title="San Francisco" platform='mobileweb' latitude='37.7750'
longitude='-122.4183'/>
</View>
</Window>
</Alloy>
[tablet, handheld]
ALLOYTSS
Platform-Specific styles
// iPhone
"Label[platform=ios formFactor=handheld]": {
backgroundColor: "#f00",
text: 'iPhone'
},
// iPad and iPad mini
"Label[platform=ios formFactor=tablet]": {
backgroundColor: "#0f0",
text: 'iPad'
},
// Android handheld and tablet devices
"Label[platform=android]": {
backgroundColor: "#00f",
text: 'Android'
},
// Any Mobile Web platform
"Label[platform=mobileweb]": {
backgroundColor: "#f0f",
text: 'Mobile Web'
}
• app
◦ assets
■ appicon.png
■ background.png
◦ controllers
◦ styles
■ index.tss
■ window.tss
◦ themes
■ mytheme
■ assets
■ background.png
■ styles
■ app.tss
◦ views
■ index.xml
■ window.xml
ALLOYTEMAS
BACKBONE
NO ALLOY
Models
Mantém o
controle dos seus
dados
Collections
Gerencia listas/
array desses seus
dados
Sync/Adapters
SQLite,
Properties, REST,
ACS, CouchDB...
ALLOY
MODELS
exports.definition = {
config: {
"columns": {
"title": "String",
"author": "String"
},
"adapter": {
"type": "sql",
"collection_name": "books"
	 	 }
	 },
	 extendModel: function(Model) {	 	
	 	 _.extend(Model.prototype, {
	 	 	 // extended override or implement Backbone.Model
	 	 });
	 	 return Model;
	 },
	 extendCollection: function(Collection) {	 	
	 	 _.extend(Collection.prototype, {
	 	 	 // extended override or implement Backbone.Collection
	 	 });
	 	 return Collection;
	 }
}
ALLOY
MODELS
exports.definition = {
config: {
"columns": {
"title": "String",
"author": "String"
},
"adapter": {
"type": "sql",
"collection_name": "books"
	 	 }
	 },
	 extendModel: function(Model) {	 	
	 	 _.extend(Model.prototype, {
	 	 	 // extended override or implement Backbone.Model
	 	 });
	 	 return Model;
	 },
	 extendCollection: function(Collection) {	 	
	 	 _.extend(Collection.prototype, {
	 	 	 // extended override or implement Backbone.Collection
	 	 });
	 	 return Collection;
	 }
}
ALLOY
MODELS
exports.definition = {
config: {
"columns": {
"title": "String",
"author": "String"
},
"adapter": {
"type": "sql",
"collection_name": "books"
	 	 }
	 },
	 extendModel: function(Model) {	 	
	 	 _.extend(Model.prototype, {
	 	 	 // extended override or implement Backbone.Model
	 	 });
	 	 return Model;
	 },
	 extendCollection: function(Collection) {	 	
	 	 _.extend(Collection.prototype, {
	 	 	 // extended override or implement Backbone.Collection
	 	 });
	 	 return Collection;
	 }
}
var book = Alloy.createModel('book',
{title:'A Game of Thrones', author:'George R.R. Martins'});
book.save();
INSTANCIANDO O
MODEL
var library = Alloy.createCollection('book');
library.fetch(); // Grab data from persistent storage
INSTANCIANDO A
COLLECTION
WIDGETS
http://www.danielsefton.com/2013/05/slider-menu-widget-v2-for-titanium-alloy/
MAIS
WIDGETS
http://alloylove.com/
DEMO
APPCELERATOR CLOUD
SERVICES
Pre-build Web Backend
25+ API
Escalável
SDKs:Titanium, iOS,Android,AS3 e REST
TIERS API
CÓDIGO FONTE
http://github.com/ecavalcanti/
http://www.slideshare.net/ericoc
SLIDES
Obrigado!

Contenu connexe

Tendances

Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Stefanini
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosRodney Repullo
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneHenrique Perticarati
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2Kalil Maciel
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Wennder Santos
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2Jose Berardo
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
Android Wear DevFest Sudeste 2015
Android Wear DevFest Sudeste 2015Android Wear DevFest Sudeste 2015
Android Wear DevFest Sudeste 2015Nelson Glauber Leal
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Horacio Diamante Mondlane
 
Android Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcpsAndroid Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcpsCesar Augusto Nogueira
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldMarcio Palheta
 
Desmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoDesmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoWilliam Ribeiro da Silva
 

Tendances (20)

Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para Negocios
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
 
10 android - leonardo
10   android - leonardo10   android - leonardo
10 android - leonardo
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Android Wear DevFest Sudeste 2015
Android Wear DevFest Sudeste 2015Android Wear DevFest Sudeste 2015
Android Wear DevFest Sudeste 2015
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03
 
Android Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcpsAndroid Wear - Workshop por @cesarnogcps
Android Wear - Workshop por @cesarnogcps
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorld
 
Desmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoDesmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbrido
 

Similaire à Titanium Mobile - Campus Party Recife 2

Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem FioDouglas Frari
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2MEelliando dias
 
la 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapla 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapRoberson Alves
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Erisvaldo Junior
 
RAD Studio XE8 - Delphi Tour 2015
RAD Studio XE8 - Delphi Tour 2015RAD Studio XE8 - Delphi Tour 2015
RAD Studio XE8 - Delphi Tour 2015Fernando Rizzato
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesWilliam S. Rodriguez
 
Dispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryDispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryValdir Junior
 
Overview do Windows Phone 7 Series
Overview do Windows Phone 7 SeriesOverview do Windows Phone 7 Series
Overview do Windows Phone 7 SeriesLuciano Condé
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaJose Augusto Cintra
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rqKMILT
 

Similaire à Titanium Mobile - Campus Party Recife 2 (20)

Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem Fio
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
 
Phonegap
PhonegapPhonegap
Phonegap
 
Titanium
TitaniumTitanium
Titanium
 
la 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapla 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gap
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
 
RAD Studio XE8 - Delphi Tour 2015
RAD Studio XE8 - Delphi Tour 2015RAD Studio XE8 - Delphi Tour 2015
RAD Studio XE8 - Delphi Tour 2015
 
Workshop - Cordova e Ionic
Workshop - Cordova e IonicWorkshop - Cordova e Ionic
Workshop - Cordova e Ionic
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
Migração pra android
Migração pra androidMigração pra android
Migração pra android
 
Show Day Droid x
Show Day Droid xShow Day Droid x
Show Day Droid x
 
Android
AndroidAndroid
Android
 
Dispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryDispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerry
 
Overview do Windows Phone 7 Series
Overview do Windows Phone 7 SeriesOverview do Windows Phone 7 Series
Overview do Windows Phone 7 Series
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis Multiplataforma
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
2 curso-titanium-plataforma
2 curso-titanium-plataforma2 curso-titanium-plataforma
2 curso-titanium-plataforma
 
Conheça a Plataforma Xamarin
Conheça a Plataforma XamarinConheça a Plataforma Xamarin
Conheça a Plataforma Xamarin
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 

Plus de Eric Cavalcanti

Scrum Adoption in an Academic Distributed Environment
Scrum Adoption in an Academic Distributed EnvironmentScrum Adoption in an Academic Distributed Environment
Scrum Adoption in an Academic Distributed EnvironmentEric Cavalcanti
 
Utilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexUtilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexEric Cavalcanti
 
Desmistificando o cairngorm
Desmistificando o cairngormDesmistificando o cairngorm
Desmistificando o cairngormEric Cavalcanti
 
FireScrum - Ontem, Hoje e o Futuro
FireScrum - Ontem, Hoje e o FuturoFireScrum - Ontem, Hoje e o Futuro
FireScrum - Ontem, Hoje e o FuturoEric Cavalcanti
 

Plus de Eric Cavalcanti (9)

React Native - JSday
React Native - JSdayReact Native - JSday
React Native - JSday
 
Agile
AgileAgile
Agile
 
Scrum
ScrumScrum
Scrum
 
Scrum Adoption in an Academic Distributed Environment
Scrum Adoption in an Academic Distributed EnvironmentScrum Adoption in an Academic Distributed Environment
Scrum Adoption in an Academic Distributed Environment
 
Utilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexUtilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações Flex
 
Desmistificando o cairngorm
Desmistificando o cairngormDesmistificando o cairngorm
Desmistificando o cairngorm
 
FireScrum - Ontem, Hoje e o Futuro
FireScrum - Ontem, Hoje e o FuturoFireScrum - Ontem, Hoje e o Futuro
FireScrum - Ontem, Hoje e o Futuro
 
FireScrum Agiles2009
FireScrum Agiles2009FireScrum Agiles2009
FireScrum Agiles2009
 
FireScrum
FireScrumFireScrum
FireScrum
 

Titanium Mobile - Campus Party Recife 2