Excelente video explicativo

Es genial cuando se logra explicar un asunto complejo de forma simple. Aquí una explicación acerca del funcionamiento del buscador de Google.

Publicada en desarrollo web, instantáneas, programación, tecnología | Etiquetas , , , | Dejar un comentario

HTML5, Flash, y otras armas de destrucción masiva

En los últimos meses se ha hablado, escrito y discutido muchísimo acerca de cuestiones relacionadas con el universo del desarrollo web, el desarrollo de aplicaciones para smartphones y depravaciones similares, cuestiones político-filosóficas acerca del futuro de la web y del modelo de negocio de las empresas más pesadas dedicadas al software. Todo en la misma bolsa.

¿Un post más acerca de todo esto? En serio… ¿otro más? Sip. Un poco porque contar me ayuda a ordenar las ideas y otro porque probablemente le sirva a alguna que otra persona interesada, que todavía no hubiera llegado a entender de qué se trata todo esto, por qué tanto revuelo y cómo se relacionan estos asuntos entre sí.

First thing first

A continuación, una breve reseña descriptiva de algunas cuestiones:

  • Hace algunos años (en el 2000 aproximadamente) la W3C intuyó que el futuro de la web no podría montarse sobre nuevas versiones del viejo y peludo HTML —ya muy vapuleado—. Decidieron lanzar al ruedo una nueva recomendación, que sentaba las bases de una línea de pensamiento renovada, un HTML más ordenado, limpio y estructurado, uno basado en el estándar XML: así nació el XHTML. Hoy, diez años más tarde, nos encontramos ante una situación similar: con una W3C que decide —en vez de continuar la lógica del XHTML y generar una versión 2.0— volver a la ruta del HTML y se encuentra as we speak desarrollando el mentado HTML5. Casi una marcha atrás, pero no.
  • Apple, empresa que diseña y fabrica la línea de smartphones más popular del mercado, se niega a permitir la ejecución de Flash en sus artefactos. Adobe pone el grito en el cielo al tiempo que algunos usuarios. Steve Jobs, CEO de Apple, publica una carta en abril de este año, en donde explica el por qué de su decisión. Adobe responde con una campaña publicitaria titulada “We love Apple”.
  • Apple apoya el formato HTML5 y se instala en el mercado que la Plataforma Flash está en decadencia, con la nueva versión de HTML como su verdugo y sucesor. Nace la rivalidad HTML5 vs. Flash.
  • Tooodo el mundo enloquece con las vistosas nuevas posibilidades de lo que dan en llamar HTML5 (aunque en muchos casos se trata de posibilidades absolutamente factibles aún sin la utilización del dichoso HTML5). Hay la sensación de que algo groso, muy groso, está ocurriendo en el universo del desarrollo web.

¿Qué demonios está ocurriendo?

Trataremos de ordenar un poco el panorama, ahora sí, olvidando la poca objetividad que pude esbozar en los párrafos anteriores. Todas estas cuestiones se relacionan íntimamente. Veremos…

¡Que vivan los estándares!

Durante un largo tiempo, desarrolladores web y otros evangelizadores han invertido una enorme cantidad de energía en la utilización de estándares. —Me incluyo en la humilde y pequeñísima porción que me toca: comencé a utilizar estándares XHTML y CSS allá por el 2003 en trabajos para clientes, todo se veía para el traste en Internet Explorer y los clientes me querían hacer asesinar.— Esto se hizo con muchísimo esfuerzo, contra la corriente y contra muchos intereses económicos opuestos. Ha sido una tarea hercúlea que dio sus frutos: hoy podemos decir que los estándares gozan de buena salud, buena publicidad y buen funcionamiento en casi todos los navegadores web.

¿Qué significa esto? Significa, entre otras cosas, que un sitio web desarrollado acorde a estándares tiene una alta probabilidad de funcionar correctamente en una gran cantidad de navegadores web. Significa, también, que personas no videntes, con visión reducida o problemas motrices severos, pueden navegar sin mayores inconvenientes gracias a una web más accesible. Esto último es muy importante: es equivalente a rampas y ascensores en edificios públicos.

En el pasado, algunas empresas (principalmente Microsoft) vieron esta democratización en cuanto a la libre elección de navegadores web como una amenaza contra la preponderancia del Internet Explorer, e hicieron todo lo posible por retrasar el avance en relación a los estándares web. Las consecuencias de esta estrategia han sido tan fuertes que aún hoy lo sufrimos a diario, tanto navegantes como desarrolladores.

