¡Bienvenidos a desarrollo de aplicaciones web! Como ya les debí mencionar, esta clase se trata de desarrollo web. Mi único fin es que al final de estos tres meses se sepan capaces de crear una aplicación web de verdad en el lenguaje/framework que deseen. Para este fin, ustedes van a elegir una idea de una aplicación simple, pero útil y deberán desarrollar un producto mínimo viable en grupos por afinidad de, máximo, tres personas.
Durante el curso vamos a estar usando el lenguaje de programación python; para explorar los conceptos preliminares usaremos el framework flask y para el proyecto de la clase, un framework más maduro y hecho para sitios más grandes: django.
Vamos a usar control de versiones, en concreto, git. Los proyectos del grupo van a tener repositorios remotos privados de github asignados en la página de github de la clase en la que encontrarán, además, los proyectos de muestra.
Todos los links que mencione en el curso estarán disponibles en mi cuenta de delicious.
Deberán tener:
A continuación, un poco de detalle de cómo instalar cada cosa (excepto ubuntu, ya deberían tenerlo o al menos saber instalarlo):
Para instalar git:
sudo apt-get install git-core
También deberán generar una llave pública y toda la onda, todo ese proceso está documentado en github. Y ya que estén en eso, RTFM
Para instalar setuptools:
sudo apt-get install python-setuptools
Lo cual pondrá a tu disposición el comando easy_install
, para instalar paquetes de python. Para probarlo, probá instalar ipython
, una mejor consola de python:
sudo easy_install ipython
Para instalar sqlite:
sudo apt-get install sqlite
Instrucciones extra de instalación para django están en la página oficial, para instalar django, no es necesario compilarlo a mano o usar apt-get, para eso tenemos easy_install: sudo easy_install Django
En cuanto al entorno de desarrollo, dos IDEs recomendados son pycharm y eclipse. Pero la verdad es que con un editor como gedit o vim y la consola se tiene más que suficiente. En clase estaré usando vim y en un server es la mejor opción (frente a nano o sed), pero es elección de cada quién.