
Este es un breve recordatorio sobre la posibilidad de incluir código fuente formateado en nuestros posts a través de la librería JavaScript SyntaxHighlighter.
Basta con incluir nuestro código entre etiquetas code, pudiendo además indicar el lenguaje de cada fragmento de esta forma:
[code lang='php'] código PHP [/code ] (sin espacio antes del corchete de cierre)Los lenguajes soportados son los incluidos en esta página del Wiki del producto (columna Brush aliases).
La librería está importada en el sistema Posterous por lo que sus opciones de configuración son limitadas, usándolo en nuestras propias aplicaciones web será posible personalizar los esquemas de resaltado de sintaxis a través de Temas CSS o incluir nuevos Brushes si es que aún necesitamos formatear código escrito en un lenguaje no soportado.
Algunos ejemplos:PHP
function helloWorld() {
echo "Hello, World!";
}
JavaScript function helloWorld() {
alert("Hello, World!");
}
Python def helloWorld(): print "Hello, World!"
El correcto funcionamiento de este formateado de código depende del tratamiento HTML que nuestro cliente de correo electrónico realiza al enviar texto enriquecido. Algunos clientes incluyen cierto código HTML que será interpretado por SyntaxHighlighter y por lo tanto afectará al código original que deseamos destacar.
Ante estas dificultades —si tenemos conocimientos de XHTML— Posterous nos ofrece un editor HTML por lo que podremos eliminar el citado y molesto código sobrante de forma manual, algo en ningún caso justificable puesto que la comodidad y simplicidad de Posterous es uno de sus pilares y en este caso concreto brilla por su ausencia.
Enlaces de interés:
Los que pasamos muchas horas delante de un IDE vamos adoptando ciertas preferencias en cuanto a la paleta de colores más cómoda para resaltar sintaxis en nuestro editor de código. Si trabajamos con poca luz ambiental un contraste positivo (texto oscuro sobre fondo blanco) puede ser molesto e incluso hacer que nos cansemos o despistemos. Personalmente prefiero trabajar con un contraste invertido (texto claro sobre fondo oscuro), lo que en gran parte explica el estilo de este blog.
Recientemente he trabajado con la tecnología Adobe AIR 1.5 en su perfil AJAX, que nos permite desarrollar RIA (Rich Internet Applications) como aplicaciones de escritorio multisistema. Aunque esta característica no es un concepto nuevo (otras tecnologías como Google Gears o Sun JavaFX tienen propósitos muy similares) y podríamos profundizar bastante en sus virtudes, hoy quiero centrarme en las condiciones de distribución del Runtime Adobe AIR.

Básicamente existen dos perfiles principales de distribución del Runtime, que recordemos es necesario instalar en las máquinas cliente para ejecutar nuestras aplicaciones.
Comentar también que la concesión de Licencia de distribución por parte de Adobe no nos da libertad total en cuanto al Runtime, por ejemplo no se permite su distribución con modificaciones por nuestra parte. Este es un extracto de la Descripción general de licencia aportada por Adobe referente a las condiciones que debemos cumplir al aceptar la licencia:
- El receptor de la licencia puede distribuir el tiempo de ejecución de Adobe AIR a múltiples clientes en un entorno de intranet cerrado.
- El receptor de la licencia puede distribuir el tiempo de ejecución de Adobe AIR a múltiples usuarios finales incluyendo instaladores del tiempo de ejecución de Adobe AIR en CD, DVD u otros soportes físicos.
- El receptor de la licencia sólo puede distribuir instaladores de Adobe AIR para su uso en plataformas compatibles; por ejemplo, los dispositivos que no son PC y los sistemas integrados no son plataformas compatibles. Si desea volver a distribuir el tiempo de ejecución de Adobe AIR en sistemas operativos o dispositivos no compatibles, póngase en contacto con Adobe en la dirección license-air@adobe.com para obtener más información.
- El receptor de la licencia puede distribuir los archivos del tiempo de ejecución de Adobe AIR como parte de su producto de software o incluidos en un instalador original.
- El receptor de la licencia debe distribuir los instaladores y los archivos de Adobe AIR tal cual, sin ninguna modificación.
- Los receptores de la licencia, si lo desean, podrán mostrar los logotipos "Includes Adobe AIR" ("Incluye Adobe AIR") en productos o sitios de la intranet, según las directrices de marcas comerciales de Adobe.
- El receptor de la licencia no podrá distribuir el instalador o los archivos del instalador de Adobe AIR con el fin de evitar la instalación del tiempo de ejecución de Adobe AIR, una aplicación de Adobe AIR o el EULA.
- El receptor de la licencia no podrá distribuir ni utilizar el tiempo de ejecución de Adobe AIR, sus bibliotecas, componentes o archivos del instalador de un modo no documentado. Consulte las preguntas frecuentes para obtener información más detallada.
El número de aplicaciones desarrolladas con esta tecnología crece día a día (probablemente todos nosotros tenemos alguna aplicación AIR instalada en nuestro sistema o incluso la utilizamos habitualmente —los tuiteros lo sabrán bien por clientes como TweetDeck—) y aparentemente el medio de distribución más utilizado es el web, lo que nos aleja de la citada maraña de condiciones de distribución, aunque es muy útil conocerlas cuando, como es mi caso, realizamos una distribución a través de soportes físicos.
Enlaces de interés:
Llegó el momento de publicar el primer artículo (espero y deseo que de muchos) relacionado con CakePHP, uno de mis frameworks favoritos en cuanto a desarrollo de aplicaciones web. Es un framework escrito completamente en PHP, sigue el patrón de diseño MVC (Modelo-Vista-Controlador) y a través de una buena API, una gran comunidad de usuarios y un crecimiento exponencial de nuevas aplicaciones desarrolladas con ésta tecnología, está adquiriendo el reconocimiento que merece.
Un buen medio de formación, inspiración o resolución de problemas de todo desarrollador de software siempre ha sido el código de ejemplo junto al API o manual de turno, es por ello que me gustaría recomendar algunos sitios web que recopilan Snippets o fragmentos de código con un propósito específico, modulares y por tanto reutilizables, escritos prácticamente en cualquier lenguaje. Algunos repositorios van más allá albergando scripts de sistema, ficheros de configuración de servicios, recomendaciones para el uso de editores de texto y un largo etcétera.
0 Comentarios