¿Qué ha cambiado?

Los intereses económicos han cambiado. Por estos días, Apple —cuyo capital ha superado al de Microsoft muy recientemente—, basa la porción de su negocio con mayor crecimiento en sus plataformas mobile, esto es: iPhone, iPod touch y iPad. Estos artefactos son computadoras —mi Motorola W375 también, aunque sea menos evidente— pero, a diferencia de sus hermanas de escritorio, tienen menos velocidad de procesamiento, sus componentes son muy pequeños, se encuentran empaquetados de la manera más comprimida posible, y deben economizar la potencia de procesamiento al máximo para evitar el sobrecalentamiento y utilizar el menor consumo de batería posible.

Apple necesita del HTML5, y no es una cuestión de filantropía. Lo necesita porque puede brindarle contenido textual, imagen, animación, video, audio e interactividad utilizando pocos recursos. Los desarrolladores web nos encontramos ante una situación muy extraña: de repente el gran capital está a favor de los estándares web. ¿Algo andará mal? Not quite.

What’s up Flash?

El asunto Flash está sobredimensionado, salvo que se lo mire desde el interior mismo de los cuarteles de Adobe. La remota posibilidad de la desaparición de Flash, debe preocupar a nadie salvo a sus mismísimos fabricantes. En lo personal, le tengo muchísimo cariño a la Plataforma Flash, me ha dado de comer durante años, ha significado el 70% de mi trabajo de programación diario, pero debo admitir que la Web será un lugar tanto más feliz cuanto menos preponderancia posea Flash.

Las dos virtudes más importantes de la Plataforma Flash son:

  • Un altísimo grado de interactividad, incluyendo texto, imagen, animación, audio y video.
  • Fidelidad absoluta entre diferentes plataformas. Un contenido Flash se verá exactamente igual en Mac OS, Windows, y en algunos casos Linux, incluso cuando vistos en diferentes navegadores como Internet Explorer, Firefox, Safari, etc.

Por otro lado, los grandes problemas del Flash son:

  • Una performance paupérrima. Basta con mover un objeto más o menos grande (una foto que ocupe toda la pantalla, digamos) para que algunas notebooks levanten su temperatura en segundos.
  • Una cantidad incontrolable y muchas veces indocumentada de bugs. Aún en la última versión de su lenguaje de programación, ActionScript 3.0, programar en la IDE de Flash suele ser un safari infernal a lo desconocido.

¿Comienzan a vislumbrar el asunto? Flash tenía sentido en una realidad donde la fidelidad de un mismo contenido entre navegadores era muy pobre (una misma página web se veía y funcionaba de formas diferentes según desde qué navegador se ejecutara), y donde alcanzar un alto nivel de interactividad que incluyera audio, video y animación era imposible en el marco de los formatos estándares propuestos por la W3C.

Ahora bien, hemos sido testigos de la carrera de Intel y AMD por generar procesadores cada vez más rápidos y poderosos, pero esos tiempos se han acabado. El mayor interés actual es lograr un alto poder de procesamiento, en poco espacio, con poco consumo de energía y poca necesidad de ventilación. El gran capital necesita procesadores que puedan hacer funcionar sus nuevos gadgets para la burguesía tecnológica y software altamente optimizado que acompañe dicho ahorro de energía.

Como dijimos, Flash sufre de una performance paupérrima, un pésimo uso de la energía y está lleno de bugs. Que se cuelgue una aplicación en una computadora de escritorio es una cosa (force quit o ctrl+alt+delete y chau), que se cuelgue una aplicación en un teléfono móvil implica que la batería se consuma en unos pocos minutos: un día entero de incomunicación.

Contenido semántico

En los últimos años se habló mucho acerca de la web semántica. El asunto merece un post al margen, pero haré un breve reconto de por qué es importante en medio de todo este asunto.

La web abriga una cantidad demencial, inimaginable, incuantificable, infernalmente gigante de contenidos. Esto dificulta un tanto su accesibilidad. Cómo encontrar el contenido necesario entre semejante cantidad de datos es uno de los grandes temas en el campo de preocupaciones de científicos, ingenieros especializados y desarrolladores web. La respuesta es simple: hay que ordenar el contenido de alguna forma, hay que darle estructura.

