Develop Mobile Apps with Corona SDK

Post on 08-Jul-2015

3.328 views 11 download

description

Presentación sobre desarrollo de aplicaciones móviles sobre la platarforma Corona SDK de Ansca Inc.

Transcript of Develop Mobile Apps with Corona SDK

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