55 desarrolladores Flash
La semana pasada abrí una encuesta para saber qué tecnología Flash está utilizando la gente. Nada complejo… la pregunta era “¿Cuál es la tecnología Flash que utilizas más en el día a día?”. El sondeo lo hice mediante un servicio online y participaron 55 personas. Los resultados fueron los siguientes:

Las conclusiones que surgieron tras cerrar la encuesta acerca del alto porcentaje de desarrolladores AS2 fueron básicamente:
- Dptos. de técnicos: éstos se toman muy en serio las políticas de actualización. Obviamente no ven que Flash Player > 8 les pueda aportar ningún valor y por lo tanto se quedan en versiones anteriores. Estoy seguro que en algún caso puede ayudar convencer al dpto. comercial de las bondades del AVM2 vs AVM1 para que pueda darse el cambio de versión.
- Flash Lite: Aquí no hay nada que discutir. Si se quiere desarrollar móvil se tiene que utilizar AS2. Esto hasta que no salga el player 10.1 para algún que otro dispositivo los próximos días.
- La tecnología como medio y no como fin: Sin darnos cuenta estamos inmersos en este torbellino de continua explosión mediática que forman el par tecnología+internet. Nadie lo vive más que nosotros, que estamos suscritos a 900 RSS de blogs, a 1553 cuentas de twitter y encima escribimos en tres o cuatro blogs acerca de qué? de tecnología claro! A menudo nos olvidamos de la parte más esencial de todo esto: crear software que funciona. Nos hemos acostumbrado a vivir en un mercado tecnológico en el que las necesidades ya no surgen sino que se crean. Esto es bueno porque promueve la evolución del mundo digital pero tiene su lado oscuro, el esclavismo al que nos somete. Bueno, me he puesto filosófico ahora… pero es cierto, no?
Gracias a todos los participantes y en especial a los que se mojaron un poco más @fernandocomet, @elisma, @wadus, @supremo_tata, @sinsonido, @solisarg
Recortes interesantes iPad vs Flash
Seguro hay muchos más por ahí pero de los que ido captando estos días éstos son los que me han parecido más bien argumentados.
- Enrique Duvós iPads y lentejas
- (…)Abrir esos dispositivos (iPhone, iPad) a una tecnología (Flash) que permita al usuario visualizar contenidos y aplicaciones sin pasar por el AppStore supone claramente perder el control de toda la cadena de desarrollo, publicación y distribución de contenidos, algo en lo que Apple ha invertido mucho y ha sabido monetizar tan exitosamente(…)
- (…)Curiosamente versiones Beta de Flash Player 10.1 se ejecutan sin problemas en móviles tipo Nexus One, Palm Pre o Droid, los tres con procesadores mucho menos avanzados que el que monta iPad(…)
- Richard Leggett “The World is Moving to HTML 5″ and Other Flights of Fancy
- (…)The issue now is that things are looking a bit dated, the browser can now natively do what Flash applications were doing 5 years ago. This is a never ending game of cat and mouse, no-one can argue one is better than the other when nothing is standing still.(…)
- (…)Let’s take the hot topic of the day, the <video> tag; it doesn’t even replace what you could do with Flash 8 or 9(…)
- (…)It’s also the case that displacing Flash will not get rid of annoying banner ads, agencies will just use <canvas> and <video>, don’t kid yourself, it’ll be those same Flash developers making it, they would simply re-tool and utilise their existing experience to produce infuriating ads in whatever makes the biggest impact(…)
- (…)I can’t wait till we get through this next transitionary period, with web designers having to spend twice the effort providing Flash fallbacks to video, companies encoding and hosting their videos twice for Firefox, licenses and royalties for h264, this will be another messy, frustrating time for web users and progress may slow(…)
- cshoton en un comentario…
- (…)Apple says they disallow Flash because (pick one) it’s buggy, it’s a CPU hog, it’s proprietary, etc. But they also disallow Java and it is none of those things. And they do it for the same reason that they do it for Flash. And it has NOTHING to do with their stated reasons. It is, quite simply, because Flash and Java can both be delivered via the web, completely bypassing the App Store. Period(…)
- Isofarro en un comentario…
- (…)The use of the word “accessible” above is disingenuous. Accessibility isn’t about using HTML, and layering CSS and JavaScript on top of that. Accessibility is about creating accessible interfaces using accessibility supporting technologies, of which Flash is one of them(…)
- (…)So Flash doesn’t have perfect levels of accessibility support (cf. Flex), the pure Flash approach is good enough. As a counterpoint HTML5 has some serious failing and lapses in it’s accessibility support (cf. Canvas)(…)
- Joeflash Why Flash is Not on The iPad
- (…)the fact of the matter is, the major (front-end) technologies that make up the internet today are HTML, CSS, Javascript, and Flash. Take one away, and you have a crippled, stunted information delivery platform.(…)
- (…)The internet is the Matrix, and Steve Jobs is Agent Smith.(…)
Liquid Components: nuevo set de componentes para Flash CS3
Didier Brun, uno de los colaboradores de ByteArray, está desarrollando un nuevo set de componentes para Flash CS3.
Según se lee en la página del anúncio, la diferencia principal con respecto al set que viene con Flash CS3 es que el set de componentes Liquid Components promete ser muy fácil de skinear mediante imágenes ( 1 estado == 1 imágen ) y que lleva un inspector que permite parametrizar muchas de sus propiedades para apenas tener que escribir código.
El set está en fase alpha privada, si te interesa ser tester puedes contactar con Didier.
Más info en el post del anuncio.
Astra Flash Components de Yahoo!
Yahoo! ha desarrollado una serie de componentes de interfaz de usuario para Flash CS3 y ActionScript 3.
Actualmente la librería contiene:
* Tree * Menu * TabBar * AutoComplete ( campo de texto ) * Charts ( varios tipos de gráficas )
Más info: http://developer.yahoo.com/flash/astra-flash/
Desarrollo de aplicaciones AIR con Flash CS3
La gente de gskinner.com ha desarrollado un panel para compilar aplicaciones AIR desde Flash CS3.
Para los que no utilicen Flex Builder esta es una buena opción.
Creating AIR Projects with Flash CS3
AS3 runtime font embedding
Interesante técnica para incrustar fuentes en tiempo de ejecución.
Runtime Font Embedding in AS3
[via tink]
II Open Source Flash Conference mañana
Mañana a partir de las 15h GMT van a darse una serie de conferencias acerca de los proyectos Open Source más significativos que existen actualmente en osflash.org.
El evento se dará vía internet gracias Adobe Connect.
El enlace a la sala es: https://breeze.itap.purdue.edu/r45637951/
* Open Source Flash Conference * Enlace a la sala
FlashDevelop 3.0.0 Alpha
Ha salido una nueva versión de FlashDevelop. Ahora con soporte para AS2, AS3 y haXe.
Si no trabajas con Flex Builder, ésta es una alternativa muy recomendable al editor de Flash.
En el post del anuncio hay más información.
SimpleMouseEvents (onReleaseOutside, onDragOut,…)
André Michele ha escrito un wrapper para algunos eventos que ya no forman parte del modelo de eventos en AS3 como son onReleaseOutside, onDragOut, onDragOver, etc…
Enlace al post y descarga: * SimpleMouseEvents
[how to] crear un botón con AS3
Hoy me han preguntado cuál es la mejor manera de crear un botón con AS3.
Existen varias soluciones extendiendo directamente de la clase flash.display.Sprite, pero si queremos sacar provecho de la nueva arquitectura, la mejor solución es heredar de la clase flash.display.SimpleButton.
Un ejemplo:
/com/joangarnet/controls/ButtonState.as
-
package com.joangarnet.controls
-
{
-
import flash.display.Sprite;
-
import flash.text.TextField;
-
import flash.text.TextFieldAutoSize;
-
import flash.text.TextFormat;
-
import flash.display.Shape;
-
-
internal class ButtonState extends Sprite
-
{
-
private var btnLabel:TextField;
-
public function ButtonState( color:uint, btnLabelText:String
-
{
-
btnLabel = new TextField ();
-
btnLabel.text = btnLabelText;
-
btnLabel.x = 5;
-
btnLabel.autoSize = TextFieldAutoSize.LEFT;
-
-
var format:TextFormat = new TextFormat ("Verdana");
-
format.size = 10;
-
btnLabel.setTextFormat ( format );
-
-
var btnWidth:Number = btnLabel.textWidth + 10;
-
-
var bkground:Shape = new Shape ();
-
bkground.graphics.beginFill ( color );
-
bkground.graphics.lineStyle ( .25, 0x333333, 1, true );
-
bkground.graphics.drawRect ( 0, 0, btnWidth, 18 );
-
addChild ( bkground );
-
addChild ( btnLabel );
-
}
-
}
-
}
/com/joangarnet/controls/Button.as
-
package com.joangarnet.controls
-
{
-
import flash.display.SimpleButton;
-
-
public class Button extends SimpleButton
-
{
-
public function Button ( btnLabelText:String )
-
{
-
upState = new ButtonState (0xcccccc, btnLabelText);
-
overState = new ButtonState (0xbbbbbb,btnLabelText);
-
downState = new ButtonState (0xaaaaaa, btnLabelText);
-
hitTestState = upState;
-
}
-
}
-
}
/com/joangarnet/controls/ButtonBitmap.as
-
package com.joangarnet.controls
-
{
-
import flash.display.SimpleButton;
-
import flash.display.DisplayObject;
-
-
public class ButtonBitmap extends SimpleButton
-
{
-
[Embed(source="upStateBitMap.png")]
-
private var upStateBitMap:Class;
-
-
[Embed(source="overStateBitMap.png")]
-
private var overStateBitMap:Class;
-
-
[Embed(source="downStateBitMap.png")]
-
private var downStateBitMap:Class;
-
-
public function ButtonBitmap ()
-
{
-
upState = new upStateBitMap() as DisplayObject;
-
overState = new overStateBitMap() as DisplayObject;
-
downState = new downStateBitMap() as DisplayObject;
-
hitTestState = upState;
-
}
-
}
-
}
EjemploBoton.as
-
package
-
{
-
import flash.display.Sprite;
-
import com.joangarnet.controls.Button;
-
import com.joangarnet.controls.ButtonBitmap;
-
import flash.display.StageAlign;
-
import flash.display.StageScaleMode;
-
-
public class EjemploBoton extends Sprite
-
{
-
public function EjemploBoton()
-
{
-
stage.align = StageAlign.TOP_LEFT;
-
stage.scaleMode = StageScaleMode.NO_SCALE;
-
var btn:Button = new Button( "Soy un botón" );
-
btn.x = 25;
-
btn.y = 25;
-
addChild( btn )
-
-
var btn2:ButtonBitmap = new ButtonBitmap();
-
btn2.x = 25;
-
btn2.y = 75;
-
addChild( btn2 )
-
}
-
}
-
}
Podemos asignar cualquier tipo de DisplayObject como estado del botón, como en el ejemplo de ButtonBitmap, que asignamos un *.png embedido.











