miércoles, 5 de octubre de 2011

Tips para el desarrollo de sitios/aplicaciones web

1-Simplicidad
Me parece lo más importante, tener en claro qué se quiere hacer y tratar de usar lo mínimo necesario para lograrlo, usar los tags como convenga para no tener problemas después.

Si uso muchas cosas y cada navegador difiere aunque sea un poquito en cada cosa, al final la diferencia termina siendo mucha igual al cambiar de navegador y se hace más difícil correjirlo. Un sitio nunca se va a ver exactamente igual en todos los navegadores, pero se debería poder ver muy parecido en todos aunque sea.

2-Sin JavaScript

No me refiero a no usar JavaScript, me refiero a programar el sitio para que funcione completamente JavaScript y una vez que ande todo hacerlo más interesante usando el paradima "Unobtrusive JavaScript" (UJS).

Nunca usar los atributos "onclick", "onmouseover", etc de un tag de html, agregar esas funcionalidades con scripts al cargar el sitio. Usar $(selector).click(function() {}); es mejor.

Así se evitan muchos problemas:
- Es más mantenible: no es necesario revisar todos los archivos .html/php y modificar los tags si se quiere cambiar algo, sólo hay que cambiar el .js correspondiente.
- Evito problemas en casos especiales: normalmente todos los navegadores popuplares soportan JavaScript, pero muchos usuarios usan No-Script y el sitio dejaría de funcionar para ellos.
- Abstracción: HTML separado del JavaScript

Jquery puede servir mucho, o se puede programar sólo lo que uno necesita para no tener tanto código extra, pero actualmente creo que no traen problemas esos kb's de más, y si se usa el query de google (http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js) seguramente ya esté en el cache del navagador y no se tiene que descargar nada.

3- Detectar IE en el servidor y enviar HTML con pequeñas diferencias

Un método que uso para detectar Internet Explorer con PHP para crear el HTML con arreglos especiales es:

function is_ie($version=''){
  if (isset($_SERVER['HTTP_USER_AGENT'])) {
    $agent = $_SERVER['HTTP_USER_AGENT'];
    foreach (str_split($version) as $version) {
      if (strpos($agent, 'MSIE '.$version) != false) return true;
    }
  }
  return false;
}

Para detectar IE 5 se llamaría como 'is_ie("5")' para detectar IE 5 o 6 sería 'is_ie("56")', sin parámetros o con "" detecta cualquier versión de IE 'is_ie("")'

Y luego iría el código especial dentro de un if.

0-Rehacer
Si hiciste un sitio hace mucho y tenés tiempo libre, volvé a hacerlo desde 0 después de haber aprendido cosas nuevas, te va a hacer aprender incluso más y va a servir el doble que al principio.

No hay comentarios:

Publicar un comentario