extending titanium
TRANSCRIPT
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