En el
desarrollo web tenemos unas herramientas para el diseño, otras para la
maquetación, otras para la programación, y para la depuración. Todas las
herramientas que usemos son muy importantes, desde el Sistema Operativo hasta
el comando más insignificante, y por ello debemos elegir la más adecuada a
nuestras necesidades y capacidades.
Sistema
Operativo
Para desarrollar
una web, lo primero que necesitamos es un Sistema Operativo, como es lógico, y
su elección no es tan trivial. Hay que tener en cuenta las aplicaciones de las
que dispone el Sistema Operativo y sus costes.
Por ejemplo,
tenemos Microsoft
Windows, cuyas aplicaciones son muy caras, como Photoshop,
Dreamweaver, Fireworks, ASP .NET… Y por otro lado tenemos GNU/Linux, con GIMP, Inkscape, Amaya,
Aptana, PHP (aunque
todos ellos también están disponibles en Windows).
Otra
característica a tener en cuenta es las facilidades que el Sistema Operativo
aporta al desarrollador, y en este sentido GNU/Linux se lleva de calle a
Windows. Y esto es porque Windows no fue diseñado para los desarrolladores,
sino para personas que no tienen muchos conocimientos sobre informática.
Y por el
contrario GNU/Linux fue creado por desarrolladores, y para desarrolladores; y
por lo tanto en GNU/Linux podemos encontrar infinidad de herramientas que nos
harán la vida mucho más fácil, que además son libres.
Fases de
desarrollo de una web
Para elegir las
herramientas a utilizar, antes debemos identificar las fases del proceso que
forman el ciclo de vida de un desarrollo web.
el diseño
consiste en crear esbozos de la web final mediante una herramienta gráfica,
como Photoshop, GIMP o Inkscape.
la maquetación
consiste en convertir los esbozos creados en la fase anterior en plantillas HTML, su
respectiva hoja de estilos, y las imágenes usadas. Es posible saltarse la fase
anterior para comenzar directamente con esta fase, dependiendo de si dominamos
herramientas como Photoshop o no.
la programación
cliente consiste básicamente en Javascript. Una web puede no tener necesidad de
hacer programación cliente, como puede ser una pequeña web corporativa con poca
información estática, o puede que requiera enormes esfuerzos en esta fase, como
ocurre con los proyectos Web 2.0.
en esta fase,
que se desarrolla junto con la anterior, crearemos la aplicación web en un
lenguaje de servidor, como puede ser PHP, ASP .NET, Python, Perl, etc.
esta fase
enlaza la anterior con la siguiente, y es donde haremos las pruebas unitarias,
aserciones, trazas, etc.
en nuestro
servidor local haremos todas las pruebas posibles.
- Subir ficheros al hosting:
una vez nuestra
web esté completada y bien testeada en nuestro servidor local (desarrollo), la
subiremos al servidor del hosting elegido (producción). Dependiendo del
hosting, podremos usar FTP, SFTP (SSH), WebDAV, o incluso Subversion. Yo aconsejo usar Subversion si
así lo permite el servidor, por su comodidad y rapidez, además de por su
principal utilidad, que es la de control de versiones.
realizaremos
las últimas pruebas en el servidor del hosting para comprobar que el cambio de
servidor no ha afectado a nada. Para evitar problemas, nuestro servidor local
debe tener exactamente la misma configuración que el servidor del hosting.
Herramientas:
desarrollo en PHP
A continuación
enumeraré las herramientas básicas para el desarrollo de una web en PHP, en sus
diferentes fases de diseño e implementación.
Fases: diseño y
maquetación
- Adobe
Photoshop:Esta aplicación sólo está disponible en Windows, y es
el más caro, aunque es el más usado y gracias a ello dispone de una gran
comunidad de usuarios con los que poder contar ante cualquier problema.
Con él crearemos el diseño, así como las imágenes que usemos en la
maquetación.
- GIMP: Es el
equivalente de software libre más próximo a Photoshop. Al ser libre es
posible conseguirlo gratuitamente, y de hecho cualquier distribución
GNU/Linux lo incluye. Al igual que en Photoshop, con él podremos crear el
diseño y las imágenes de la maquetación HTML. También disponible en
Windows
Fase:
maquetación
- Inkscape: El
equivalente en Windows es Adobe Fireworks. Es un excelente editor gráfico
vectorial con el que poder crear iconos, banners, y demás dibujos de forma
muy fácil y sencilla, incluso para aquellos que no tengan demasiados
conocimientos en edición gráfica digital.
- Adobe
Fireworks: El editor de gráficos vectoriales más fácil de
usar que he tenido la oportunidad de usar, aunque no lo eché de menos
cuando descubrí Inkscape. Al igual que su compañero Photoshop es muy caro,
y más aún si tenemos una gran alternativa gratuita como es Inkscape.
Fases:
maquetación, programación cliente
- Dreamweaver,
Aptana, Amaya: Estas herramientas las describí en mi
anterior artículo sobre los principales editores web del mercado, así que
os remito a él para más información. Con ellos crearemos el código HTML/CSS (maquetación),
siendo Aptana la opción más profesional para la programación cliente
(Javascript).
Fase:
programación servidor
- Zend
Studio: Sin duda el mejor IDE existente en el mercado para
desarrollo web con PHP. Es comercial, aunque no demasiado caro teniendo en
cuenta la excelente herramienta que es. Además es posible descargarlo
desde la web de Zend para probarlo durante 30 días.
Con él
crearemos fácilmente la aplicación web en PHP. Aunque podremos usar igualmente
cualquier editor. Una muy buena alternativa es Eclipse con el plugin
PHP.
Otra aplicación
muy útil que está muy ligada a Zend Studio es Zend Platform, un módulo
para Apache que permite depurar una web directamente en el navegador (Internet
Explorer o Firefox),
además de otras funciones más complejas, como alertas configurables para que
nos envíe un email por cada error ocurrido en la web, o cuando un script
sobrepase un tiempo determinado de ejecución, por ejemplo.
Fase: prueba
local
- Apache Instalar
un servidor web Apache en la máquina donde desarrollamos es fundamental.
De esta manera haremos pruebas rápidamente: editamos un fichero PHP, vamos
al navegador, actualizamos, y vemos los cambios.
Fases: pruebas
en local, depuración
Con Firebug
podremos depurar Javascript, editar HTML y CSS en la misma página para ver los
cambios en tiempo real, consultar los tiempos de carga de la página en
conjunto, de las imágenes, javascripts, hojas de estilo, etc, así como sus
tamaños, etc. Y Web Developer nos ofrece herramientas muy útiles como ver las
cookies de la web, ocultar imágenes, cambiar el tamaño del navegador a
resoluciones estándar, etc.
Subir ficheros
al servidor del hosting
Una vez hayamos
concluido todas las fases anteriores, y nuestro proyecto esté listo, deberemos
subirlo al servidor del hosting.
La herramienta
a utilizar dependerá de las opciones que nos ofrezca el hosting, que desgraciadamente
en la mayoría de los casos es solamente el antiguo FTP. En Dreamweaver y Zend
Studio tenemos un cliente FTP y SFTP (SSH), y la tarea consistirá simplemente
en configurar el FTP y copiar y pegar los directorios que queramos subir.
Confío en que esta
guía sirva de ayuda a la hora de afrontar un desarrollo web. Hay que tener muy
en cuenta las fases de desarrollo y usar las herramientas adecuadas: la que nos
resulte más fácil de usar, la más económica, la que mejor conozcamos, etc.