El asunto es que la mayoría de las veces, quienes buscan entre el contenido son robots. Google puede mostrar una lista de resultados más o menos útiles en nuestras búsquedas, porque periódicamente envía una tropa de robots a darse una vuelta por la web, y a anotar lo recolectado en bases de datos. Cuanto mejor entienda la información este robot, más efectiva será la lista de resultados que ofrezca el motor de búsqueda.

La estructuración de ciertos tipos de datos en formas estándar, permite que estos robots puedan comprender la naturaleza de la información y sus relaciones. Por ejemplo, en los sitios web que están bien desarrollados y acorde a estándares, el robot de Google entiende qué partes de cierta página son más importantes, cuáles textos son títulos, a qué párrafos corresponden, de qué tratan las imágenes, etc.

Hoy en día, existen propuestas estándares para codificar muchos tipos de datos, por ejemplo un evento. Esto implica que es hipotéticamente viable, con la ayuda de Google y un smartphone con GPS, pararse en cualquier esquina de Buenos Aires y buscar eventos que ocurran de aquí a 4 horas, en un radio de 20 cuadras. Esto se hace posible únicamente en el marco de una web semántica, que sigue ciertos estándares.

¿Por qué nos interesa todo esto? Porque la información que se encuentra en un archivo HTML o XHTML (es decir, en una página web), es información que se encuentra accesible a robots, y que puede estructurarse semánticamente sin problemas. El Flash no lo permite, y es probable que no lo permita nunca, salvo que cambien cuestiones de la naturaleza de fondo de la tecnología.

¿Desaparecerá el Flash?

No creo. Pienso que se va a enfocar fuertemente al desarrollo de aplicaciones multiplataforma, lo que hoy en día Adobe llama Air, o tecnologías similares. Sin dudas la utilización de Flash en web está decreciendo, esto es un hecho. Apple ha ayudado mucho a acelerar el proceso. Vale la pena aclarar, sin embargo, que todavía no ha salido al mercado una versión del Flash Player que funcione en dispositivos móviles —con o sin manzana— por lo que está por verse si efectivamente Flash estará disponible en celulares y tabletas interactivas. Hoy en día hay un beta del Flash Player corriendo en un beta de la próxima versión de Android, el sistema operativo mobile de Google.

En ciertos casos clave, cuando se necesite un altísimo nivel de interactividad con una curva de aprendizaje más o menos sencilla, la tecnología de Adobe seguirá siendo una buena opción. Mientras tanto, sólo queda observar atentamente cómo se desarrollan los hechos, e ir practicando muuucho JavaScript ;-)

Publicada en desarrollo web, tecnología | Etiquetas , , , , , , , | 4 Comentarios

Herb Lubalin… groso

Pocos diseñadores manejaron con la maestría de Herb Lubalin los vericuetos tipográficos. Sí, ya sé ya sé… hoy en día tenemos las locuras de Marian Bantjes, pero convengamos que el amigo Herb jugó de forma exquisita con las formas tipográficas, evocando significados increíbles hace tantísimos años, y sin Illustrator.

Muchos son los que critican la tipografía ITC Avant Garde (diseñada por Lubalin), por extremadamente geométrica —en contraposición a otras tipografías similares en cuanto a la inspiración geométrica, pero con menor sumisión a la geometría y un mayor respeto por los necesarios ajustes ópticos, como es el caso en la familia Futura (de Paul Renner)—. Lo que muchos desconocen, es que la tipografía nació únicamente como solución para la realización del logo de la revista homónima. Lubalin había realizado ese logo, diseñando únicamente los caracteres que necesitaba para la tapa de la revista, y con ligaduras especialmente pensadas para escribir esas palabras salvando los problemas de espaciado entre los pares de signos. Con posterioridad el diseñador creó toda la familia, agregándole ligaduras para poder realizar juegos similares a los que había planteado en la marca de la publicación. Por desgracia, la comunidad de diseñadores malinterpretó, en general, las intenciones de dicha tipografía, que fue utilizada para texto, abusando de sus ligaduras u omitiéndolas por completo.

Una familia tipográfica no es buena o mala en sí. No podemos analizar la calidad de una familia tipográfica de forma aislada, sin tener en cuenta los usos: una obviedad que vale la pena recordar es que las tipografías se diseñan para ser usadas. Hay fuentes que escriben bien en determinados contextos y utilizadas de determinada forma, y otras que funcionan mejor en otras situaciones y modos de uso. Analizar la calidad de una familia tipográfica siempre implica escribir, y al escribir se toman decisiones de diseño indefectiblemente: un cuerpo, un interletrado, un interlineado, una paleta cromática, incluso el idioma cambia radicalmente la forma de escribir de una familia tipográfica.

