{Gregorio | Espadas} .com.mx

Software : Tecnología : Web2.0 : Programación : Diseño Web : Linux

  • Usted está aquí: 
  • Inicio
  • java

haXe, Lenguaje de Programación Multiplataforma y OpenSource

Una de las desventajas de cualquier lenguaje de programación, es que siempre están ligados a su propia plataforma, por ejemplo, Java a su JVM (Java Virtual Machine), C# a su .NET, ActionScript a su Flash Player, etc. El lenguaje haXe viene a solucionar esto.

El objetivo de este novedoso lenguaje de programación es su versatilidad multiplataforma. Al crear nuestro código en haXe, podemos compilarlo para generar automáticamente archivos .js (JavaScript), .swf (Flash Player), .php y otros más, listos para usarse en sus propias plataformas.

¿Ventajas? La más importante, es el uso de un sólo lenguaje de programación sin importar en qué plataforma se vaya a utilizar. Otra ventaja es que haXe es un lenguaje de alto nivel de tipeado estricto (como lo es C/C++), cosa de la que carecen lenguajes como PHP y JavaScript. Por último, no hay que perder de vista la ventaja de que haXe es OpenSource, con todo sus positivas implicaciones.

No hay que perder de vista a haXe, es posible que se convierta en un nuevo estándar en la industria de la programación profesional.

Enlaces:

Vía: Smashing Apps.


Google Developer Day 2008 - GWT

Dick WallContinuamos con las reseñas de las sesiones del Google Developer Day 2008, efectuado el pasado lunes en la Ciudad de México. La segunda sesión de la tarde fué acerca del Google Web Toolkit, mejor conocido como GWT. La sesió estuvo a cargo de Dick Wall, quien es promotor de los productos para desarrolladores de Google, principalmente APIs y productos Java. Cabe mencionar que tiene más de 15 años de experiencia en el mundo del desarrollo, particularmente en Java.

Mi apreciación con respecto al expositor es su gran experiencia en el tema, supo mostrar ejemplos claros y concretos, y a pesar de que hubieron problemas con dichos ejemplos, supo resolverlos de inmediato (situación que no sucedió en la primera sesión). Lo único negativo, es que su tono de voz fué notablemente bajo y con un acento tipo inglés, que evitó que su exposición sea del todo clara.

El Google Web Toolkit, a.k.a. GWT, facilita el desarrollo de aplicaciones AJAX de alto rendimiento; de esta forma, los desarrolladores debemos solamente crear el front-end en Java y el GWT compilará nuestro código para dejarlo en un formato JavaScript sumamente optimizado… sumamente práctico y poderoso.

Algunas características de GWT son las siguientes:

  • Archivos independientes se crearán para cada una de las aplicaciones usando una compilación diferida, de forma que nuestra aplicación descargue solamente aquellos archivos que requiera para funcionar en cada etapa.
  • Los comentarios y código JavaScript que no se utilice será eliminado durante la compilación, reduciendo el tamaño de nuestra aplicación.
  • Optimiza la escritura de AJAX, haciéndolo más rápido de lo que nos llevaría escribirlo a mano.
  • La compilación diferida conlleva a un JavaScript reducido o más corto, con librerías ligeras generadas para cada buscador o navegador.
  • Con “Image Bundlers” es posible empaquetar diversas imágenes en una sola, reduciendo así el número de solicitud de interacciones HTTP que requerirá nuestra aplicación.

Para finalizar, aquí les dejo algunas diapositivas de la sesión.

Real World Example # 1

Real World Example # 2

The Ajax Architectural Shift

What is Google Web Toolkit (GWT)?

Optimized Permutations

JavaScript Native Interface (JSNI)

Pronto, las reseñas de las estupendas sesiones de Dion Almaer.


Google Developer Day 2008 - AppEngine

[ Paul McDonald ]Como ya había mencionado, procuré entrar a las sesiones orientadas más a programadores durante el Google Developer Day 2008 de la Ciudad de México, por lo tanto, a la primera sesión que asistí fué la de “AppEngine“, y el conferencista fué Paul McDonald.

