Lista de recursos para Web 2.0

16 / Abril / 2008 – 0:36

Esta es una lista de algunos recursos para Web 2.0

  • TechCrunch Es un blog lider en recursos Web 2.0 con inovador perfil de productos y compañias de internet.
  • Mashable: Es un blog de noticias que incluye secciones dedicadas a MySpace, YouTube, Bebo, Facebook y Xanga.
  • ReadWriteWeb: Este blog proporciona noticias, revisiones y análisis de tecnologías web.
  • GigaOM: Es un blog de análisis y noticias de tecnología, su editor Om Malik es escritor formador de Business 2.0, Red Herring y Forbes.com.
  • Dion Hinchcliffe’s Web 2.0 Blog: Es un blog de análisis y noticias Web 2.0.
  • Matt Cutts’ Blog: Es un blog de Matt Cutts, ingeniero de software de Google, y toca temas de gadgets, Google y SEO.
  • O’Reilly Radar: Es un blog de Web 2.0, open source, tecnologías emergentes y más.
  • SearchEngineLand: Es un blog de noticias de motores de búsqueda (google, yahoo, microsoft, etc.).
  • SearchEngineWatch: Noticias y análisis de la industria de los motores de búsqueda; incluye blogs, tutoriales, foros y más.
  • Deitel Resource Centers: Es un repositorio de recursos de Web 2.o y de internet que incluye ligas, tutoriales, demos, herramientas de software grátis, artículos, libros, videos, podcasts, blogs, feeds RSS, etc.

Share/Save/Bookmark

AJAX y sus limitaciones

15 / Marzo / 2008 – 3:55

Ajax es una tecnología maravillosa que puede enormemente realzar la experiencia Web del usuario, pero no es perfecto. En particular se deberían tomar en cuenta las limitaciones siguientes.

  • Si el browser del usuario no soporta JavaScript, Ajax es inservible.

  • El resultado de páginas generadas con Ajax no pueden ser guardadas en tus favoritos sin hacer pasos adicionales.

  • El usuario no puede usar el botón Regresar o historial de su browser para revisar los resultados previos.

  • Los motores de búsqueda no pueden indexar páginas Ajax.

  • Las aplicaciones Ajax pueden ser más exigentes con el browser.

  • Dado que las páginas Ajax cambian el enfoque Cliente-Servidor, podría ser confuso para el usuario final.

  • Ajax requiere que el usuario esté en línea el tiempo completo.

Share/Save/Bookmark

Mejores prácticas de codificación con XP

25 / Febrero / 2008 – 2:00

Desde hace pocos años, Extreme Programming (XP) ha desarrollado algunas excelentes prácticas para la codificación de software que se pueden aplicar muy bien para el desarrollo de sitios Web. Cada una de las siguientes prácticas incrementarán tu productividad y la calidad de lo que produzcas. Estas prácticas incluyen:

  • Aprender a tenerle cariño al cliente en nuestro sitio.

Es atemorizante al principio, pero una vez que el cliente es parte del equipo y está en el equipo de desarrollo encontrarás que no es un espía y que él tiene la misma meta que tienes tú y tu equipo. Un cliente que está en sitio aprende los procesos, mientras que uno que está lejos no. Además, entender cómo trabajas, y lo que es el trabajo, hará mas realista la planeación y mucho más aceptable el costo. 

  • Escribir código de acuerdo a estándares. 

Se gasta mucho tiempo tratar de entender lo que un programador ha hecho si no sigue un formato. Por esa razón es bueno dirigir un desarrollo siguiendo un conjunto de estándares para la codificación, convención de nombres, una estructura de directorios, etc.

  • Codificar las pruebas unitarias primero.

Escribir las pruebas unitarias es benéfico por varias razones, una es la gran ayuda que ellas proporcionan con la escritura actual de código.  Las pruebas unitarias son una excelente herramienta para decomponer cada tarea de programación en “TO DO’s”. Una vez que finalizas tus “TO DO’s” habrás finalizado tu taréa..

  • Hacer desarrollo en pareja.

Las construciones de programacion en pareja da confianza en el equipo así como entre la compañía y los clientes. Además, incrementa el desarrollo de habilidades de manera global y acelera el trabajo conjunto.

  • Dejar la optimización hasta lo último.

De acuerdo con XP siempre debes esperar hasta que tengas finalizada un historia y ejecutar las pruebas antes de tratar de optimizar el trabajo. Solo entonces puedes analizar qué es exactamente lo que necesita optimización.

  • Evitar sobrecarga de tiempo.

Evitar horas extras es relevante en los proyectos Web así como en los proyectos de software. Todos sabemos que no podemos hacer nuestro mejor trabajo cuando estamos cansados o consumidos, porque es mucho más probable de cometer errores y hacernos menos eficientes, y por lo tanto prolongaríamos el tiempo para completar nuestras tareas.

Share/Save/Bookmark

Tips de administración de proyectos para desarrolladores

16 / Enero / 2008 – 20:45

