#005 ActionScript [Q] Tips: Singleton en AS3

Para los que trabajábamos con clases en AS2, no era raro emplear un Singleton para alguna de ellas, con le objetivo de tener una clase general para toda la aplicación con la capacidad de acceder a ella desde cualquier punto de manera limpia. Con AS2 podíamos declarar constructores privados y dejar un código tal que así:

Singleton AS2

Actionscript:
  1. class Ejemplo
  2. {
  3.     private static var _instancia:Ejemplo;
  4.  
  5.     private function Ejemplo () { }
  6.  
  7.     public static function getInstancia():Ejemplo
  8.     {
  9.         if (_instancia == null)
  10.         {
  11.             _instancia = new Ejemplo();
  12.         }
  13.         return _instancia;
  14.     }
  15. }

Con esas líneas de código lográbamos que la clase solamente se pudiera instanciar una vez, y mediante Ejemplo.getInstancia(), podíamos tener la referencia a ella en cualquier punto de la aplicación. Genial.

Con AS3, no podemos declarar constructores privados, con lo que este modelo de Singleton nos deja de servir, por suerte hay alguna característica nueva en AS3 que nos permite mantener nuestros Singletons sin tener que cambiar demasiado la filosofía:

Singleton AS3

Actionscript:
  1. package
  2. {
  3.     class Ejemplo
  4.     {
  5.         private static var _instancia:Ejemplo;
  6.  
  7.         public function Ejemplo(enforcer:SingletonEnforcer) {}
  8.  
  9.         public static var getInstancia():Ejemplo
  10.         {
  11.             if (_instancia == null)
  12.             {
  13.                 _instancia = new Ejemplo(new SingletonEnforcer());
  14.             }
  15.             return _instancia;
  16.         }
  17.     }
  18. }
  19.  
  20. class SingletonEnforcer { }

No he traducido el SingletonEnforcer porque no encontraba una traducción que me gustara más que el inglés, y además es que yo lo uso así, por lo que me suena muy raro ponerlo de otra manera, de hecho en vez de _instancia para la propiedad privada, le enchufo _instance, y lo mismo con le nombre del método estático, pero vamos que como el blog en castellano, hay que castellanizar lo más que se pueda... XD

Este tip viene de la mano de un libro que pasó por mis manos hace tiempo, pero que es de muy recomendable lectura: Advanced ActionScript 3 Design Patterns.

librosweb.es

Aquí os dejo un interesante enlace en el que podrás encontrar libros gratuitos de programación o diseño web. Son libros para leer vía web, o en cambio, descargar en formato PDF para poder tenerlo siempre accesible en tu disco duro o imprimirlo y tenerlo en papel.

Son libros sobre cursos que los autores publican, y que, como anteriormente dije, son gratuitos !!!. El contenido es de carácter práctico, con mucho código de ejemplo. No como otros que tiene mucha teoría y texto pero con pocos ejemplo prácticos.

Actualmente en la página puedes encontrar libros sobre:

La url en la que los puedes encontrar es:
http://www.librosweb.es

Espero que os sirva...

Migrando de ActionScript 2 a ActionScript 3

Migración de Action Script 2 a Action Script 3

Quizás te pueda parecer que este post llega un poco fuera de tiempo, pero no nos engañemos, aun son muchos los que programan en ActionScript 2. Unos por vagancia, otros por miedo, otros por preferencias (porque si, en AS3 picas bastante más código que en AS2), otros por llevar la contraria, otros porque programan para Flash Lite... quien sabe. La realidad que es que son muchos.

Nosotros en el estudio aun hacemos cosas en ActionScript 2, dependiendo de lo que tengamos que desarrollar, o de las necesidades concretas del proyecto. La cuestión es que nunca está de más tener a mano referencias o recursos que nos faciliten el salto, o que aunque ya lo hayamos dado nos permitan consolidar el cambio.

Action Script 3 duele, cuando te metes con el no duele tanto como puede parecer en un momento, pero a la gente que usaba Action Script 2 en el modo scripting (sin POO), les duele y mucho. Asi que nada, para todos vosotros, un puñado de enlaces útiles:

Revista Flash & Flex Developers Magazine

Revista sobre Flash y Flex

La verdad que este tipo de publicaciones no abundan nada, así que para las pocas que hay, intentamos apoyarlas, porque sean de mejor o peor calidad, al menos tratan de llevar el desarrollo web un pasito más allá. Hoy os presentamso Flash & Flex Developers Magazine.

