Este curso es una introducción al desarrollo web. Como es una introducción, el punto de partida que tomamos es bien simple: no sabes nada de desarrollo web. Hemos preparado un test de conocimientos sobre desarrollo web: si lo suspendes, es bueno, significa que eres un alumno adecuado para este curso.
Los requisitos necesarios para lograr un aprendizaje efectivo con este curso son:
El curso está compuesto por una serie de temas que hemos considerado que son el mínimo que debe conocer cualquier persona que quiera tener una visión introductoria del desarrollo web. Por supuesto que también hay otros temas que se deben conocer para ser un buen profesional del desarrollo web, pero este curso tiene una duración limitada, tiene que terminar en algún momento, así que hemos tenido que elegir, escoger y desechar.
La primera parte del curso se dedica a las tecnologías que en la actualidad son el estándar de la programación de la parte cliente de las aplicaciones web: HTML, CSS, JavaScript y DOM.
La segunda parte del curso se dedica a la programación de la parte servidor con la tecnología PHP.
Mientras que para la parte cliente no hay mucha discusión sobre las tecnologías que se deben utilizar (sólo se deben utilizar las tecnologías que son consideradas el estándar), para la parte servidor las opciones disponibles son muy variadas. Otra vez, hemos tenido que elegir, escoger y desechar.
Hay muchas otras cosas que nos hubiera gustado incluir en el temario, porque creemos que un profesional del desarrollo web debe al menos conocer, como patrones de diseño, diseño gráfico, 960.gs, Twitter Bootstrap, jQuery, Adobe Flash, Microsoft Silverlight, CodeIgniter, symfony, administración de servidores web, gestores de contenidos (Joomla!, Drupal, Wordpress), desarrollo de extensiones para gestores de contenidos, ASP.NET, JSP, Python, django, programación en la nube, programación para dispositivos móviles, posicionamiento (SEO), etc., pero no ha sido posible.
En este curso, el aprendizaje se realiza principalmente de dos formas:
Olvídate de los métodos que te prometen "aprende a programar con XYZ" en 3 días, 7 días, o 21 días. Son mentira. Si no me crees, lee lo que dice Peter Norvig, en la actualidad Director de Investigación de Google, en su artículo Teach Yourself Programming in Ten Years (Aprende a programar en diez años):
Analicemos lo que podría significar un título como Aprende Pascal en Tres Días (Learn Pascal in Three Days):
- Aprende: En 3 días no tendrás tiempo de escribir varios programas significativos, y de aprender de tus éxitos y errores con ellos. No tendrás tiempo de trabajar con un programador experimentado y entender lo que es vivir en ese ambiente. En resumen, no tendrás tiempo de aprender mucho. Así que esos libros sólo podrán lograr una familiaridad superficial, no un entendimiento profundo. Como dijo Alexander Pope, poco aprendizaje es asunto peligroso.
- Pascal: En 3 días puedes aprender la sintaxis de Pascal (si ya conoces un lenguaje similar), pero no podrás aprender mucho cómo usarla. En síntesis, si fueras, digamos, un programador Basic, podrías aprender a escribir programas en el estilo de Basic usando la sintaxis de Pascal, pero no aprenderías realmente para lo que Pascal es bueno (o malo). Entonces ¿cuál es el objetivo? Alan Perlis dijo alguna vez: "Un lenguaje que no afecte tu manera de pensar acerca de la programación, no merece conocerse". Un objetivo posible es que tienes que aprender un poco de Pascal (o más probablemente, algo como Visual Basic o JavaScript) porque necesitas tener una interface con una herramienta existente para realizar una cierta tarea. Pero entonces no estás aprendiendo cómo programar; estás aprendiendo cómo realizar esa tarea.
- en Tres Días: Desafortunadamente, no son suficientes, como se describe en la siguiente sección.
Creo que está bien claro. En este curso, de 12 semanas de duración, no te prometemos que acabarás siendo un "profesional del desarrollo web". Pero sí te prometemos que tendrás la base suficiente para que continúes aprendiendo y formándote por ti mismo. Si lo haces, quizás dentro de cinco años sí que seas un verdadero profesional del desarrollo web.