|

Laboratorio: evitar el scroll en los textarea con jQuery

Una cosa que he visto en una web que estoy usando y que me ha gustado bastante es que el alto de los textarea se adapta al contenido para evitar que aparezca el scroll vertical.

En plan rapidito he hecho un script jQuery que realizaría esta función:

$(document).ready(function () {
$('textarea').keypress(function() {
var ta = $(this);
var fontSize = ta.css('font-size').replace('px', '')*1.3; // Le añado un ratio para que sea más eficiente
var taWidth = ta.width();
var taHeight = ta.height();
var content = ta.attr('value').split('\n');
var lines = content.length;
for (var i=0; i<content.length; i++) {
if (content[i].length * fontSize > taWidth) lines += parseInt(content[i].length * fontSize / taWidth);
}
var ratioHeight = taHeight / fontSize;
if (lines * fontSize > taHeight) ta.height((lines * fontSize)+150); // Le sumo 150 para darle un margen y que no se agrande constantemente
});
});

Guía rápida para desarrollar en Android: Hello World

Para aquellos que aún no lo sepan, Android es un conjunto de software para dispositivos móviles: sistema operativo, middleware y aplicaciones key mobile.

Tiene toda la pinta de que va a tener mucho éxito, quizás porque está realizado por Google, quizás porque los miembros de la alianza son muy importantes, quizás porque es open source, quizás porque es sencillo o quizás porque estamos hasta el gorro de Windows. Sea lo que sea, merece la pena empezar a desarrollar aplicaciones para Android, y si los motivos anteriores o el desarrollo como profesional no te estimula, quizás los 10 millones de dólares que ofrecen a la mejor aplicación si te puedan interesar.

Pues venga, a ponerse a picar que los pisos están muy caros.

Empezar a desarrollar para Android es muy sencillo, tan solo tienes que tener el SDK de Android, tener instalado Eclipse, por ejemplo la versión Classic y añadir un plugin para Eclipse que ofrecen, para lo cual hay que:

  • En Eclipse ir a Help > Software Updates > Find and Install.
  • Seleccionar Search for new features to install y pinchar en Next.
  • Seleccionar New Remote Site.
  • Añadir esta URL: https://dl-ssl.google.com/android/eclipse/.
  • Selecionar Android Plugin > Eclipse Integration > Android Development Tools.

Una vez instalado el plugin, debemos indicar la ruta del SDK, para lo cual iremos a Window > Preferences y en la opción de Android modificaremos la ruta del SDK.

Ya lo tenemos todo listo, ahora solo nos falta crear un nuevo proyecto Android (File > New > Project) y modificar el código base que nos ofrece.

En el ejemplo que vamos a hacer tan solo escribiremos una frase en el terminal, para lo cual editaremos el fichero principal del proyecto, en mi caso como he llamado al proyecto prueba el fichero es prueba.java:

package com.sentidoweb;
import android.app.Activity;
import android.widget.TextView;
import android.os.Bundle;
public class prueba extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
    TextView tv = new TextView(this);
tv.setText("Sentido Web");
setContentView(tv);
  }
}

He marcado en negrita el código que se ha de modificar, y como veréis no tiene mucha dificultad. El resultado es este:

android.png

Como véis el ejemplo se ejecuta en un emulador de Android, si jugáis un poco con este emulador podréis daros cuenta de las posibilidades que ofrece.

|

Listado de tutoriales de gestión de errores en PHP

Algo fundamental en cualquier aplicación web es la gestión de errores. Poder controlar los errores que se producen, no mostrar esos errores por pantalla, y poder hacer un seguimiento del error que se ha producido para poder solucionarlo, son cosas totalmente necesarias y que normalmente se suelen dejar a lado o solo usar en la época de desarrollo.

Para aquellos que quieran implementarse una clase que gestione los errores de su aplicación en PHP, le vendrá bien esta lista de tutoriales:

|

Composite Pattern en PHP 5

Aunque a la gente que trabajamos con Java este concepto nos es muy conocido, ha sido en PHP5 cuando han sacado los composite patterns para usar esta funcionalidad, la cual nos puede dar mucho juego.
Una composite pattern ofrece una sencilla interfaz que permite a los programadores de clientes trabajar con un componente o un conjunto de componentes de forma intercambiable. De hecho, según el código no se debe saber si se trata de un componente o de un conjunto de ellos.
Para ello se define una clase como abstracta y los métodos que la componen también. Luego habrá que crear otras clases que se extiendan de esta primera para poder tratar los diferentes tipos.
Un buen inicio para aprender a usar está técnica, que es sencilla aunque no lo parezca.
Introducing the Composite Pattern in PHP 5 – Introducing the basics of the composite pattern
Vía / PHPDeveloper.org

