MAMP: Apache, PHP y MySQL en Mac

mamp

MAMP permite instalar Apache, PHP y MySQL rápidamente en MacOSX que ya tiene instalado Apache, pero gracias a MAMP se creará una nueva instancia para testear aplicaciones web en desarrollo.

La descarga consiste en fichero dmg de 106 MB que trae la versión estándar y la versión profesional. La principal diferencia es que la instalación profesional permite instanciar más de una aplicación web simultáneamente.

La instalación incluye phpMyAdmin y SQLiteManager para gestionar MySQL. Incluso incorporá un widget para arrancar los servidores desde el Dashboard, sin necesidad de ejecutar el programa.

Enlace: MAMP

Web on Stick o un servidor web en tu pendrive

Web on Stick es un servidor web que podrás llevar en un pendrive USB y ejecutar en cualquier equipo Windows (desde el 98 al Vista) al que conectes el pendrive y sin necesidad de instalar nada más.

WOS trae Apache, MySQL, PHP 4 y 5 e ImageMagik y, opcionalmente, tambiém puedes instalar CMS como Typo 3, WordPress, Joomla y Mediawiki
Es ideal para cuando un cliente nos pide “Una copia de la web en CD” o para proyectos web del tipo “Demos”

Enlace: WOS

Qué tanto sabes de Prototype

Esta semana no soy phpman soy ajaxman. Es que con librerías como Prototype, JQuery o MooTools resulta realmente agradable, entretenido y fácil programar en Javascript.

Además vengo saliendo de un proyetco en el que me tocó vérmelas con “EXPERTOS” y fue muy reconfortante ver cómo mi código era limpio, elegante, accesible y fácil de entender en comparación al de ellos. No puedo decir mucho, pero mientras yo programé de forma no intrusiva en un js aparte y valiéndome sólo de los elementos “id”, “rel” y “href” gracias al power de Prototype, ellos chantaron su script en medio del html con cosas tan demodé como 20 líneas de este estilo:

var fono = document.contacto.fono.value;

Hey!!! prototype serializa un formulario entero en una línea ;)

//como hash
$(’person-example’).serialize()
// -> ‘username=sulien&age=22&hobbies=coding&hobbies=hiking’
// json way $(’person-example’).serialize(true)
// -> {username: ’sulien’, age: ‘22′, hobbies: [’coding’, ‘hiking’]

En fin, aún así, no me las sé toda. Buscando tutoriales en google me encutro con esta entrada que me hizo darme cuenta que aún me falta mucho por aprender de Prototype.
Enlace: Cuánto sabes de prototype (inglés, pero fácil)

Chuletas para JQuery

Para el que no conoce el término chuleta, se trata de una tabla recordatoria, un torpedo o un acordeón que nos permite tener los elementos que usamos de forma más recurrentes de forma ordenada.

A pesar de que hoy me llevé una desilusión con JQuery por no poder manejar los eventos con la misma facilidad que en Prototype,  tuve oportunidad de hacer un par de cosas muy prácticas y de manera muy simple.

Resumen: en comparación con la curva de aprendizaje que tuve con Prototype, con JQuery las cosas han ido más rápido. Lo único que me hace falta es una documentación más completa y menos dispersa.

Como sea, este torpedo es una buena forma de comenzar a famliarizarse con la librería, que en realidad promete, es cosa de tiempo, al menos par mí.

Descargar: Chuleta JQuery

Livevalidation: valida tus formularios al vuelo

Esta es una herramienta genial y potente que pude darle este toque web 2.0 a tus proyectos. Se trata de un pequeño script (en versiones standalone y prototype) para validar al vuelo formuarios con javascript. Live Validation
Mi recomendación es a la hora de validar lo fundamental sea la accesibilidad, por lo que debes procurar que tus formularios también validen sin ajax y que el estilo sea coherente con el de LiveValidation

Enlace: http://www.livevalidation.com/

JQuery, JQuery, JQuery…. qué buena elección!

