Extending titanium

Post on 16-Jan-2017

1.411 views 0 download

Transcript of Extending titanium

Abraham BarreraDesarrolladorabout.me/abrahambarrera

Extendiendo Titanium Mobile

:DcExtendiendo

Titanium

:DcEntendiendo

Titanium

Qué y Cuánto

Sabemos

:DcCool !

Muiltiplataforma

The important is Here !

:Dc

Bridge Javascript

toJava and Objective-

C

Front-End Compiler

generate the appropriate

platform-specific native code, native

project (if necessary) and

build any specific code that is necessary to

compile Titanium for a given

platform compiler..Bla bla bla bla

Blablablab bla bla blaaaa

Bla bl b bla bla blblblblbba

Javascript To Objective-C (iOS)

:Dc

JavaScriptCore Webkit:Dc

http://opensource.apple.com/source/JavaScriptCore/

http://www.phoboslab.org/log/2011/06/javascriptcore-project-files-for-ios

1. Genera un proyecto XCode:Dc

2. Serializar código Javascript a base64:Dc

3. Embebe código Serializado en los archivos “C” :Dc

4. Compila código nativo con

xcodebuild :Dc

5. Interpreta en Runtime el código

serializado con JavaScriptCore :Dc

Javascript To Java (Android)

:Dc

Rhino JSC Compiler Mozilla:Dc

http://www.mozilla.org/rhino/jsc.html

1. Genera un proyecto Android (eclipse):Dc

2. Compila el código Javascript con JSC

CompilerDc

3. Genera APKDc

:DcEntendemos Titanium

:DcExtendemos Titanium

Titanium Modules:Dc

Módulo: Set de APIS

ProxysViewProxys

ViewsModules

ProxysViewProxys

ViewsModules

ProxysViewProxys

ViewsModules

ProxysViewProxys

ViewsModules

ProxysViewProxys

ViewsModules

Hands on Lab

Defina un nombre SIN “-”

Defina un nombre SIN “-”#JavascriptFail

# titanium create --platform=iphone --

type=module --dir=./ --name=mimodulo --

id=org.adamantio.mimodulo

# cd mimodulo

Classes/ Assets/ build.pyExample/ mimodulo.xcodeproj manifesttimodule.xml

version: 0.1 description: Mi modulo author: Abraham Barrera license: Apache copyright: Copyright (c) 2011

manifest

# open mimodulo.xcodeproj

Corregir Archivo build.pyMarkdown por markdown2

# ./build.py # titanium run

# cp org.adamantio.mimodulo-

0.1.zip /Library/Application\ Support/Titanium/

# cd /Library/Application\ Support/Titanium/# unzip org.adamantio.mimodulo-iphone-0.1.zip

Usarlo en nuestra propia aplicación Titanium

<modules> <module version="0.1"> org.adamantio.mimodulo </module></modules>

tiapp.xml

var elmodulo = require('org.adamantio.mimodulo');elmodulo.hacer_algo();

app.js

Titanium Modules(bonus track)

:Dc

Titanium Modules:Dc

Apple Storekit Barcode reader

Magtek credit card readerPaypalSMS

TV OutOmnitureAnalytics

Appcelerator:Dc

Titanium MobileOPENSOURCE PROJECT

:Dc

Internal Devs:Dc

thousands of developers (QA)

Titanium MobileBUY CERTIFIED “NO

OPENSOURCE” CODE:Dc

Titanium MobileEPIC “WIN” TO APPCELERATOR

:Dc

Titanium MobileMEGA “FAIL” TO COMMUNITY

:Dc

Appcelerator Titanium

:

Más fuerte que el Titanium

Adamantio

developer.adamantio.org:Dc

groups.google.com/group/

adamantio-announce:Dc

groups.google.com/group/

adamantio-devel:Dc

Abraham Barrera C.Desarrollador

http://about.me/abrahambarrera