Vídeo tutoriales de PHP, CSS y Javascript

Muy buena coleccion de vídeo tutoriales (screencasts) sobre desarrollo web y diseño, habiendo tutoriales sobre PHP, CSS y Javascript. Aunque están realizados en inglés, se entiende bastante bien, y si sumamos el hecho de que se explica paso a paso y lo ves todo en el video, hace que se puedan seguir los vídeos con facilidad.
videotutoriales.png
Entre los vídeos que se puede destacar encontramos cómo usar posicionamiento relativo y absoluto en CSS, paginación en PHP y muchos más que son bastante interesantes.
The Blog of Jonathan Sampson
Vía / dzone / Windows Skills

|

DevBoi: documentación de desarrollo web en Firefox

DevBoi es una extensión para Firefox que nos agrega una barra lateral con documentación offline sobre HTML 4.01/XHTML 1.0, CSS 2.1, DOM 2, Javascript 1.3 y posibilidad de añadir paquetes con documentación online de Prototype, XUL y PHP.
devboi.png
Una forma rápida de poder acceder desde nuestro Firefox a una documentación a la que se suele acceder con frecuencia. La versión online accederá a sitios como w3.org o quirksmode.org.
Gracias Máximo
DevBoi

|

Manuales de desarrollo en Drupal

drupal.pngAquellos que desarrollen bajo Drupal y necesiten ayuda para poder desarrollar sus módulos, sus temas, actualizarlos de versión o usar el API, les puede venir muy bien está documentación para las versiones 4.7 y 5.0 de Drupal.
drupal_chm.png
Esta documentación, en formato chm, tiene dos ventajas, que es offline y que las búsquedas son más sencillas.
Para bajarse los archivos es necesario registrarse (registro gratuito y rápido).
Drupal 4.7 Developer’s Guide – chm
Drupal 5.0 Developer’s Guide – chm

Tutoriales de Ajax, CSS, PHP, Javascript y más

Impresionante lista de tutoriales sobre desarrollo y diseño web. Sobre 200 tutoriales sobre Ajax, CSS, Flash, JavaScript, PHP, MySQL, RSS, XML, ASP, C++, Perl, Python, LISP, Ruby y Java.
Entre el gran número de tutoriales que hay, a mí me han llamado la atención cómo hacer un sistema de paginación en Ajax, Ajax accesible, sombras con CSS, una galería CSS, magnificación en la navegación, tooltips, windows popups, formularios accesibles, juegos de caracteres y codificación y muchos más.
Tutorials Round-Up: Ajax, CSS, PHP and More
Vía / Vecindad Gráfica

|

Tutorial para crear tu extensión Firefox

Acostumbrados a tener entornos de desarrollo que nos facilita el trabajo enormemente, nos encontramos con que la creación de una extensión para Firefox no es tan cómodo como el resto de nuestros desarrollos.

En el tutorial que os mostramos, tratan muy bien varios temas importantes, que son independientes del desarrollo en sí de la extensión, aunque estos también los tratan de pasada.

Cuando desarrollas una extensión es muy importante conocer los ficheros de configuración y la estructura de directorios, la gestión de preferencias y la localización. También es recomendable hacer un copy/paste sin piedad, coge una extensión que crees que pueda servirte, descomprime el archivo .xpi (que es un zip) y aprende del trabajo de otros.

A la hora de crear el archivo .xpi ellos recomiendan el uso de WinZip, yo recomiendo el 7-Zip, ya que es fácil de usar en modo línea de comandos y con un simple .bat nos creará el archivo con un solo click y así no perderemos tiempo, porque la verdad sea dicha, a no ser que yo lo haga mal, el desarrollo de una extensión de Firefox es un poco pesada por las veces que tienes que estar creando el .xpi y reiniciando el Firefox (y ni te cuento si el Firefox te pide usuario/contraseña para el proxy).

Os paso el .bat que utilizo yo para facilitarme el trabajo:

move *.xpi versiones
cd chrome
del nombre_ext.jar
7z a -tzip nombre_ext.zip content locale skin
ren nombre_ext.zip nombre_ext.jar
cd ..
7z a -tzip nombre_ext.zip install.rdf chrome defaults
ren nombre_ext.zip nombre_ext.xpi

Firefox Extension Development Tutorial

Vía / dzone

Libros interesantes

Buscando información sobre SVG, he encontrado un blog interesante con libros pasados a formato CHM.
Entre los libros que posee, hay de todo, desde SCG (como ya he comentado), PHP y MySQL, libros para frikis, CORBA, CISCO, Flash y 3D, Perl, spyware, de todo. Aunque eso sí, me da la sensación de que los libros no son muy legales que digamos, pero ante la duda, mejor echarles un vistazo.
((( Inno -E Books – Inno-Videos )))