Mi viejo solía decir que el hombre es un animal de costumbre. Su clásico ejemplo era que compraba los cigarrillos siempre en el mismo lugar y abría la cajetilla siempre de la misma forma. Eso hasta que dejó de fumar después de un infarto. La moraleja es que, en ciertos casos, nos vemos forzados a cambiar nuestros hábitos por razones que generalmente no esperamos.

Por ejemplo, hace más de un año vengo programando con prototype y me encanta. Es una librería fácil de entender,  versátil y con muy buena documentción. Casi  todo lo que necesito, puedo hacerlo con muy poco código y con una elegancia que mis script de php envidian.

Por ejemplo con una sola línea se puede oultar todos los divs cuya clase es hide:

$$(’div[class=hide]’).map(function(e){$(e.id).show();});

Inlcuso, con la misma facilidad, se puede ocultar cualquier elemento que tenga dicha clase:

document.getElementsByClassName(’hide’).map(function(e){$(e.id).hide();});

No quería cambiarme de Prototype… Mmm! En realidad, sí quería, pero no había encontrado una excusa potente como para hacerlo.  Para no ser lato con la historia, la excusa llegó y trajo consigo a JQuery.  Algunas de las maravillas con las que me he topado son la siguientes:

jQuery(’div.panel’)
Todos los div class=“panel”
jQuery(’p#intro’)
El paragraph con id=“intro”
jQuery(’div#content a:visible’)
Todos los links visibles dentro del div con id=“content”
jQuery(’input[@name=email]’)
Todos los input fields de name=“email”
jQuery(’table.orders tr:odd’)
“odd” numbered rows in a table with class “orders”
jQuery(’a[@href^=”http://”]’)
Todos los links externos (los que empiezan con http://)
jQuery(’p[a]’)
Todos los paragraphs que contienen uno o más links

Y eso no es todo, puedes ver una lista más detallada en este post de Simon Willson

Diseño de bases de datos online

Justo ahora que debo comenzar un proyecto en PostgreSQL me entero vía Sentido Web de SQL Designer, que es una aplicación online para modelar bases de datos como MSSQL, MySQL, Oracle o PostgreSQL.Entre sus características permite exportar los modelos a diferentes formatos o guardarlos directamente en las base de datos, así como también leerlos desde ellas.

bdd.jpg
Basta probar un poco la aplicación para darse cuenta que es una herramienta genial, no tanto porque sea más fácil e intuitivo modelar bb.dd con ella, sino porque, al menos en mi caso, me permitiará generar grafos más comprensibles para la documentación que con frecuencia genero sobre los proyectos que realizo, tanto para uso interno como con clientes.

Por otra parte, para quienes no entienden del todo lo que es una bb.dd y cómo fucionan las relaciones entre tablas y datos es una excelente forma de aprender.

20 herramientas para desarrollar RoR

Ruby on Rails (RoR) es actualmente uno de los más populares framework de desarrollo web que existen. Si quieres iniciarte en RoR, en mashable publicaron 20+ herramientas para ayudarte con tu código Ruby on Rails.

Si necesitas algo más básico ver mi post donde explico cómo instalar Ruby y escribir el primer script.

Enlace: 20+ Tools For RoR Development

MVC para PHP con .htaccess y URLs amigables

Leyendo sobre RoR me topé con un concepto que ha tendio un auge paralelo al de la Web 2.0: Modelo Vista Controlador.

La wikipedia lo define de la siguiente forma:

MVC es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos y el controlador respresenta la Lógica de negocio.

En términos más simples, se trata de un patrón diseño donde el HTML es provisto de DATOS dinámicamente según las ACCIONES realizadas por el usuario. Read the rest of this entry »

100 recursos para desarrolladores Web

Una excelente lista de CaudalWeb con recursos web para desarrolladores. Podemos encontrar desde Blogs sobre CSS hasta Artícluos sobre AJAX.

Enlace: CaudalWeb Blog