SlideShare una empresa de Scribd logo
1 de 25
Aplicaciones móviles a 60fps




blocketpc.com
Spanish Mobile and Devices Adobe User Group

Raúl Jiménez
Twitters: @elecash
          @BlocketPc

Mails: elecash@gmail.com
       info@blocketpc.com
Españoles...




          FLASH HA
           MUERTO
(bueno en realidad sólo en el navegador, y a decir verdad, sólo en móviles, pero da igual, mola un montón)
Chan! Chan! Chaaaaaaaaaan!!
No, pero casi...




          FLASH HA
           MUERTO
(bueno en realidad sólo en el navegador, y a
decir verdad, sólo en móviles, pero da igual,
              mola un montón)
La realidad




- Adobe ha cambiado nuestro rol como programadores
AS3

- Ahora hay que programar juegos para dispositivos y
video

- Sigue habiendo una gran necesidad de aplicaciones

- Igual que antes existía el “Pixel-Perfect”, ahora existen
las “Smooth Apps”
Smooth Apps




- Deben correr a 60fps o cercano

- No han de presentar lags (pérdidas de fps) en ningún
momento

- Deben ser agradables de usar, que den ganas de
tocarla
El problema



- Adobe donó Flex a Apache y desde entonces no hay un
framework de componentes oficial

- Flex Hero no funciona demasiado bien en dispositivos,
es demasiado pesado

- AIR y Flash en móviles pueden funcionar a 30fps
fácilmente, pero más es complicado

- Podemos desarrollar aplicaciones aceleradas por GPU
gracias al 3D y el direct mode
AS3 y el 3D




- Las APIs 3D de Flash son increíblemente veloces

- Existen frameworks de desarrollo de videojuegos 3D y
2D acelerados por GPU