Aquí se muestra una lista de tips de administración de proyectos para desarrolladores; hay que considerarlos siempre que estemos envueltos en un desarrollo de proyecto de software.

  • Tiempo del proyecto
    • Considerar siempre el calentario y los milestones.
  • Costo del proyecto
    • Considerar siempre el esfuerzo de trabajo, el presupuesto real, y el espacio.
  • Alcance del proyecto
    • Considerar siempre las metas, los requerimientos y los entregables.
  • Requerimientos
    • Nunca hacer cambios en los requerimientos sin ajustar el tiempo, costo y alcance.
  • Riesgos
    • Identificar riesgos y realizar planes de respaldo.
  • Etapa de diseño
    • Nunca saltar la etapa de diseño, esta ahorrará tiempo en el futuro.
  • Codificación
    • Realizar una buena documentación de código.
  • Comunicación
    • Conservar el equipo, ventas y clientes enlazados.
  • Productividad
    • Regularmente evaluar y mejorar la productividad.
  • Trabajo en equipo
    • Trabajar en equipo es una habilidad, aprendela, enseñala y mejórala.
  • Buscar ayuda
    • Cuando estes estancado en algo, para ahorrar tiempo, pregunta a otros para obtener ayuda.
  • Pruebas del desarrollador
    • Probar tu implementación antes de que la liberes al equipo de pruebas.
  • Lecciones aprendidas
    • Realizar un documento de lecciones aprendidas del proyecto y mantenerlo actualizado.

Share/Save/Bookmark

14 reglas para mejorar el rendimiento de sitios web

24 / Noviembre / 2007 – 3:37

La mayoría de las veces nos enfocamos a optimizar nuestros servidores concentrándonos en las opciones de compilación, indexación de bases de datos, administración de la memoria, etc. Se gasta mucho tiempo en mejorar estos aspectos. En la realidad, para la mayoría de las páginas web, se gasta menos del 10-20% del tiempo de respuesta en obtener el contenido HTML del servidor web hacia el browser; el otro 80–90% es gastado descargando los componentes de las páginas. A continuación se listan 14 reglas de oro que Steve Souders nos propone para mejorar el rendimiento de sitios web.

Regla 1: Reducir el número de solicitudes HTTP. Hay técnicas que ayudan a reducir el número de solicitudes HTTP sin comprometer el diseño de las páginas.

Regla 2: Usar un Content Delivery Network (CDN). Un CDN es una colección de servidores web distribuidos a través de múltiples localizaciones para entregar contenido a los usuarios más eficientemente.

Regla 3: Agregar un Expirer Header. Se trata de asegurar que los componentes sean configurados para maximizar las capacidades del caché del browser.

Regla 4: Componentes Gzip. Una variable que afecta el desempeño es el tamaño de la respuesta HTTP. Los componentes Gzip reducen el tamaño de los paquetes de respuesta que son transmitidos del servidor al cliente.

Regla 5: Poner las hojas de estilo (CSS) en el inicio. Al final de varias pruebas e investigación se ha encontrado que para cuestiones de desempeño se debe de colocar las CSS’s en el HEAD usando la etiqueta LINK.

Regla 6: Poner los scripts al final. Lo opuesto a las CSS’s, es mejor mover los scripts hacia el final de las páginas (siempre y cuando sea posible). Esto permite la renderización y descarga paralelamente.

Regla 7: Evitar expresiones CSS. Las expresiones CSS son una poderosa (y peligrosa) forma de poner propiedades dinámicamente. Un problema es que no todos los browser las soportan y otro es que podrían ser re-evaluadas cada vez que la página cambia, por redimensionamiento, scrolling, movimiento del mouse, clicks, etc.

Regla 8: Hacer externos los Javscripts y CSS’s. Esta regla hace que los componentes Javascript y CSS puedan ser cachados en el browser del usuario y ponerlos internos hace ineficiente la ventaja del cache del browser.

Regla 9: Reducir los DNS Lookups. Un Domanin Name System (DNS) tiene el rol de mapear nombres de dominios en direcciones IP. El browser no descarga nada hasta que el DNS resuelve completamente el nombre del dominio. Este es tiempo que las páginas gastan en hacer DNS lookups. Reduciendo el número de hostnames únicos en la página web se reduce los DNS lookups pero tambien reduce la descarga paralela.

Regla 10: Minimizar el JavaScript. Minificación es la práctica de remover los caracteres innecesarios del código para reducir su tamaño y de esta manera mejorar el tiempo de carga.

Regla 11: Evitar redireccionamientos. Un redireccionamiento (redirect) es usado para enrutar los usuarios de una URL a otra. Regularmente son para documentos HTML pero también para requerir componentes (imagenes, scripts, etc.) en las páginas.

Regla 12: Remover scripts duplicados. Incluir dos veces el mismo archivo Javascript afecta el desempeño. Este error no es raro, una revisión de sitios web mostró que CNN y YouTube contenían un script duplicado. Asegurarnos que los scripts sean incluidos una sola vez.

Regla 13: Configurar ETags. Los Entity Tags (ETags) son un mecanismo que los servidores web y browser utilizan para validar los componentes cachados.

Regla 14: Hacer AJAX cachable. Ajax tiene un gran impacto en el mundo Web 2.0 y con Ajax se puede lograr una mejora importante en el rendimiento. Aunque las solicitudes Ajax no son cachables, asegurarnos de que estas sigan los lineamientos, expecialemente de que tengan un futuro lejando de Expires Header.

Share/Save/Bookmark