El valor de una fuente, cuando fuera de un texto, es un valor meramente formal. Ahí donde los signos y caracteres dicen, escriben, es cuando surge el valor tipográfico.

Publicada en diseño | Etiquetas , | 1 Comentar

El diseño es, también, una cuestión estética

(Este post podría ser una continuación de “El diseño no es una cuestión estética“.)

La gente no-diseñadora está habituada a percibir el diseño como algo artístico. Los diseñadores estamos acostumbrados a escuchar —y a creer, porque se debe a una cuestión de principios, casi de fe— que “el diseño no es arte”. En cierto momento de la vida de algunos diseñadores, el intríngulis entre lo que es diseño, arte, o ambos vuelve a aparecer, a veces con una tendencia hacia un lado, otras hacia el otro, otras en la forma de una inquietud constante que no se termina de definir. Yo creo que esta incógnita es saludable siempre y cuando no aparezca de manera similar al de los no-diseñadores que ven artística la actividad de diseño.

La seguridad de los diseñadores modernos —aunque a veces roce la testarudez— es envidiable. Tener fe en que la dimensión funcional del diseño es la que rige (y debe regir) el proceso proyectual es un lujo que otorga una determinación y una firmeza de pulso digna de admiración. Pone al diseñador en un lugar heroico, muy de corte romántico: nos convierte (diseñadores) en algo así como desinteresados y temerarios salvadores de la humanidad toda. Very nice.

Sin embargo, como dije en mi post anterior, al pensar el diseño en el terreno de lo útil únicamente algo hace ruido. ¿Puede, una persona, realizar un proceso intelectual interno, de significación, de formalización, de invención, y hacerlo de manera tal de obstaculizar por completo la aparición de situaciones inconscientes que impregnarán la obra en forma de sublimación? ¿Puede, el objeto proyectado por un sujeto, permanecer absolutamente objetivo de forma tal que la relación entre forma, función, contexto cultural, y entorno objetual definan el objeto en su totalidad sin la contaminación subjetiva del autor/diseñador? Y por otro lado, ¿puede un usuario ejecutar acciones con dicho objeto únicamente en términos de utilidad, dejando de lado la proyección que él mismo realiza sobre el objeto, en función de su duración (en palabras de Bergson), su goce y sus expectativas personales? Yo creo que no.

Pensemos en diseño industrial (haré una simplificación, lo sé, pero una simplificación que me será útil momentáneamente): ¿Cuántos modelos de sillas son suficientes para cubrir las necesidades de la totalidad de la población, en términos funcionales? ¿Cuántos diseños de pavas para hervir el agua para el mate? Hablemos ahora en términos de diseño gráfico: ¿Cuántas familias tipográficas alcanzan para cubrir las necesidades funcionales que un texto requiera? Massimo Vignelli dirá, en el film documental Helvetica, que una docena de tipografías es ya suficiente.

Las sillas, los edificios, las grandes obras arquitectónicas y las pequeñas, las familias tipográficas, la vestimenta: no están allí únicamente para cumplir la función de albergar, o comunicar, o abrigar; están allí también como vehículo de valores, como material significante que participa activamente del flujo de mensajes que da forma a nuestra sociedad y a nuestra cultura. Son objetos que, en tanto operan con un valor estético meditado, dejan ver algo de la esencia misma del hombre —en términos kantianos—, permiten intuir lo que de otro modo sería imposible ver, o conocer. Un transatlántico a punto de zarpar nos dice mucho, nos enriquece, nos ilumina quizás más que la vista de una obra pictórica renacentista; nos eleva y nos abruma con su inmensidad; no se trata de un mero transporte de personas. La forma del objeto-transatlántico tiene un potencial significante enorme, que da cuenta de la inmensidad a la que arroja al hombre.

Admitir que el diseño —o las piezas de diseño— pueden analizarse a nivel estético, es muy parecido a decir que diseño es arte, pero allí está la complejidad de todo el asunto. ¿Qué significa que el diseño es arte? Aguí algunas posibilidades de significado:

  • Diseño y arte son la misma cosa.
  • El arte es una categoría más amplia, que incluye el diseño.
  • El diseño es una categoría más amplia, que incluye el arte.