- Pero desarrollar 3D es muy complejo y yo quiero
desarrollar aplicaciones!! No juegos!! >:-(

- Tranquilidad, tranquilidad... existen soluciones :D
Soluciones en el mercado




- Starling: Framework de desarrollo de videojuegos 2D
http://gamua.com/starling/


- Foxhole: Framework y componentes desarrollados
sobre Starling
https://github.com/joshtynjala/foxhole-starling/


- Mad Components: Framework de componentes
http://code.google.com/p/mad-components/
Starling: ¿Cómo funciona?




- Desarrollar 3D es muy complejo, Starling facilita el
desarrollo emulando la API de Flash

- Por ejemplo: flash.display.Sprite pasa a ser
starling.display.Sprite

- En el 3D no hay vectores, sólo texturas, así que cambia
la forma en que hacemos las cosas

- Hay ventajas y desventajas
Starling: Las texturas y sus cosas



- Subir texturas a la GPU es un proceso muy intensivo

- Debemos ahorrar en subidas a la GPU reutilizando
texturas una vez están subidas y empaquetando texturas
en una imagen

- No hay API drawing, pero podemos pintar sobre un
Sprite de Flash y luego convertirlo en un Bitmap que lo
subimos a la GPU

Ejemplo TexturePacker y BMFont
Starling: Crear una aplicación Starling




- Instancia Starling y ya puedes comenzar a usar la API


 Starling.handleLostContext = true;
 Starling.multitouchEnabled = true;

 const MainType:Class =
 getDefinitionByName("com.blocketpc.subflash.Subfla
 shApp") as Class;

 this._starling = new Starling(MainType,
 this.stage);
 this._starling.start();
Foxhole: Introducción



- Al igual que Starling es un proyecto de código abierto

- Se instancia sobre starling.display.Sprite

- Componentes: Screen, Button, Check, List,
ProgressBar, Radio, ScrollBar, etc...

- Sistema de inyección de dependencias

- Sistema de temas

- Y mucho más... :)
Foxhole: Sistema de pantallas



- ScreenNavigator controla las vistas que son
componentes Screen

 navigator = new ScreenNavigator();
 addChild(navigator);

 var events:Object = {onSelectSession: SESSION_DETAIL_SCREEN};
 var data:Object = {
     dataProvider: XML(dataProvider.section.sessions),
     originalDPI: originalThemeDPI
 };

 item = new ScreenNavigatorItem(SessionsScreen, events, data);

 navigator.addScreen(SESSIONS_SCREEN, item);
 navigator.showScreen(SESSIONS_SCREEN);
Foxhole: Transiciones entre pantallas



- Se pueden ejecutar transiciones entre nuestras vistas
de ScreenNavigator


  transitionManager = new
  ScreenSlidingStackTransitionManager(navigator);

  transitionManager.duration = 0.4;
  transitionManager.ease = Cubic.easeOut;

  navigator.showScreen(“myScreen”);


Ejemplo:
http://flashtoolbox.com/foxhole-starling/examples/layout-explorer/
Foxhole: Temas



- Foxhole cuenta con un potente sistema de temas con el
que poder personalizar nuestros componentes


  const isDesktop:Boolean = Mouse.supportsCursor;
  theme = new MinimalTheme(stage, !isDesktop);
  const originalThemeDPI:int = theme.originalDPI;


Tema 1:
http://flashtoolbox.com/foxhole-starling/examples/layout-explorer/
Tema 2:
http://flashtoolbox.com/foxhole-starling/examples/kitchen-sink/
Foxhole: Componentes



- Foxhole tiene componentes para prácticamente todo lo
que necesitas en un móvil o un Pc


  emailButton = new Button();
  emailButton.onRelease.add(onEmailButton);
  container.addChild(emailButton);


Componentes:
http://flashtoolbox.com/foxhole-starling/examples/kitchen-sink/
Foxhole: Creación de componentes



- Siempre puedes hacerte tus componentes si no hay
alguno disponible


 description = new TextArea();
 description.text = this.data.description;
 container.addChild(description);


Ejemplo TouchableImage
EJEMPLO DE UNA
  APLICACIÓN

  SUBFLASH
Foxhole: Problemas




- Si tu aplicación tiene muchas texturas deberías
descartar Starling y Foxhole.. por ahora (Workers)

- El control del texto es complejo y Foxhole ahora no
tiene un componente de texto multilínea

- Trabajar con texturas puede resultar tedioso al principio

- Crear un tema es complejo aunque muy potente
Foxhole: Ventajas




- La velocidad a la que se mueve todo, esos 60fps
deseados por las “Smooth Apps”

- Escalado automático por DPI

- Componentes muy sólidos y estables en un proyecto
que tiene constantes actualizaciones

- Soporte por parte de Adobe al proyecto de Starling y
puede que a Foxhole igual que han hecho con Away3D
Foxhole: Consejos 1/3


- Reutiliza todas las texturas que puedas con Object
Pooling (Ejemplo AssetLibrary)

- Utiliza flatten() para cachear el contenido estático

- Los hijos y eventos se limpian automáticamente al
hacer un removeChild

- Simula los eventos de Touch con simulateMultitouch
(Ejemplo SimulateMultitouch)
 starling = new Starling();
 starling.simulateMultitouch = true;
Foxhole: Consejos 2/3



- Las Release Builds pueden duplicar tus fps en
comparación a cuando haces un debug

- Utiliza los ActionScript Workers para procesos muy
intensivos (Flash Player 11.4 y AIR 3.4)

- Estudia acerca de Native Extensions, lo vas a necesitar
en Android/iOS (In-App Purchase, Notifications, etc...)

- Infórmate sobre las Starling Extensions
http://wiki.starling-framework.org/extensions/start
Foxhole: Consejos 3/3

- Lee el manual que escribió Thibault Imbert sobre
Starling (Gratis!!)
http://shop.oreilly.com/product/0636920024217.do


- Mira los videotutoriales de Hemanth Sharma
disponibles gratis en su web
http://www.hsharma.com/tutorials/


- En Active Tuts+ también encontraréis buena
información
http://active.tutsplus.com/tutorials/effects/starling-particle...


- Visita regularmente los foros de Starling y Foxhole
http://forum.starling-framework.org/
http://forum.starling-framework.org/forum/foxhole
GRACIAS A TODOS

 ¿PREGUNTAS?

Más contenido relacionado

La actualidad más candente

Frameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móvilesFrameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móvilesADWE Team
 
FirebugNext ¿Qué se viene en la nueva versión de Firebug?
FirebugNext ¿Qué se viene en la nueva versión de Firebug?FirebugNext ¿Qué se viene en la nueva versión de Firebug?
FirebugNext ¿Qué se viene en la nueva versión de Firebug?hidekel
 
Manual+de+camtasia+para+bibliotecarios
Manual+de+camtasia+para+bibliotecariosManual+de+camtasia+para+bibliotecarios
Manual+de+camtasia+para+bibliotecariospedro pablo pacheco
 
Taller de creación de videotutoriales
Taller de creación de videotutorialesTaller de creación de videotutoriales
Taller de creación de videotutorialesalamito
 

La actualidad más candente (8)

Camtasia
CamtasiaCamtasia
Camtasia
 
Diarios de campo
Diarios de campoDiarios de campo
Diarios de campo
 
Frameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móvilesFrameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móviles
 
FirebugNext ¿Qué se viene en la nueva versión de Firebug?
FirebugNext ¿Qué se viene en la nueva versión de Firebug?FirebugNext ¿Qué se viene en la nueva versión de Firebug?
FirebugNext ¿Qué se viene en la nueva versión de Firebug?
 
Manual+de+camtasia+para+bibliotecarios
Manual+de+camtasia+para+bibliotecariosManual+de+camtasia+para+bibliotecarios
Manual+de+camtasia+para+bibliotecarios
 
Manual de Camtasia
Manual de CamtasiaManual de Camtasia
Manual de Camtasia
 
Herramientas de Flash
Herramientas de FlashHerramientas de Flash
Herramientas de Flash
 
Taller de creación de videotutoriales
Taller de creación de videotutorialesTaller de creación de videotutoriales
Taller de creación de videotutoriales
 

Destacado

Realidad Aumentada
Realidad AumentadaRealidad Aumentada
Realidad AumentadaRaul Jimenez
 
Adobe AIR Native Extensions
Adobe AIR Native ExtensionsAdobe AIR Native Extensions
Adobe AIR Native ExtensionsRaul Jimenez
 
2 Training on webwroks for Word
2 Training on webwroks for Word2 Training on webwroks for Word
2 Training on webwroks for Wordsumeettechno
 

Destacado (7)

Realidad Aumentada
Realidad AumentadaRealidad Aumentada
Realidad Aumentada
 
Adobe AIR Native Extensions
Adobe AIR Native ExtensionsAdobe AIR Native Extensions
Adobe AIR Native Extensions
 
Diseño inclusivo
Diseño inclusivoDiseño inclusivo
Diseño inclusivo
 
HTML5 WebWorks
HTML5 WebWorksHTML5 WebWorks
HTML5 WebWorks
 
DPS + HTML5
DPS + HTML5DPS + HTML5
DPS + HTML5
 
2 Training on webwroks for Word
2 Training on webwroks for Word2 Training on webwroks for Word
2 Training on webwroks for Word
 
HTML5 y WebGL
HTML5 y WebGLHTML5 y WebGL
HTML5 y WebGL
 

Similar a Taller subflash 2012

T. multimedia giovanny lombana
T. multimedia giovanny lombanaT. multimedia giovanny lombana
T. multimedia giovanny lombanaGiovanny10
 
Introduccion a flash cs5
Introduccion a flash cs5Introduccion a flash cs5
Introduccion a flash cs5maangeliica
 
Libro curso de flash 8
Libro curso de flash 8Libro curso de flash 8
Libro curso de flash 8Sergio Medina
 
Investigacion de 2 d sulay españa
Investigacion de 2 d sulay españaInvestigacion de 2 d sulay españa
Investigacion de 2 d sulay españasulaiespana
 
T1 e1 terroba
T1 e1 terrobaT1 e1 terroba
T1 e1 terrobaplinanoia
 
Alejandra vargas (1)
Alejandra vargas (1)Alejandra vargas (1)
Alejandra vargas (1)zalejitha
 
Lina cardona flash n1
Lina cardona flash n1Lina cardona flash n1
Lina cardona flash n1LinaCtriana
 
Video desde camara web raspberry motion
Video desde camara web raspberry motionVideo desde camara web raspberry motion
Video desde camara web raspberry motionfalso234
 
Flash Macromedia
Flash MacromediaFlash Macromedia
Flash Macromedialousyanita
 
Flash professional cs5
Flash professional cs5Flash professional cs5
Flash professional cs590000111
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Ricardo Guerrero Gómez-Olmedo
 

Similar a Taller subflash 2012 (20)

T. multimedia giovanny lombana
T. multimedia giovanny lombanaT. multimedia giovanny lombana
T. multimedia giovanny lombana
 
FlASH Macro
FlASH MacroFlASH Macro
FlASH Macro
 
Introduccion a flash cs5
Introduccion a flash cs5Introduccion a flash cs5
Introduccion a flash cs5
 
Libro curso de flash 8
Libro curso de flash 8Libro curso de flash 8
Libro curso de flash 8
 
Investigacion de 2 d sulay españa
Investigacion de 2 d sulay españaInvestigacion de 2 d sulay españa
Investigacion de 2 d sulay españa
 
T1 e1 terroba
T1 e1 terrobaT1 e1 terroba
T1 e1 terroba
 
Alejandra vargas (1)
Alejandra vargas (1)Alejandra vargas (1)
Alejandra vargas (1)
 
Lina cardona flash n1
Lina cardona flash n1Lina cardona flash n1
Lina cardona flash n1
 
E book en adobe
E book en adobeE book en adobe
E book en adobe
 
E book
E bookE book
E book
 
E book
E bookE book
E book
 
Macromedia Flash 8
Macromedia  Flash 8Macromedia  Flash 8
Macromedia Flash 8
 
Video desde camara web raspberry motion
Video desde camara web raspberry motionVideo desde camara web raspberry motion
Video desde camara web raspberry motion
 
Flash Macromedia
Flash MacromediaFlash Macromedia
Flash Macromedia
 
Html5 vs Flash
Html5 vs FlashHtml5 vs Flash
Html5 vs Flash
 
Flash tercer periodo
Flash tercer periodoFlash tercer periodo
Flash tercer periodo
 
Flash professional cs5
Flash professional cs5Flash professional cs5
Flash professional cs5
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
 
Action script 3.0
Action script 3.0Action script 3.0
Action script 3.0
 
Action script 3.0
Action script 3.0Action script 3.0
Action script 3.0
 

Último

tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 

Último (20)

tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 

Taller subflash 2012

  • 1. Aplicaciones móviles a 60fps blocketpc.com Spanish Mobile and Devices Adobe User Group Raúl Jiménez Twitters: @elecash @BlocketPc Mails: elecash@gmail.com info@blocketpc.com
  • 2. Españoles... FLASH HA MUERTO (bueno en realidad sólo en el navegador, y a decir verdad, sólo en móviles, pero da igual, mola un montón)
  • 4. No, pero casi... FLASH HA MUERTO (bueno en realidad sólo en el navegador, y a decir verdad, sólo en móviles, pero da igual, mola un montón)
  • 5. La realidad - Adobe ha cambiado nuestro rol como programadores AS3 - Ahora hay que programar juegos para dispositivos y video - Sigue habiendo una gran necesidad de aplicaciones - Igual que antes existía el “Pixel-Perfect”, ahora existen las “Smooth Apps”
  • 6. Smooth Apps - Deben correr a 60fps o cercano - No han de presentar lags (pérdidas de fps) en ningún momento - Deben ser agradables de usar, que den ganas de tocarla
  • 7. El problema - Adobe donó Flex a Apache y desde entonces no hay un framework de componentes oficial - Flex Hero no funciona demasiado bien en dispositivos, es demasiado pesado - AIR y Flash en móviles pueden funcionar a 30fps fácilmente, pero más es complicado - Podemos desarrollar aplicaciones aceleradas por GPU gracias al 3D y el direct mode
  • 8. AS3 y el 3D - Las APIs 3D de Flash son increíblemente veloces - Existen frameworks de desarrollo de videojuegos 3D y 2D acelerados por GPU - Pero desarrollar 3D es muy complejo y yo quiero desarrollar aplicaciones!! No juegos!! >:-( - Tranquilidad, tranquilidad... existen soluciones :D
  • 9. Soluciones en el mercado - Starling: Framework de desarrollo de videojuegos 2D http://gamua.com/starling/ - Foxhole: Framework y componentes desarrollados sobre Starling https://github.com/joshtynjala/foxhole-starling/ - Mad Components: Framework de componentes http://code.google.com/p/mad-components/
  • 10. Starling: ¿Cómo funciona? - Desarrollar 3D es muy complejo, Starling facilita el desarrollo emulando la API de Flash - Por ejemplo: flash.display.Sprite pasa a ser starling.display.Sprite - En el 3D no hay vectores, sólo texturas, así que cambia la forma en que hacemos las cosas - Hay ventajas y desventajas
  • 11. Starling: Las texturas y sus cosas - Subir texturas a la GPU es un proceso muy intensivo - Debemos ahorrar en subidas a la GPU reutilizando texturas una vez están subidas y empaquetando texturas en una imagen - No hay API drawing, pero podemos pintar sobre un Sprite de Flash y luego convertirlo en un Bitmap que lo subimos a la GPU Ejemplo TexturePacker y BMFont
  • 12. Starling: Crear una aplicación Starling - Instancia Starling y ya puedes comenzar a usar la API Starling.handleLostContext = true; Starling.multitouchEnabled = true; const MainType:Class = getDefinitionByName("com.blocketpc.subflash.Subfla shApp") as Class; this._starling = new Starling(MainType, this.stage); this._starling.start();
  • 13. Foxhole: Introducción - Al igual que Starling es un proyecto de código abierto - Se instancia sobre starling.display.Sprite - Componentes: Screen, Button, Check, List, ProgressBar, Radio, ScrollBar, etc... - Sistema de inyección de dependencias - Sistema de temas - Y mucho más... :)
  • 14. Foxhole: Sistema de pantallas - ScreenNavigator controla las vistas que son componentes Screen navigator = new ScreenNavigator(); addChild(navigator); var events:Object = {onSelectSession: SESSION_DETAIL_SCREEN}; var data:Object = { dataProvider: XML(dataProvider.section.sessions), originalDPI: originalThemeDPI }; item = new ScreenNavigatorItem(SessionsScreen, events, data); navigator.addScreen(SESSIONS_SCREEN, item); navigator.showScreen(SESSIONS_SCREEN);
  • 15. Foxhole: Transiciones entre pantallas - Se pueden ejecutar transiciones entre nuestras vistas de ScreenNavigator transitionManager = new ScreenSlidingStackTransitionManager(navigator); transitionManager.duration = 0.4; transitionManager.ease = Cubic.easeOut; navigator.showScreen(“myScreen”); Ejemplo: http://flashtoolbox.com/foxhole-starling/examples/layout-explorer/
  • 16. Foxhole: Temas - Foxhole cuenta con un potente sistema de temas con el que poder personalizar nuestros componentes const isDesktop:Boolean = Mouse.supportsCursor; theme = new MinimalTheme(stage, !isDesktop); const originalThemeDPI:int = theme.originalDPI; Tema 1: http://flashtoolbox.com/foxhole-starling/examples/layout-explorer/ Tema 2: http://flashtoolbox.com/foxhole-starling/examples/kitchen-sink/
  • 17. Foxhole: Componentes - Foxhole tiene componentes para prácticamente todo lo que necesitas en un móvil o un Pc emailButton = new Button(); emailButton.onRelease.add(onEmailButton); container.addChild(emailButton); Componentes: http://flashtoolbox.com/foxhole-starling/examples/kitchen-sink/
  • 18. Foxhole: Creación de componentes - Siempre puedes hacerte tus componentes si no hay alguno disponible description = new TextArea(); description.text = this.data.description; container.addChild(description); Ejemplo TouchableImage
  • 19. EJEMPLO DE UNA APLICACIÓN SUBFLASH
  • 20. Foxhole: Problemas - Si tu aplicación tiene muchas texturas deberías descartar Starling y Foxhole.. por ahora (Workers) - El control del texto es complejo y Foxhole ahora no tiene un componente de texto multilínea - Trabajar con texturas puede resultar tedioso al principio - Crear un tema es complejo aunque muy potente
  • 21. Foxhole: Ventajas - La velocidad a la que se mueve todo, esos 60fps deseados por las “Smooth Apps” - Escalado automático por DPI - Componentes muy sólidos y estables en un proyecto que tiene constantes actualizaciones - Soporte por parte de Adobe al proyecto de Starling y puede que a Foxhole igual que han hecho con Away3D
  • 22. Foxhole: Consejos 1/3 - Reutiliza todas las texturas que puedas con Object Pooling (Ejemplo AssetLibrary) - Utiliza flatten() para cachear el contenido estático - Los hijos y eventos se limpian automáticamente al hacer un removeChild - Simula los eventos de Touch con simulateMultitouch (Ejemplo SimulateMultitouch) starling = new Starling(); starling.simulateMultitouch = true;
  • 23. Foxhole: Consejos 2/3 - Las Release Builds pueden duplicar tus fps en comparación a cuando haces un debug - Utiliza los ActionScript Workers para procesos muy intensivos (Flash Player 11.4 y AIR 3.4) - Estudia acerca de Native Extensions, lo vas a necesitar en Android/iOS (In-App Purchase, Notifications, etc...) - Infórmate sobre las Starling Extensions http://wiki.starling-framework.org/extensions/start
  • 24. Foxhole: Consejos 3/3 - Lee el manual que escribió Thibault Imbert sobre Starling (Gratis!!) http://shop.oreilly.com/product/0636920024217.do - Mira los videotutoriales de Hemanth Sharma disponibles gratis en su web http://www.hsharma.com/tutorials/ - En Active Tuts+ también encontraréis buena información http://active.tutsplus.com/tutorials/effects/starling-particle... - Visita regularmente los foros de Starling y Foxhole http://forum.starling-framework.org/ http://forum.starling-framework.org/forum/foxhole
  • 25. GRACIAS A TODOS ¿PREGUNTAS?