Por cierto, es justo mencionar que las salas de las sesiones individuales estaban muy bien acondicionadas, donde cada lugar de los participantes tenían para conectar su laptop a la toma de corriente y a Internet (ya sea por cable o por WiFi).

Con respecto al desempeño del expositor, la mayoría de los ejemplos reales (no las diapositivas, si no el programa en sí) no le funcionaron, y no pudo corregirlos para hacer que corrieran en su máquina, incluso tuvo el contratiempo de la falla a la conexión de Internet.

Como mencioné hace casi tres meses, AppEngine es un novedoso servicio que permite ejecutar nuestras aplicaciones web en los servidores de Google. Ofrece un sistema de bases de datos no relacionales, un espacio de almacenamiento de 500 MB y 10 GB de tráfico diarios.

La principal ventaja que le veo a este servicio, es usar la infraestructura de Google para subir nuestras aplicaciones web, con lo cual tenemos asegurado el hecho de que no fallarán por caídas de servidor, así como tampoco tendremos que preocuparnos por la seguridad, estabilidad y demás detalles técnicos de un proveedor de hosting tradicional.

¿El precio? Gratuito si no superamos el límite de 5 millones de páginas vistas al mes. Pero, ¿qué sucede si nuestra aplicación se vuelve muy popular y supera ese límite? Digamos que por los siguientes 5 millones de páginas vistas extra serían aproximadamente 40 dólares al mes, un precio bastante asequible.

Otro detalle interesante es que nuestra aplicación normalmente estaría “colgada” de un subdominio de tipo miaplicacion.appspot.com, pero con la opción de poder tenerla en un dominio personalizado usando Google Apps. Varios ejemplos de aplicaciones podemos encontrarlos en appgallery.appspot.com; algunas interesantes son TweetWheel y YouTube Subtitler.

Hay que tomar en cuenta que al tratarse de la infraestructura de Google, debemos regirnos de acuerdo a sus reglas, y por ello tenemos algunas limitaciones con respecto a lo que podemos usar al momento de programar. Debido a esto, Google nos ofrece APIs para solventar estas limitaciones. Por ejemplo, nos ofrece la API de Picasa para la manipulación de imágenes y la autenticación de usuarios a través de cuentas de Google (o sea, cuentas de Gmail).

Por último, y algo muy importante, es que por el momento el único lenguaje que se permite para el desarrollo de las aplicaciones es Python, aunque se tiene pensado el usar otro tipo de lenguajes, como Java o PHP, pero no hay fecha de “lanzamiento” de dicha característica. A continuación, un ejemplo de un Guestbook, presentado por Paul MacDonald durante su exposición.

[ app.yaml Configuration File ]

[ Data Model ]

[ Request Handlers ]

[ HTML Template ]

Pronto, la reseña de la segunda sesión: “GWT;-)


Java Libre en Linux [OpenJDK]

Algo muy interesante está por suceder, y al parecer será muy pronto. Sun está dando firmes pasos en dejar a Java como una plataforma 100% OpenSource (de código abierto y libre), teniendo como resultado al llamado OpenJDK. De esta manera, ya se podría incluir a Java como un elemento más dentro de las principales distribuciones de Linux; incluso la gente de Sun ya está en pláticas con Ubuntu, Fedora y OpenSuSE (entre otros) sobre la futura integración de esta renovada plataforma.

¿A qué se debe este movimiento? Es de todos sabido que Java puede instalarse en Linux, bajo una licencia de software propietario, y por lo mismo no puede ser incluido como parte del sistema operativo, lo cual hace que muchos desarrolladores de software para Linux no tomen en cuenta a Java como su plataforma de desarrollo, y precisamente esto es lo que Sun quiere cambiar.

Sea como sea, el ganador será el usuario final de Linux, pues tendrá una sólida plataforma pre-instalada en su sistema, así como potenciales aplicaciones que irán saliendo día con día, gracias a la apertura de Java.

¿El futuro del software? Es claro hacia donde apunta ;-) ¿Aún no conoces las ventajas de usar software libre? ¿no conoces los beneficios de trabajar con Linux? Pronto publicaré artículos y tutoriales sobre el tema, estén pendientes.

Enlace: Artículo original. Vía Digg.

Actualización [5-Mayo-2008]: Enlaces del OpenJDK: