Archivo de la categoría Desarrollo General

haXe , el lenguaje de programación Open Source

haXe (pronunciado como hex) es un lenguaje de programación open source.

haxe_logo1

Mientras la mayor parte de los restantes lenguajes están asociados a su propia plataforma (Java a JVM, C# a .Net, ActionScript a Flash Player), haXe es un lenguaje multiplataforma. Eso significa que podemos utilizar haXe en las siguientes plataformas:

  • Javascript : Podemos compilar un programa haXe a un único fichero .js. Permite acceder a las APIs del DOM en el navegador con soporte de tipos y autocompletion, y todas las dependencias se resuelven en tiempo de compilación.
  • Flash : Podemos compilar un programa haXe a un fichero .swf. Permite generar código para Flash Player en todas las versiones de la 6 a la 9, tanto con la “vieja” API Flash<8 API como la nueva API AS3/Flash9. haXe ofrece muy buenas prestaciones, y las características del language facilitan el desarrollo de contenido Flash.
  • NekoVM : Podemos compilar un programa haXe a bytecodes para NekoVM. Esta característica puede utilizarse tanto para programación server-side, tal como el desarrollo de páginas web dinámicas (usando “mod_neko” para Apache), como para aplicaciones en línea de comandos o desktop, porque NekoVM puede empotrarse y extenderse con otras DLL.
  • PHP : Podemos compilar un programa haXe a un fichero .php. Esto permite utilizar un lenguaje de alto nivel y fuertemente orientado a tipos como haXe y simultáneamente mantener compatibilidad completa con las bibliotecas y plataforma servidor existentes.

La idea fundamental en haXe es permitir al desarrollador elegir la mejor plataforma para desarrollar cada trabajo concreto. En general, eso no es fácil porque cada nueva plataforma va acompañada de su propio lenguaje de programación. Lo que proporciona haXe es:

  • un lenguaje estandarizado con muy buenas características
  • una biblioteca estandard (incluyendo Date, Xml, Math…) con el mismo funcionamiento en todas las plataformas.
  • bibliotecas específicas para las distintas plataformas : desde haXe podemos acceder al API completa para una plataforma dada.

Conozco el proyecto hace algún tiempo, sin embargo me ha venido ahora a la memoria debido al juego online de moda: http://martica.elbruto.es/ , que resulta estar desarrollado en haXe. Si quereis probarlo, basta con un click y poner un nombre, no requiere registro :)

Indexando datos geográficos – Serie de artículos

Ever Pot , de rooftopsolutions.nl, ha escrito una interesante serie de 3 artículos sobre la indexación de datos geográficos.

Proyectos interesantes

SumoPaint

SumoPaint

SumoPaint es una aplicación online desarrollada en Flash que ofrece un editor de imágenes de apariencia similar a Adobe Photoshop y que nos puede ser muy útil para pequeñas modificaciones en nuestras imágenes si no disponemos de un editor de escritorio.

TestGen4Web

TestGen4Web

TestGen4Web es una herramienta de testeo de interfaces. Este addon para Firefox graba las acciones que realicemos a fin de probar repetidamente una interfaz y ver el comportamiento de la aplicación.

Database structure synchronizer

Database structure synchronizer es un script PHP que nos viene servido en forma de clase y es una pequeña joya imperdible, sobre todo si desarrollamos en grupos de trabajo poco organizados: No sólo nos muestra las diferencias entre dos dumps de estructura de base de datos, sino que nos genera todo el SQL necesario para sincronizarlos de forma automática.

Un pantallazo, y una demo online:

Database structure synchronizer

YSlow

YSlow

YSlow es una herramienta de Yahoo en forma de addon para Firefox, que permite optimizar el rendimiento de los sitios web que se analizan. Las sugerencias que brinda YSlow se basan en las reglas de optimización del propio Yahoo, y por lo general valen la pena.

MicroAkismet

MicroAkismet nos permite interactuar con el famoso plugin antispam de WordPress desde nuestros propios scripts PHP, utilizando nuestra propia clave API.

Memproxy

Memproxy es un proyecto francamente curioso. Pretende ser un pequeño script en PHP que sirve webs externas y las cachea utilizando memcached distribuido, reduciendo la carga de la web original en subsiguientes peticiones, y dándote un control absoluto sobre el manejo de dichas páginas (añadir un encabezado o pie de página, eliminar las imágenes, sustituir automáticamente palabras… por poner un par de ejemplos). Obviamente no puede hacer sombra ni ser una alternativa seria en rendimiento a Squid o nginx pero es una idea realmente creativa.

De code varia…

Algunos recursos interesantes del fin de semana:

Desarrollo Web:
Completo tutorial de prototype.js, paso a paso
Programando un Spy como el de Meneame o Digg , básico
Transición 3D entre imágenes – Efecto cubo, javascript
Transición Raster de imágenes o elementos HTML, javascript
Depuradísimo Sudoku Solver, buen ejercicio javascript

Diseño web
Cómo desarrollar tu plantilla XHTML/CSS válida en 30 segundos, con Photoshop e ImageReady
Completo tutorial de Float, CSS

Desarrollo de Aplicaciones:
10 Videotutoriales de desarrollo de juegos 3D basados en el juego Rocket Commander

Recursos gráficos
La gente de 22Pixels acaba de hacer pública la versión 1.02 de su paquete Flock: Alrededor de 150 fuentes y unos 7000 presets para Phosothop, todos empaquetaditos en un sólo fichero y autoinstalables.

De técnica varia

  • Huevos de Pascua en microchips [via microsiervos]
  • Todos hemos oido hablar del Slashdot Effect, término que se ha empezado a aplicar a las situaciones en que sitios de la popularidad de SlashDot enlazan a secciones de otros sitios web provocando en muchas ocasiones la caida del segundo por exceso de tráfico. En esta url podemos ver un estudio sobre el susodicho efecto.
  • Un buen ejemplo de Cross-Site Scripting, un usuario de MySpace, la popular red de amigos, consigue que le agreguen como amigo 1 millón de usuarios en menos de un dia. Aparte de la historia y los enlaces relacionados, también nos explica cómo lo hizo

Recursos gratuitos: Banco de Sonidos

Banco de sonidos
The Freesound Project
FindSounds
BuscaMix
Efectos de Sonido

Alojamiento gratuíto de imágenes

Varios enlaces a recursos gratuítos donde conseguir imágenes para nuestros diseños:

Leer más »

Extensiones para Firefox

Nuevas (al menos para mi) extensiones interesantes para Firefox

Leer más »

Múltiples IE en un sólo Windows

Ahora resulta (odio esta guerra de navegadores e incompatibilidades) que las 9 páginas escaparate que hice dentro del cd demo de los italianos durante la semana pasada no reproducen bien los menús css en IE 5.0. Esto me pasa por salirme de mi adorado aunque sucio html básico.

Lo natural sería hacer menús que se viesen bien en ambos navegadores (5.0 y 6.0) pero no podria entregar a tiempo, asi que toca un javascript que detecte versión del navegador… (y alguna cosa más por el mismo precio) y redirija a una versión para navegadores distintos a IE6

Leer más »

Windows exe launch from html

O como romperse la cabeza con cosas que supuestamente no pueden hacerse.

Leer más »