Es complejo, porque ninguna es satisfactoria. La misma definición de arte ha sido materia de preocupación de pensadores, filósofos y estetas durante siglos. Lo mismo ocurre con la definición de diseño, pero con menos historia por el momento. Pensar que la una es sub-categoría de la otra es también extraño. Los límites del campo del arte y del diseño son difusos y es ahí, en la zona de límite, que suceden los fenómenos interesantes y surgen las dudas más complicadas de solucionar.

Cuando digo que el diseño es, también, una cuestión estética, lo hago pensando en lo estético en toda su profundidad, y no en el sentido artístico superficial que comenté al principio de este texto. Lo estético, la belleza —y también la fealdad— nos conecta con el más allá de la existencia humana. Eso.

Publicada en arte, diseño, instantáneas | Etiquetas , , | 3 Comentarios

El diseño no es una cuestión estética

El otro día me junté a comer locro con un viejo amigo mío —uno que en algún momento supo jugar al poliladron en los pasillos de nuestra escuela primaria, y que el presente lo encuentra abogado— y no sé cómo terminamos hablando de diseño. Noté en aquel momento que debía hacer una brevísima introducción explicándole qué es (como si tal cosa fuese posible), y comencé diciendo que “el diseño no es una cuestión estética”.

Continué contándole por qué el diseño es función, materiales, técnica, y varios etcéteras que ahora no vienen al caso. Lo que sí nos importa, es que a la mañana siguiente me desperté un tanto inquieto pensando no sólo por qué demonios había dicho eso, sino además cómo fue que eso había aparecido con tanta naturalidad en mi discurso, como un terrible lapsus freudiano favorecido por el vino que acompañaba al riquísimo locro picante de El Sanjuanino.

Cuando tuve tiempo para analizar el asunto entendí que al decir aquello, lo hice desde el lugar de diseñador moderno (utilizo aquí la palabra “moderno” no como sinónimo de novedoso, nuevo, etc., sino refiriéndome a la ideología o movimiento específico dentro de la historia del diseño). A nivel formal, el diseño moderno basó su revolución en la búsqueda de la pureza y la no arbitrariedad: la forma debía seguir la función. En este sentido, el diseñador industrial Dieter Rams escribió una serie de máximas para el buen diseño que listo a continuación:

  • Gutes Design ist innovativ.
  • Gutes Design macht ein Produkt verständlich.
  • Gutes Design ist ästhetisch.
  • Gutes Design macht ein Produkt brauchbar.
  • Gutes Design ist unaufdringlich.
  • Gutes Design ist ehrlich.
  • Gutes Design ist langlebig.
  • Gutes Design ist konsequent bis ins letzte Detail.
  • Gutes Design ist umweltfreundlich.
  • Gutes Design ist sowenig Design wie möglich.
  • El buen diseño es innovador.
  • El buen diseño hace útil al producto.
  • El buen diseño es estético.
  • El buen diseño hace comprensible al producto.
  • El buen diseño es honesto.
  • El buen diseño es no-intrusivo.
  • El buen diseño es duradero.
  • El buen diseño se prolonga hasta el último detalle.
  • El buen diseño está comprometido con el medio ambiente.
  • Buen diseño significa tan poco diseño como sea posible.

Sipt, uno de los ítems de la lista dice que el buen diseño es estético. Pero vale la pena aclarar que lo dice en tanto que:

La calidad estética de un producto es parte integral de su utilidad ya que los productos que utilizamos diariamente afectan a nuestra persona y nuestro bienestar; pero sólo los objetos bien ejecutados pueden ser hermosos. (fuente)

Es decir que el diseño moderno le daba importancia a la cuestión estética sólo en tanto y en cuanto consideraba al bienestar del usuario como una de las funciones del objeto, y lo estético como medio para satisfacer esa necesidad.

Cuando desaparece el valor estético en sí mismo, y se pierde la posibilidad de la arbitrariedad en la forma, todo pasa a depender de la dimensión funcional del objeto: incluyendo su forma.

Dándole aún más vueltas al asunto, comprendí que cuando dije “el diseño no es una cuestión estética”, lo que estaba significando, en definitiva, era que el diseño no es arte. Claro, en lindo brete me metí. Si la Estética es la raíz filosófica encargada de pensar el terreno de lo bello y lo feo, es la encargada de pensar el arte; si el diseño no es de interés estético —es decir, si no se relaciona con lo bello y lo feo—, es de interés utilitario: su importancia radica en lo útil o inútil de su producción.

