Upload
alberto-dominguez
View
3.321
Download
11
Embed Size (px)
DESCRIPTION
Presentación sobre desarrollo de aplicaciones móviles sobre la platarforma Corona SDK de Ansca Inc.
Citation preview
Desarrollo de Aplicaciones Móviles
Multiplataforma
#presentación
#presentación
Alberto Domínguez
Ingeniero de Sistemas y Computación (BSc. y MSc.)Programador Certificado Java (SCJP)Gerente de Proyectos (PMP)Profesor Universitario (Programación y GP)Miembro ACIS, PMIOrganizador @Bogotech
Miembro del Equipo Torrenegra LabsReferral Program Manager @LetMeGo
@_dominguez_http://co.linkedin.com/in/albertodominguezs
#motivación
+2MM iPad
+80MMiPhone +
iPod Touch
+40 ~3.5MM
+5000MM descargas appstore
+$1000MMingresos
65000+dispositivos
xdía
+100Kapps
#intro
#ecosistema
+=
Corona
~16% SOM ~9% SOM
~25% SOM
Corona SDK
es un producto de Ansca, Inc. http://www.anscamobile.com/corona
... y no soy socio, ni empleado!
#alternativas
iPhone / iPod / iPad SDK - AppleCorona - Ansca InciPhone Wax - probablyinteractiveTitanium Mobile - AppceleratorPhonegap - NitobiRodhes - RhomobileFlash CS5 - Adobe
#pqp
#pqpCorona SDK
No puedo creer lo poco que me tomó estar listo para desarrollar apps con Corona.Es uno de los mejores kits (emergentes) de desarrollo que haya usado recientemente. Chevere!-- Scott Janousek (@scottjanousek)
Corona SDK me permitió desarrollar la aplicación de Campus Party para iPhone en menos de 4 días-- Ivan Sosa (@ivansosa)
Que afortunado soy al no tener que aprender Objective C.-- Alberto Domínguez (@_dominguez_)
#historia
Venture Palo-Alto, CAAdobe Flash Lite
Ansca is committed to creating innovative mobile products allowing anyone to create great mobile apps and games.
#sdk versión 2 beta 5
#lua
#lua
Lua - Luna en Portuguese Creado en 1993 por Roberto Ierusalimschy Luiz Henrique de FigueiredoWaldemar Celes @ TecgrafPontificia Universidad Católica de Rio de Janerio
#juegos
#lua#quiero-ver-código
#proyectos
Proyecto por carpetaTodo los elementos se compilan en una sola AppEl archivo principal es main.luaEditores:
XCodeBBEditTextWrangler
#simulador
#proceso
1. Diseñar aplicación2. Desarrollar el código Lua3. Cargar y probar aplicación en el Simulador4. Compilar aplicación via XCode
#hola-mundo
background = display.newImage('cpbogota.jpg')title = display.newText('Hola Mundo', 15, 30)title:setTextColor(0, 120, 255)
#WTF!
#hola-mundo
background = display.newImage('cpbogota.jpg')title = display.newText('Hola Mundo', 15, 30)title:setTextColor(0, 120, 255)
#lua
#tipos
nil boolean numberstring function userdatathread table
#condicional#lua
while exp do block end repeat block until expif exp then block elseif exp then blockelseif exp then block...else block end
#variables#lua
-- VariablesvariableGlobal = 10local variableLocal = 20
#tablas#lua
-- Tablaslocal palabras = {'lua', 'campus', 'corona'}local diccionario = {x = 5, y = 3, z = 23}print (diccionario.x)
#cadenas#lua
-- Cadenas - Stringsa = 'alo\n123"'a = "alo\n123\""a = '\97lo\10\04923"'a = [[alo123"]]a = [==[alo123"]==]
#botones#lua
local ui = require("ui")-- Botonlocal button = ui.newButton{ default = "buttonYellow.png", over = "buttonYellowOver.png", onEvent = buttonHandler, id = "button2", text = "Button 2 Label", font = "Trebuchet-BoldItalic", textColor = { 51, 51, 51, 255 }, size = 22, emboss = true}
#movieclip#lua
display.setStatusBar(display.HiddenStatusBar)-- Crea "capas"background = display.newGroup()foreground = display.newGroup()
animacion = movieclip.newAnim{"cube1.png", "cube2.png", "cube3.png", "cube4.png", "cube5.png", "cube6.png"} foreground:insert(animacion)animacion.play()
#movieclip#lua
sec = {}for i = 1,6 do table.insert(sec, "cube" .. i .. ".png")endanimacion = movieclip.newAnim{sec} foreground:insert(animacion)
#movieclip#lua
sec = {}for i = 1,6 do table.insert(sec, "cube" .. i .. ".png")endanimacion = movieclip.newAnim{sec} foreground:insert(animacion)
#device#lua
local bkgd = display.newRect(0, 0, display.stageWidth, display.stageHeight)bkgd:setFillColor(128, 0, 0) local listener = function(event) media.show(media.Camera, sessionComplete) return trueendbkgd:addEventListener("tap", listener)
#aplicación
#cpbogota#iphone
#coronasdk
Información sobre el eventoMapaCarga de datos remotosMultipantalla - varias escenas
#game-enginealpha
#game-enginepaso 1: ambiente
local sky = display.newImage( "clouds.png" ) local ground = display.newImage( "ground.jpg" )ground.y = 405
#game-enginepaso 2: sujeto
local crate = display.newImage( "crate.png" )crate.x = 180crate.y = 80crate.rotation = 10
#game-enginepaso 2: magia
local physics = require( "physics" )physics.start()...physics.addBody( ground, { friction=0.5 } )ground.bodyType = "static"...physics.addBody( crate, { density=2.0, friction=0.5, bounce=0.3 } )
#WTF2!
#game-enginepaso 2: magia++
local physics = require( "physics" )physics.start()...physics.addBody( ground, { friction=0.5 } )ground.bodyType = "static"...physics.addBody( crate, { density=2.0, friction=0.5, bounce=0.3 } )
#WTF3!
#next-steps
estudiarObjective C
¡NO!
#next-steps
Principio KISShttp://es.wikipedia.org/wiki/Principio_KISSExperimentarVisitar foros de desarrolladoresEstudiarRegistrarse como Apple Developer ($)Registrarse como Corona Developer ($)
#GRACIAS