No es la primera vez que comento que las revistas sobre web en el extranjero están por delante de las revistas nacionales, de hecho no sé si ahora mismo existe alguna revista que solamente esté dedicada al desarrollo web o a tecnologías específicas como podría ser Flash, HTML, etc. Pero el hecho de que no lo sepa (conste que puedo asegurar que busco), es ya precisamente un síntoma de la poca accesibilidad que hay a esta información... y es una pena.

Así que al enterarme de esta revista, pues no me lo pienso y posteo. La revista está enfocada totalmetne al desarrollo con flash y flex, vamos Action Script, y trata temáticas variadas en sus primeros números. Si os dáis una vuelta por la sección Downloads, podéis ver algunos artículos interesantes.

Lo que más me gusta es que están abiertos a colaboraciones, disponen de muchos formatos para hacer la revista más accesible y asequible y que la temática es bastante variada.

Quieres libros? Pues taza y media

Bueno, siempre he sido admirador de la gente con iniciativa, y aunque cuando la inciativa se convierte en éxito parece que el trabajo está hecho, o que ya no es iniciativa sino que es coser y cantar. Mr. Skeku (armando para los amigos) demuestra con criterion que si quieres éxito te lo tienes que currar, no descubro nada diciendo que criterion es un blog de referencia en el mundo del diseño en lengua hispana, y resulta que acaba de sacar un notición para todos aquellos aficionados a la lectura y al buen diseño.

Se ha propuesto de la mano de Indexbook, sacar de manera más o menos periódica "reviews" de libros, y sortear 2 libros entre aquellos que... (oohh tremendo esfuerzo), comenten algo (ya ni siquiera se necesita algo coherente: ej: "De la sombra! que se me fue el muñon!") en dichas "reviews". Más fácil no se puede poner.

Yo solo espero que cuando hace otro tipo de concursos más elaborados, la gente no se apalanque tanto y también participe como en estos. Está claro que comentar no es lo mismo que hacer una composición gráfica, o lo que sea, pero tampoco debería ser el sentimiento igual de ganar un concurso currándoselo que ganarlo comentando. Además no os imagináis lo feliz que haríais a Mr. Skeku.

A participar, en esta ocasión están en juego: Logomondo y Demographics!

Simple no es lo mismo que doble, por PHP

Diferencias entre comillas simples y dobles en PHP

Pues llevaba yo varios días dando vueltas a en qué se diferenciaba un código que me permitía escribir saltos de línea en un fichero, con otro que no lo hacía. El tema estaba enfocado en el caracter (\n) que es el que se emplea para tal tarea.

La cuestión era que en dos lugares diferentes pero aparentemente iguales, el resultado era distinto... y no hay nada como buscar en inglés por google (qué lastima que sea así la cruda realidad) para dar con resultados mucho más prácticos.

Me entero que las comillas simples no son igual que las dobles (yo casi siempre usaba las simples para no tener conflictos con los atributos HTML, que en principio suelen escribirse con dobles), y que tienen diferencias que pueden afectar a los resultados, como ha sucedido en este caso.

La comilla simple (') lo que hace es mostrar LITERALMENTE lo que hay entre su apertura y cierre como caracteres de texto. La comilla doble (") no hace lo mismo, sino que lanza su interior como una cadena que puede contener caracteres que se transforman en otra cosa, es decir, no saca LITERALMENTE lo que hay en su interior.

La prueba, que un '\n' no es un salto de línea, pero un "\n" sí lo es dentro de un fichero de texto.

El resultado a mi consulta aqui:
No es lo mismo simple que doble [EN]

Y de regalo un gran recurso que me acabo de encontrar para aprender PHP:
Practica PHP Programming Wiki [EN]

Lectura en [Q] interactiva

Pues aquí os dejamos algunas de las últimas adquisiciones que hemos hecho en [Q] para deleitar nuestra vista, y evidentemente alimentar nuestro conocimiento. Siempre he sido partidario de la lectura de documentos o libros técnicos, aunque sean malos, porque tanto de un tipo o de otro, te acaban sirviendo para aprender (según mis creencias se aprende también de las malas prácticas).

Revista .net, Essential PHP Security, Open Source Flash Development

De cualquier manera y en este caso concreto, creo que los tres elementos que se ven en la imagen son bastante valiosos...

.net
Esta revista la compré en el aeropuerto antes de volver de Nottingham, y la sorpresa fue muy agradable. Es una revista de diseño pero muy enfocada a web, con un buen acabado tanto en los materiales como en la maquetación y que además se hace amena de leer (incluso en un idioma que no es el propio). Además tiene información concisa y práctica tanto de diseño como de programación (siempre para web), lo que la hace completa en prácticamente el único palo que toca. Especializada, pero buena. Así SI. Tanto es que estamos pensando seriamente suscribirnos a la misma :)

