TITANIUM
        Eric Cavalcanti
ecavalcanti@gmail.com
              @ericoc
Apoiada pela Storm Ventures, Sierra Ventures e eBay.
Appcelerator Inc. foi fundada em 2006 por especialista em
                   desenvolvimento web.
O QUE É TITANIUM MOBILE?
Titanium Mobile é uma plataforma que permite o
desenvolvimento de aplicativos móveis nativos utilizando
uma das linguagens mais conhecidas mundialmente, o
JavaScript.
PLATAFORMA SUPORTADAS

 iOS (4.0 ou mais recente)

 Android (2.2 ou mais recente)

 BlackBerry
QUEM USA?




            ... e mais
SHOWCASE




http://www.appcelerator.com/showcase/
                applications-showcase/
WUNDERLIST
 IPHONE E IPAD
GETGLUE
IPHONE E IPAD
SCOUTMOB
IPHONE E ANDROID
ZIP CAR
IPHONE E ANDROID
FOOD BRASIL
IPHONE E ANDROID
MAIS EXEMPLOS...




http://www.builtwithtitanium.com/
LICENÇA

SDKs e Titanium Studio – open source e free

Licença Apache 2.0

Serviços comerciais de treinamentos, suporte, módulos pagos,
programa de certificações
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
PLATAFORMA IOS
PLATAFORMA TITANIUM
FUNDAMENTOS

Uma aplicação Titanium é um programa JavaScript que é
interpretado em tempo de execução no dispositivo

Não roda dentro de um browser

Webkit JavaScriptCore no iOS

Rhino/V8 no Android

Rhino no BlackBerry
CROSS-PLATFORM

Cross-platform != “Write Once, Run Everywhere”

Titanium é “Write Once, Adapt Everywhere”

100% de reuso de código não visual

Boa parte do código de UI é reusada, dependendo do design

Melhor experiência do usuário em cada plataforma
COMO FUNCIONA?

   var btn = Ti.UI.createButton();
      Titanium JavaScript API



    Bridge (JavaScript - Native)



UIButton Class               button
AGORA TAMBÉM MOBILE WEB!
CÓDIGO NATIVO

// Objective-C

UIAlertView *alert = [[UIAlertView alloc]
	 initWithTitle:@"Alert"
	 message:@"Hello World"
	 delegate:nil
	 cancelButtonTitle:@"OK"
	 otherButtonTitles:nil];

[alert show];
CÓDIGO NATIVO

// 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();;
COM O TITANIUM


// Titanium

alert("Hello World");




...e multi-plataforma!
RECURSOS ESPECÍFICOS DE
    CADA PLATAFORMA

Android: intents, background services, hardware menu button

iOS: routes in map, pre-built animations, custom fonts, Cocoa UI

APIs específicas de cada plataforma são implementadas em
namespace específicos.

Ex. Titanium.Android.Menu
EXECUTANDO CÓDIGO ESPECÍFICO PARA UMA


        PLATAFORMA


if (Ti.Platform.osname == "iphone") {
	 ...
} else {
	 ...
}
TITANIUM STUDIO E SDKS
OPEN MOBILE MARKETPLACE
   http://marketplace.appcelerator.com
APPCELERATOR CLOUD
      SERVICES

        Pre-build Web Backend

        25+ API

        Escalável

        SDKs: Titanium, iOS, Android, AS3 e REST
TIERS API
DEMO
MISSÃO CUMPRIDA!

  Eric Cavalcanti
  email: ecavalcanti@gmail.com
  twitter: @ericoc
  blog: http://www.tips4dev.com

Titanium Mobile apresentado na Campus Party Recife