This manual offers innovative techniques and conceptsfor Flash developers, who need to get an in-depth sighton the Adobe platform. Learn and master ActionScript 3.0like professionals do, with this unique book.
FLASH PROFESSIONAL DEVELOPMENT
CONTENIDO
N I V E L D E U S U A R I O
PRINCIPIANTE INTERMEDIO AVANZADO EXPERTO
En RedUSERS.com encontrará una gran variedad de recursos y software relaciona-do, que le servirán como complemento al contenido del libro. Además, tendrá laposibilidad de estar en contacto con los editores, y de participar del foro de lec-tores, en donde podrá intercambiar opiniones y experiencias.
Si desea más información sobre el libro puede comunicarse connuestro Servicio de Atención al Lector: [email protected]
DESARROLLO PROFESIONALEsta obra se encuentra destinada a todos los desarrolladores que necesi-
tan avanzar en el uso de la Plataforma Adobe Flash para sacar el máximo
provecho en la ejecución de sus proyectos.
A través de los distintos capítulos, los autores presentan los temas más
importantes para tener en cuenta al momento de llevar adelante proyec-
tos profesionales en ActionScript 3.0. Para esto, se explica cómo crear un
framework de trabajo personalizado a través de diferentes técnicas y con-
ceptos: OOP, MVC, Search Engine Optimization, usabilidad, performance,
desarrollo para dispositivos, y mucho más.
Al terminar el libro, el lector podrá implementar un caso real, en el que se
integra y se pone en práctica todo lo visto; una forma ideal de concluir la
obra, en donde el desarrollador alcanzará el grado de experto en
ActionScript 3.0 y Flash CS5.
por Fabricio Juan Mouzo Lema y Mariano Makedonsky
FLASH1 | CONSIDERACIONES INICIALESDestinatarios del libro / ActionScript 3.0 y HTML5 /Smartphones / Primeras conclusiones: ¿cómo debemosdesarrollar?
2 | ESTRUCTURA Y CONTENIDO PRELIMINARNuestro propio espacio de trabajo / Requisitospreliminares / Servidor local y online / Desarrollo desde la IDE: Flash CS5 / Estructura de código: FlashDevelop / Organización de proyectos / Clases y contenido externode nuestro framework
3 | REUTILIZACIÓN Y ESCALABILIDADImportancia en la organización de un proyecto / XML paracrear un sitio en Flash / Archivos .XML, .FLA, .SWF y .AS
4 | SEOFlash y herramientas para SEO / Crear contenido / FlashMetadata / SWFObject / Publicación estática y dinámica/ Detección de la versión de FlashPlayer /Consideraciones sobre el HTML / PHP
5 | OOP Y DESIGN PATTERNSModalidades de desarrollo / OOP / Patrones de diseño/ Singleton / MVC / Core de nuestro proyecto / Carga de contenido
6 | USABILIDAD Y ACCESIBILIDADDiferencias entre ambas / Navegación usable / Estado de la navegación / Menú contextual / Navegaciónaccesible / Contenido para screen readers
7 | FLASH PARA DISPOSITIVOS MÓVILESDiseño y tips para smartphones / Performance, tamañode pantalla e interacción / Uso de fuentes
8 | OPTIMIZACIÓN, MEMORIA Y FPSTracker para FPS y memoria / Mejorar la performance /Reducir el consumo de memoria / Reducir el uso de la CPU
9 | COMUNICAR EL DESARROLLO CON EL FRAMEWORKEstructura del proyecto / Inicializar el framework /Preparar el contenido de cada sección / Carga y descargade contenido: preloader / Galería de imágenes conDeepLinking
TÉCNICAS AVANZADAS Y BUENAS PRÁCTICAS TÉCNICAS AVANZADAS Y BUENAS PRÁCTICAS
Tapa Flash.qxp 21/11/2011 15:58 PÆgina 1
www.redusers.com
preliminares8
ContenidoSobre el autor .................................................. 4
Prólogo ............................................................ 5
El libro en un vistazo ....................................... 6
Información complementaria ........................... 7
Inroducción .................................................... 12
consideraciones inicialesDestinatarios del libro ..........................................14
¿Todos deben implementar el modelo
de desarrollo que proponemos? .............................15
¡Yo quiero programar! ¿Por qué leer todo esto? ...16
Fundamentos de nuestro acercamiento
a Flash ..................................................................17
ActionScript 3.0 y HTML5 ....................................17
Smartphones .........................................................22
Primeras conclusiones: teniendo en cuenta
estas consideraciones, ¿cómo debemos
desarrollar? ...........................................................24
¿La modalidad de desarrollo
seguirá cambiando? ...............................................24
Resumen ...............................................................25
Actividades ...........................................................26
estructura y contenido preliminar Nuestro propio espacio de trabajo .......................28
¿Cuál es el alcance del framework
por desarrollar? .....................................................29
Requisitos preliminares ........................................30
Servidor local y servidor online .............................30
Desarrollo desde la IDE: Flash CS5 ......................31
Escritura de código: FlashDevelop .........................31
Organización de proyectos ...................................35
Navegadores, plugins y add-ons .............................36
Debugging de contenidos .......................................38
Clases y contenido externo
de nuestro framework ..........................................45
as3CoreLib ............................................................45
greenSock (TweenLite,
TweenMax, etc.) ....................................................46
asual (SWFAddress)..............................................46
SWFObject ............................................................46
libSpark.as ............................................................46
Resumen ...............................................................27
Actividades ...........................................................28
reutilización y escalabilidad Importancia en la
organización de un proyecto ................................50
Paquete myPackages ............................................52
Paquete project .....................................................53
Paquete usersFramework ......................................53
XML para crear un sitio en Flash .........................54
Nodo site ...............................................................55
Nodos page............................................................61
Archivos .XML, .FLA, .SWF y .AS .........................65
www.redusers.com
Flash: desarrollo proFesional 9
Estructura XML ....................................................65
Archivos .FLA .......................................................66
Archivos .AS..........................................................68
Resumen ...............................................................73
Actividades ...........................................................74
seo en Flash: posicionamiento Flash y SEO: mitos
y verdades .............................................................76
¿El contenido generado en Flash es
indexable por los buscadores? ...............................76
¿El contenido de Flash es malo
para los buscadores? .............................................77
Crear contenido en Flash para SEO .....................77
Flash Metadata .....................................................77
Flash Metadata .....................................................81
¿Qué es SWFObject? .............................................81
SWFObject: publicación
estática y publicación dinámica .............................84
Publicación estática ..............................................84
Publicación dinámica ............................................85
Detección de la versión
de FlashPlayer ......................................................85
Adobe Express Install ...........................................86
Consideraciones sobre
el HTML de nuestro sitio ......................................89
Título del sitio: tag <title></title> .........................89
Metaetiquetas de HTML .......................................89
Ocultar información
a los navegadores: robots.txt .................................90
Dar de alta nuestro sitio en buscadores .................91
HTML y PHP: contenido
alternativo para Flash ...........................................92
Div para contenido alternativo ...............................92
Menú alternativo en PHP .....................................93
Flash en smartphones ............................................97
PHP: clase DetectSmartPhone.php ......................98
Más contenido para los buscadores:
sitemap.xml ........................................................106
Resumen .............................................................109
Actividades .........................................................110
oop y design patterns: estructura internaIntroducción a la temática
OOP y patrones de diseño ..................................112
Inicializar el framework: Main.as
y FrameworkMain.as ...........................................112
CAP3_DIAG 6
EstructuraInicial:
Organizaciónde Framework
asual
greensock
as3CoreLib
usersFramework
project
myPackages
AS3 FRAMEWORK
xml/ site.xmlbin
lib
src
nl
org
com
asual
greensock
as3CoreLib
bin
lib
src
nl
org
com
www.redusers.com
preliminares10
Patrón MVC ........................................................115
MVC en conjunto .................................................118
Patrón Singleton ................................................119
Modelo: FrameworkModel.as .............................120
Carga de XML: clase XML
DocumentLoader.as .............................................122
Evitar la caché del navegador:
NoCache.as .........................................................124
Debugging de contenidos: Log.as .........................129
Manejo de errores ...............................................139
Parseo de la estructura XML ..............................142
Encapsulación en el modelo: getters y setters......149
Fin del almacenamiento de la información ..........154
Vista del framework: FrameworkView.as ............156
Interatividad en el framework
e interactividad en las páginas .............................157
Crear la vista .......................................................158
Cambio de estado: del modelo a la vista ..............161
Resumen .............................................................163
Actividades .........................................................164
usabilidad y accesibilidad Ideas sobre usabilidad y accesibilidad ................166
Diferenciar la usabilidad
de la accesibilidad ...............................................166
Alcance de los conceptos .....................................167
Todo está relacionado ..........................................168
Navegación usable ..............................................170
Indicar el estado de la navegación .....................171
Recordar el estado de la navegación ...................176
Navegación accesible ..........................................179
Indicar un orden de tabulado ...............................179
Generar contenido para screen readers ...............180
Forma alternativa de navegación I:
shortcuts de teclado .............................................181
Forma alternativa de navegación II:
menú contextual de Flash ....................................184
Navegación con deep linking: SWFAddress ........188
Funcionamiento del controlador ..........................189
Introducción a SWFAddress ................................193
Ventajas de SWFAddress
para la usabilidad del sitio ...................................199
Resumen .............................................................199
Actividades .........................................................200
desarrollo en Flash para dispositivosIdeas preliminares ..............................................202
El comienzo de todo: Flash Player 10.1 ..............202
¿Hacia dónde va Flash? Open
Screen Project ....................................................203
¿Cómo desarrollar para distintos
dispositivos? ........................................................205
Redimensionar el contenido para distintos
tipos de dispositivos ...........................................207
Comenzar siempre por el escenario .....................208
Uso de texto en dispositivos .................................211
Optimizaciones sobre el diseño de interfaz ........213
Mostrar regiones de redibujo ..............................214
Aceleración por GPU ..........................................215
Optimizaciones sobre ActionScript ....................216
www.redusers.com
Flash: desarrollo proFesional 11
Activación y desactivación de objetos ..................216
Resumen .............................................................217
Actividades .........................................................218
optimización, memoria y FpsConsideraciones previas .....................................220
Tracker para FPS
y memoria ...........................................................221
Funcionamiento de Flash Player .........................221
Analizar el tracker: SWFTracker.as ....................223
Mejorar la performance ......................................248
Controlar el tiempo: método getTimer()..............248
Vectores vs. Arrays ..............................................251
Concatenar texto: método appendText() .............254
Dibujo por código vs. dibujo vectorial ...................256
Reducir el consumo de memoria ........................258
Elección del display object adecuado ...................258
Declaración y tipo de variables ............................260
Reducir el uso de la CPU ....................................262
Foco en escenario: Event.ACTIVATE
y Event.DEACTIVATE ........................................262
Quitar elementos visuales y remover
listeners...............................................................263
Intervalos: classe Timer y evento
ENTER_FRAME ................................................267
Resumen .............................................................267
Actividades .........................................................268
comunicar desarrollo con el frameworkEstructura del proyecto......................................270
Archivos .FLA .....................................................271
Paquete project ...................................................272
Inicializar el framework ......................................273
Main.as ...............................................................273
Liquid Layout ......................................................276
Preparar el contenido de cada sección ...............278
HomePage.as ......................................................279
La razón de ser de nuestro framework ...............285
Carga y descarga de
contenido: preloader ...........................................287
Pensar en nuestro preloader ................................288
Pensar los preloaders de manera usable ..............291
Galería de imágenes con DeepLinking ................293
Volver a la carga sobre usabilidad .......................294
GalleryModel.as y gallery.xml .............................295
PortfolioPage.as ..................................................297
Gallery.as ............................................................298
AnimatedImage.as ..............................................302
DimmerImage.as .................................................305
¡Llegamos al fin! ................................................307
Resumen .............................................................307
Actividades .........................................................308
servicios al lectorÍndice temático ................................................. 310
Sitios web relaciondos ........................................313
Servicio de atención al lector: [email protected]
Este primer capítulo tiene como objetivo acercar al lector
cuáles son los usos que se planean para la plataforma
Adobe Flash, cuál es el presente y el futuro de ActionScript
3.0, y su relación con otras tecnologías, principalmente,
con HTML5. A su vez, analizaremos la relevancia que están
cobrando los dispositivos móviles actuales.
Consideraciones iniciales
▼ Destinatarios del libro .............14
¿Todos deben implementar el modelo
de desarrollo que proponemos? ....... 15
¡Yo quiero programar!
¿Por qué leer todo esto? .................. 16
▼ Fundamentos de nuestro
acercamiento a Flash ...............17
ActionScript 3.0 y HTML5 .............. 17
Smartphones ................................... 22
Primeras conclusiones: teniendo
en cuenta estas consideraciones,
¿cómo debemos desarrollar? ........... 24
¿La modalidad de desarrollo
seguirá cambiando? ......................... 24
▼ Resumen ...................................25
▼ Actividades ...............................26
www.redusers.com
1. ConsideraCiones iniCiales14
Destinatarios del libroFlash y ActionScript 3.0 ocupan una posición singular en el
mercado; a diferencia de otros lenguajes de programación en los que la
mayoría de los programadores están vinculados a las ciencias de la
computación, muchos de los que manejan ActionScript aprendieron a
utilizarlo como consecuencia inmediata de la necesidad de
implementar líneas de código en los desarrollos llevados a cabo en la
IDE (Entorno de Desarrollo Integrado) de Flash. Este vínculo directo
que nace de la fusión de Flash y ActionScript hace que la aproximación
de los desarrolladores a la plataforma en cuestión sea de lo más
diversa: la gama de usuarios abarca un espectro tan amplio, que
incluye a diseñadores gráficos, artistas, animadores,
programadores, diseñadores en comunicación visual y
publicistas, entre las más variadas ramas. Esta peculiaridad de la
Plataforma Adobe Flash, si bien la consideramos sumamente
enriquecedora por su carácter multidisciplinario, presenta una leve
desventaja cuando los desarrollos se hacen cada vez más demandantes;
en la mayoría de estas ramas, no se estudian fundamentos de
programación, sino que los conocimientos que se van adquiriendo, en
general, son de carácter empírico. Este libro tiene por finalidad acortar
esa brecha, y acercar los fundamentos de la programación a aquellos
desarrolladores que están sintiendo la necesidad de implementar
soluciones profesionales con ActionScript 3.0.
Figura 1. Flash, Flex y Air conforman lo que de aquí en adelante denominaremos la Plataforma Adobe Flash.
www.redusers.com
Flash: desarrollo proFesional 15
¿Todos deben implementar el modelo de desarrollo que proponemos?
La Plataforma Adobe Flash propone un espectro inmenso de
posibilidades para los programadores. En los últimos años, se
diversificó en gran medida la cantidad de alternativas que surgen
del uso de Adobe Flash y de ActionScript. Las
opiniones tienden a ser de lo más variadas.
Nuestro punto de vista al respecto es que
la manera correcta de llevar a cabo un
desarrollo es aquella que propone ventajas
sobre el resto. Si sentimos que nuestros
desarrollos están adquiriendo una mayor
complejidad de forma gradual, este es el libro
para afrontar ese paso de manera útil y práctica,
y aprender a lidiar con proyectos de gran
envergadura. Por el contrario, aquellos usuarios
que utilizan Flash para animar o generar pequeñas aplicaciones
deberían de seguir haciéndolo del modo en que lo han hecho hasta
el día de hoy. La diversidad de Flash hace que todos puedan tener un
lugar bajo la plataforma: desde los desarrolladores que llevan a cabo
pequeños emprendimientos, hasta aquellos con emprendimientos de
carácter profesional y de determinada complejidad. Los contenidos
de este libro están dirigidos, claramente, al segundo de estos dos
grupos, y da por sobreentendido que quien encara esta obra posee
conocimientos sólidos sobre programación en ActionScript 3.0.
Indudablemente, con el correr del tiempo se va haciendo necesaria
una aproximación más profesional a Adobe Flash, y se van a tener
que tomar en consideración cuestiones que antes no eran tan
determinantes, como la optimización de recursos y la performance.
En el sitio web que se encuentra en la dirección http://labs.adobe.com se publican las últimas nove-
dades en las cuales están trabajando los ingenieros de Adobe. Es un buen lugar de referencia cuando
queremos saber las innovaciones que aparecerán próximamente en la Plataforma Adobe Flash.
Adobe LAbs
la plataforma
adobe flash
propone inmensas
posibilidades para
los programadores
www.redusers.com
1. ConsideraCiones iniCiales16
¡Yo quiero programar! ¿Por qué leer todo esto?
En verdad, si lo que uno pretende es abocarse de entrada a la
programación, se puede obviar este capítulo. Lo que buscamos plantear
a través de esta pequeña introducción es el contexto bajo el cual nos
encontramos actualmente y cómo este repercute de manera directa
en nuestro modo de desarrollar. Hace algunos años, nuestro modo
de pensar los desarrollos era completamente distinto del actual.
Sin dudas, está cambiando la forma de utilizar las aplicaciones y
los sitios que creamos. Antes de programar, debemos conocer la
realidad. Una vez que sabemos de qué manera se están utilizando
nuestras implementaciones, podemos abocarnos de lleno a la escritura
del código, que, como veremos, va a diferir en gran medida de las
Debemos tener en cuenta que Flash no siempre fue implementado de la manera correcta Esto generó
sitios y desarrollos con esta tecnología que tendrían que haber sido resueltos con otras. Nuestra manera
de pensar en Flash es como aquella tecnología que debemos implementar cuando HTML no nos brinda
los recursos necesarios para los requerimientos de nuestro desarrollo.
ImpLementAcIón de FLAsh en LA Web
Figura 2. Las posibilidades que surgen en torno al desarrollo de contenidos considerando los productos de Adobe son amplias. Nosotros veremos el desarrollo profesional de aplicaciones.
www.redusers.com
Flash: desarrollo proFesional 17
modalidades que se vinieron usando hasta ahora. La mayoría de los
espacios de trabajo para Flash están pensados para implementar
soluciones en la Web. Nuestro modo de pensar, es el de implementar
un framework que nos brinde la flexibilidad necesaria para poder
visualizar nuestros contenidos dentro de cualquier dispositivo. Para
esto, algunas veces utilizaremos ActionScript; otras, HTML5; otras,
PHP. Esto variará acorde a nuestras necesidades.
Fundamentos de nuestro acercamiento a Flash
Vale la pena hacer algunas salvedades sobre nuestro punto de
vista respecto al modo de pensar los desarrollos. Lejos de caer en
los fanatismos, este libro intenta proponer soluciones. Creemos
fervorosamente que Flash fue, es y seguirá siendo la solución a
muchísimos problemas que se plantean hoy en día y forman parte de
la industria del desarrollo. A continuación, enumeraremos algunos
puntos para tener en cuenta, principalmente, a la hora de considerar la
modalidad en la que planeamos pensar nuestros trabajos.
ActionScript 3.0 y HTML5HTML5 y Flash no son rivales; se trata de dos tecnologías que
funcionan de manera complementaria. Flash, por su historia, es aquella
plataforma que se implementa siempre que nuestras expectativas son
mayores a lo que HTML propone como solución. Es decir, el uso que
En el sitio web que encontramos en la dirección www.openscreenproject.org se publica información
respecto al emprendimiento Open Screen Project de Adobe, en el cual esta empresa trabaja en conjun-
to con las principales compañías del mundo (Google, Sony, Intel y NVIDIA, entre tantas más) para llevar
a cabo la implementación de FlashPlayer en la mayor cantidad posible de dispositivos.
open screen project
www.redusers.com
1. ConsideraCiones iniCiales18
debería hacerse de Flash es aquel que sitúa las expectativas del
desarrollador por encima de lo que HTML nos permite hacer. Una buena
manera de pensarlo es la siguiente: si un desarrollo hecho en Flash
puede ser reproducido en HTML sin mayores dificultades y logrando las
mismas prestaciones, pues bien, en ese caso estamos haciendo las
cosas mal, y el sitio debería haber sido desarrollado en HTML.
Como sabemos, HTML es el lenguaje de marcado de la Web. Por esta
razón, como desarrolladores, tenemos la obligación y la necesidad de
conocerlo, dominarlo y ser conscientes tanto de sus ventajas como
también de sus limitaciones. Muchas veces, aun siendo desarrolladores
de ActionScript 3.0, tendremos que utilizar HTML.
¿Qué cambia con HTML5?Lo que propone HTML5 es una serie de soluciones e
implementaciones, entre las cuales podemos nombrar: audio, video,
drag and drop, dibujo, uso de bases de datos locales y tags semánticos,
entre otras. No disponíamos de estos recursos en las versiones anteriores
de HTML, y en muchos casos, se tiende a creer que estas soluciones e
implementaciones de HTML5 compiten con los recursos de Flash.
Esto, indudablemente, no es así. Desde luego, siempre son
bienvenidas las mejoras que se realicen en cualquier lenguaje, porque
esto va a generar un espacio para crear nuevas experiencias y
Figura 3. Este es, sin dudas, el error que suele cometerse: se considera a HTML5 y a Flash como competidores.
www.redusers.com
Flash: desarrollo proFesional 19
desarrollos. Pero estas mejoras con las que cuenta la versión 5 de
HTML aún se encuentran muy por debajo de las posibilidades que
brinda el uso de Flash. Un buen modo de pensar en las prestaciones de
HTML5 es considerarlas como las que nos daba Flash cuando se
encontraba tres o cuatro versiones atrás respecto a la actual.
Si algún día HTML5 llegase a tener las prestaciones que podemos
obtener hoy con FlashPlayer 10 (lo que, de ocurrir, será dentro de varios
años), Flash se encontraría en la versión 14 o 15, o la que correspondiera,
haciendo aquello que hoy no se puede hacer. Porque justamente ese es
el espíritu de Flash: elevar los estándares. Y eso mismo es lo que Flash
hace: proponer alternativas en las cuales otros lenguajes presentan
limitaciones o casi no pueden realizar dichas acciones. En definitiva,
siempre es bienvenida la evolución de cualquier lenguaje, principalmente
porque va a fomentar la aparición de nuevos recursos, incentivan la
creatividad y proponen otra modalidad de hacer las cosas.
Figura 4. En el sitio web www.w3.org/html/logo podemos descargar el logo de HTML5 en diversos formatos.
Existe un factor vital por el que debemos ser cautelosos respecto al uso de HTML5. Al momento de es-
cribir estas líneas, el 60% de los usuarios aún no pueden visualizar contenidos desarrollados en HTML5,
mientras que FlashPlayer presenta una penetración superior al 98%.
contenIdo htmL5 en nAvegAdores
www.redusers.com
1. ConsideraCiones iniCiales20
Figura 5. Al ingresar en el sitio que se encuentra en la dirección http://html5test.com, se puede obtener un informe de las prestaciones de HTML5 con las que cuenta nuestro navegador.
El futuro del video en la WebUna de las principales causas por las que comenzó la controversia
entre Flash y HTML5 fue la implementación del tag <video> en
este último. De más está decirlo: Flash es mucho más que la mera
reproducción de video. Lo que propone Flash es un entorno de
reproducción avanzado, con una serie de prestaciones que se
encuentran muy por encima de las posibilidades que brinda HTML5.
¿Esto quiere decir que el video en HTML5 es malo? No, al contrario, es
En el sitio que se encuentra en www.adobe.com/devnet/devices/articles/video_content_tv.html
se ofrece información sobre la clase StageVideo, por medio de la cual se hace uso de la GPU para
procesar videos. Como resultado de esto, es posible obtener enormes beneficios en la performance, al
renderizar videos de alta calidad con muy poco uso de la CPU.
vIdeo en FLAsh: eL esperAdo stAgevIdeo
www.redusers.com
Flash: desarrollo proFesional 21
una buena solución si lo que necesitamos es, simplemente, reproducir
un video, sin mayores requisitos. Ahora bien, Flash ofrece una serie
de ventajas, que son las que determinan cuándo debemos utilizar una
tecnología u otra. Además de la posibilidad de reproducir video vía
HTTP, Flash permite realizar lo siguiente:
• Reproducción de video en vivo.
• Reproducción de video bajo demanda.
• Protección de contenidos (DRM).
• Brinda la posibilidad de realizar la
manipulación de los canales alfa del video.
• Personalización mucho más sencilla.
• Considerables mejoras en la performance
desde la inclusión de StageVideo en
FlashPlayer 10.2.
Códec h264, Plataforma Adobe Flash y lenguaje HTML5
Uno de los argumentos por los cuales muchos decretaron la
superioridad de HTML5 sobre Flash respecto al uso de video en la Web
fue, justamente, que HTML5 puede reproducir videos codificados en
h264. Lo que la mayoría desconocía, es la capacidad de Flash de
reproducir este códec, lo cual ocurre desde mediados del año 2007. Es
imprescindible distinguir estos conceptos: h264 es un códec, Flash
es una plataforma y HTML es un lenguaje. Es realmente positivo
que HTML5 pueda reproducir videos y, tal vez, en algunos años sea la
solución a todos los problemas en la Web, pero sus prestaciones hoy en
día se encuentran muy por debajo de las de Flash en materia de video.
A su vez, una gran ventaja que presenta el video en HTML5 es que
En el sitio web que encontramos en la dirección http://apiblog.youtube.com/2010/06/flash-and-
html5-tag.html podemos consultar una nota escrita por el blog de YouTube, en la cual se brindan las
explicaciones pertinentes con respecto a por qué tienen que implementar FlashPlayer en su sitio, y
cuáles son las limitaciones que presenta HTML5 para un sitio como YouTube.
Youtube Y LA necesIdAd de FLAsh
flash nos
ofrece ventajas
relacionadas con
la reproducción
de video
www.redusers.com
1. ConsideraCiones iniCiales22
podemos tener un plan alternativo de reproducción en aquellos casos
en que un smartphone no permita reproducir contenido en Flash.
SmartphonesLa cantidad de usuarios que visitan sitios desde dispositivos móviles
se está multiplicando de manera exponencial. Si lo que nosotros
buscamos es un espacio de trabajo que nos permita crear aplicaciones
que se visualicen en todos los soportes, este es el punto por
considerar. No podemos hacer caso omiso de HTML; por el contrario,
debemos crear contenidos para todas las plataformas, y si bien Flash
está creciendo gradualmente en lo que hace a su implementación en
móviles, en muchos de estos equipos deberemos utilizar HTML.
En las próximas páginas veremos de qué manera detectar cuando un
usuario está accediendo a un sitio desde un smartphone.
Figura 6. Debemos tener en cuenta que sitios de la talla de los famosos YouTube, vimeo y hulu, por sus características, necesitan las prestaciones de FlashPlayer.
Si bien Adobe se encuentra trabajando en simultáneo junto a diversas compañías que se abocan al
desarrollo de dispositivos móviles, actualmente solo corre Flash la versión 2.2 del sistema operativo
Android, y el market share de este S.O. es solo del 17,2%. Este porcentaje es un buen indicio de que
no podemos utilizar únicamente Flash en la creación de contenidos para móviles.
phone mArket shAre
www.redusers.com
Flash: desarrollo proFesional 23
Figura 7. De la mano del lanzamiento de la versión 2.2 del sistema operativo de Google, Android, FlashPlayer 10.1 hizo su aparición en los dispositivos móviles.
En este libro, veremos de qué manera crear desarrollos que se
visualicen en la mayor cantidad posible de plataformas.
Figura 8. Tanto el iPhone como el iPad no cuentan con la posibilidad de reproducir contenidos creados con FlashPlayer.
En http://help.adobe.com/es_ES/as3/mobile/index.html se encuentra una guía oficial de Adobe,
donde se analizan aquellas cuestiones que debemos tomar en consideración a la hora de desarrollar
para dispositivos móviles: conservación de memoria y optimización de uso de CPU, entre otras cosas.
ApLIcAcIones pArA smArtphones
www.redusers.com
1. ConsideraCiones iniCiales24
Primeras conclusiones: teniendo en cuenta estas consideraciones, ¿cómo debemos desarrollar?
Este es un punto interesante para considerar. Tiempo atrás,
pensábamos únicamente en la implementación de nuestro sitio
teniendo en cuenta una computadora como
dispositivo de visualización. En la actualidad,
debemos pensar tanto en ella como en otros
dispositivos móviles. Lo que debemos hacer es
crear contenido independiente: uno para desktop
y otro para móvil. Por esta razón, a lo largo
de este libro, nos encargaremos de analizar la
manera en que debemos diferenciar desde qué
plataforma accede un usuario a nuestro sitio,
una buena alternativa es mostrar el contenido
adecuado para desktop dentro del dominio
principal (www.sitio.com) y diseñar un sitio espacialmente para
móviles y redireccionar a un subdominio (www.mobile.misitio.com).
¿La modalidad de desarrollo seguirá cambiando?
Indudablemente; y es por este mismo motivo que, tan importante
como desarrollar, es tener la capacidad de adaptarse a los cambios.
Por regla general, mientras contemos con más recursos, mayores serán
nuestras posibilidades de encarar cualquier desarrollo y adaptarnos a
los cambios, los cuales, muchísimas veces, resultan imprevisibles. El
paradigma de desarrollar pensando en dispositivos móviles presenta
una gran controversia.
Sin duda, nadie jamás imaginó que deberíamos evolucionar a un tipo
de desarrollo donde hoy:
• Contamos con menos memoria.
• Contamos con menos procesador.
• Contamos con menos recursos.
• Contamos con menor resolución de pantalla.
debemos crear
contenido
independiente:
uno para desktop
y otro para móvil
www.redusers.com
Flash: desarrollo proFesional 25
Seguramente, dentro de unos años, lo que hemos planteado hasta
aquí será solo un recuerdo, y los dispositivos móviles dispondrán de
mayores recursos y prestaciones. Hoy, la realidad indica que si
queremos abarcar el mayor espectro de posibles usuarios, debemos
aprender a adaptarnos a estas limitaciones y desarrollar de acuerdo
con las condiciones planteadas en la actualidad.
Figura 9. Si accedemos a http://m.flash.com desde nuestro smartphone, encontraremos un excelente ejemplo de un sitio desarrollado específicamente para ser visualizado en dispositivos móviles.
La intención de este primer capítulo es hacer un pequeño recorrido por la realidad del desarrollo actual y,
de esta manera, tener una aproximación a los temas que se tratarán a lo largo de las próximas secciones.
Las posibilidades de Flash y ActionScript son inmensas a la hora de pensar en un desarrollo escalable
y, por su parte, la llegada de los smartphones nos obliga a pensar en nuevas alternativas y recursos al
momento de implementar soluciones para la Web. De aquí en adelante, veremos cómo sacar ventaja de
esta situación y de qué forma plantear un modo inteligente de desarrollo.
resumen
www.redusers.com
1. ConsideraCiones iniCiales26
test de AutoevALuAcIón
1 ¿Por qué debemos entender y manejar con claridad HTML?
2 ¿Por qué es importante que evolucione HTML5?
3 ¿Cuáles son las principales características de HTML5?
4 ¿Qué diferencia a Flash de HTML5?
5 ¿Cuáles son las ventajas que proporciona Flash sobre HTML5 en el uso de video?
6 ¿Por qué Flash y HTML5 son tecnologías complementarias, y no, competidoras?
7 ¿Por qué actualmente es importante pensar en los dispositivos móviles a la hora de llevar a cabo un desarrollo?
8 ¿Por qué es prematuro hacer desarrollos íntegramente en Flash, considerando la implementación en móviles?
9 ¿Por qué es prematuro hacer desarrollos íntegramente en HTML5, consideran-do las prestaciones de los principales navegadores?
10 ¿Por qué debemos tener en consideración todas estas cuestiones antes de comenzar a crear nuestro propio espacio de trabajo?
ActIvIdAdes práctIcAs
1 En vista de que aún no hemos realizado ningún ejercicio práctico y el propósito de este capítulo es efectuar un análisis de la situación actual del desarrollo, una idea interesante es buscar casos de buenas y de malas implementaciones. Un modo de averiguarlo es acceder a un mismo sitio desde una computadora y desde un dispositivo móvil, y ver si se hacen las implementaciones necesarias para que los sitios se visualicen correctamente en todos los dispositivos.
Actividades
REDISEÑO BOMBOS LIBROS - ISSU - Base Editable - Sep 10.indd 1REDISEÑO BOMBOS LIBROS - ISSU - Base Editable - Sep 10.indd 1 08/09/2010 15:54:0308/09/2010 15:54:03
Top Related