Essential PHP Security
Este libro aun no lo he podido ojear a fondo, pero tras algunos problemas que hemos tenido recientemente tocaba empaparse plenamente de este aspecto del desarrollo web. El libro comienza desde conceptos básicos y buenas prácticas, a asuntos más específicos. La encuadernación y grosor del mismo lo hacen perfecto como libro de consulta y al igual que todos los libros de O'Really, la maquetación de contenidos lo hacen ameno y fácil de leer. A ver si Jorge se anima a dejarnos algunas consideraciones prácticas de lo más destacable de sus contenidos.

Open Source Flash Development
Éste lo he tenido en el punto de mira desde que ví que salió a la luz. Nuestro amigo Luis siempre anda predicando sobre Flash Develop, nosotros trabajamos con Eclipse y a parte se tocan algunos proyectos más que recomendables para todos los aficionados a Flash como: SWX, Red5, AMFPHP,... A este libro si que le he podido pegar ya un buen repaso y está bastante bien. Tiene unos primeros capítulos donde nos adentra en el mundo de Flash Open Source, nos ayuda a configurar nuestras herramientas de trabajo tanto para AS3 como para AS2 (Flash y Flex también aparecen por separado en ocasiones) y nos indica el flujo de trabajo con dichas herramientas. Finalmente se adentra en determinados proyectos concretos como los mencionados anteriormente y algunos más ligeros como las tween Fuse (por cirtar alguno). Los autores del libro son en su mayoría los creadores de las herramientas con lo que ¿quién mejor que ellos para contarnos sobre sus creaciones? Una muy buena referencia para tener un arranque rápido en proyectos un poco más complejos de lo habitual que puedan tocar videoconferencia, grabación y compartición de video, multiusuario, comunicación intensa Flash - BBDD, etc.

Y vosotros... ¿alguna recomendación para Octubre?

publicar libros online

No hace mucho, cuando me convencí a mi mismo de que Mobile Web Design de Cameron Moll era un gran libro para adquirir, di con Lulú, un curioso serivicio en la web que me pareció una gran idea.

Básicamente permite a cualquier persona publicar un libro en unas condiciones decentes (no digo que excelentes, pero si decentes) sin requerir de una editorial o una inversión inicial, y además elegir unos cuantos elementos del mismo como:

Además cuenta con elementos interesantes como una calculadora de coste (por ejemplo, un libro de tapa blanda, grapado, tamaño A5 en blanco y negro de 64 páginas valdría.... 4,67€!!! A partir de ese coste, que es el mínimo, tu fijas tu propio precio para comercializarlo, y por tanto tu margen de beneficio. Desde luego con este sistema quien no escribe un libro es porque no quiere.

Publicación online de libros, servicio Bobuk

Pues bien todo esto para comentaros que vía Andrés Karp, el otro día he encontrado otro sitio totalmente similar, llamado Bubok, que tiene sede en España, que permite elegir tu PDF, formato, elegir diseño de portada, tapas y por supuesto precio de venta (tanto el libro como el ebook).

La razón de postearlo es que Andrés ha comentado el excelente servicio postventa del que hacen gala, y que hoy en día creo que es necesario destacar cosas como esas. Mi más sincera enhorabuena a Angel María, y para entederme, solo hay que leer el post citado anteriormente.

Como siempre digo, si alguno conoce algún servicio similar, del que crea que es merecedor hablar por razones positivas, que no dude en comentarlo!

URL con libros online gratis

Aqui os dejo la URL de una página que pública libros online gratuitos de diferentes lenguajes de programación.

Tal y como dicen en la web "LibrosWeb.es publica gratuitamente todo el material que utilizan sus autores en los cursos que imparten.
Además, publica traducciones de libros gratuitos relacionados con el diseño y la programación web.Siempre se podrá acceder gratuitamente a toda la información de este sitio, ya que creemos que la información debe ser libre."

Libros web online