Sin embargo, al pensar al diseño como en el terreno de lo útil únicamente algo hace ruido… verdad? Sí, sé que al decir esto sufriré una horda de ataques de zombies modernos, pero creo que prefiero correr el riesgo. Después de todo, el diseño es, también, una cuestión estética.

Publicada en diseño, instantáneas | Etiquetas | 7 Comentarios

Carga de archivos en AS3

Antes y después

El lengueja de programación de la Plataforma Flash ha pasado por 3 versiones: ActionScript 1, ActionScript, 2 y ActionScript 3. Como sabemos, varias cuestiones han cambiado en el paso de AS2 a AS3. La carga de archivos externos es una de ellas. Si bien la traducción literal es más o menos sencilla, vale la pena repasarla.

Lo que en AS2 solíamos hacer así:

loadMovie("archivo_secundario.swf", this);

En AS3 se debe hacer así (el ejemplo citado a continuación está copiado de la documentación de Adobe, y luego ligeramente modificado):

import flash.display.*;
import flash.net.URLRequest;
var cargador:Loader = new Loader();
var urlReq:URLRequest = new URLRequest("archivo_secundario.swf");
cargador.load(urlReq);
this.addChild(cargador);

Más allá de lo que se puede ver a golpe de vista, hay un par de cuestiones interesantes que trataré de sacar a la luz en este post.

El ejemplo de Adobe:

Antes de crear nuestro propio ejemplo —seguramente más complejo— repasaremos lo que hicieron los muchachos de Adobe. El ejemplo original se incluye en la documentación de la clase Loader (encargada de la carga de archivos externos en AS3).

Se importan las clases necesarias para la realización de la carga de un archivo externo. Nosotros lo haremos de forma detallada cuando nos toque crear nuestro propio ejemplo. Adobe ha sido un poco vago al importar todas las clases del paquete flash.display sin mayores precisiones (como podrán ver ustedes mismos, ésta no es una práctica muy amigable ya que el paquete flash.display contiene numerosas clases que no están siendo utilizadas por el resto del código).

// importar las clases necesarias:
import flash.display.*;
import flash.net.URLRequest;

Se crea una instancia de la clase Loader, que hará las veces de cargador. Este tipo de objeto (que hereda de la clase DisplayObjectContainer) tiene la funcionalidad necesaria para realizar la carga.

// crear el cargador:
var cargador:Loader = new Loader();

Se prepara una instancia de URLRequest, el tipo de objeto que espera recibir el método load de la clase Loader.

// preparar la URL request:
var urlReq:URLRequest = new URLRequest("archivo_secundario.swf");

Efectivamente se da la orden de carga por medio de la función load, incluyendo como parámetro a aquel objeto de tipo URLRequest que creamos anteriormente.

// se da la orden de carga:
cargador.load(urlReq);

Hasta aquí, la carga del archivo externo ya se puso en marcha, pero aún queda agregarlo a la escena. La siguiente línea de código agrega al cargador (de tipo Loader) a la escena, como child del root. Siendo que los objetos de clase Loader heredan de DisplayObjectContainer, tienen la posibilidad de agregarse a la Display List, al igual que un MovieClip o un Sprite.

// poner el cargador en escena:
this.addChild(cargador);

Recordemos el código completo, comentado:

// importar las clases necesarias:
import flash.display.*;
import flash.net.URLRequest;
// crear el cargador:
var cargador:Loader = new Loader();
// preparar la URL request:
var urlReq:URLRequest = new URLRequest("archivo_secundario.swf");
// dar la orden de carga:
cargador.load(urlReq);
// poner el cargador en escena:
this.addChild(cargador);

A primera vista, parece mucho más complejo que la escueta versión en AS2 (y lo es), pero en programación menos no siempre es más. El cambio a AS3 nos facilita la resolución de errores y la generación de diferentes funcionalidades. El código nuevo ganó en complejidad, pero también en coherencia, orientación a objetos, facilidad en la solución de errores y funcionalidad.

Veremos un poco más a fondo el asunto en la siguiente página…

Publicada en desarrollo web, programación, tecnología | Etiquetas , , , | 2 Comentarios