El presente repositorio contiene el material de apoyo para el taller de desarrollo de aplicaciones web con Software Libre. Este taller pondrá especial énfasis en los trabajadores estatales, y el por qué las administraciones públicas deben usar software libre, pero puede ser igualmente aprovechado por cualquier persona que quiera desarrollar aplicaciones web.
El taller consiste en una serie de encuentros presenciales en los cuales introduciremos nuevas herramientas que son utilizadas actualmente para desarrollar aplicaciones web modernas.
En el repositorio encontrarán diversos textos introduciendo los temas a trabajar, guías para instalar y utilizar las herramientas y ejercicios para resolver.
Este material es un trabajo en curso, y se espera que quienes hagan el curso o encuentren este material de utilidad nos ayuden a completarlo y mejorarlo.
Cada tema a ser abordado está organizado en un carpeta distinta, con sus respectivos materiales y ejercicios.
Explicamos los temas que abordaremos, las herramientas que utilizaremos y la aplicación que vamos a desarrollar.
Historia y principios del software libre, el estado actual de su desarrollo, las razones por las cuales es necesario impulsar su adopción en las administraciones públicas y su relación con la soberanía digital.
- GNU/Linux (ver ejercicios!)
Para armar nuestro entorno de desarrollo utilizaremos alguna distribución de GNU/Linux, como Ubuntu. Comentamos su historia y actual desarrollo y brindamos algunos lineamientos para su instalación.
- git & github (ver ejercicios!)
Control de código fuente ditribuido con git. Comandos básicos. Visualizando un repositorio con ungit. Desarrollo colaborativo con github.
Historia y situación actual de Javascript. Características del lenguaje.
Principios de Desarrollo conducido por pruebas. Workflow de trabajo de TDD. Ejemplos en Javascript con QUnit y Jasmine. Koans de Javascript para aprender el lenguaje de manera interactiva completando pruebas unitarias (básicos y avanzados).
- Javascript básico (ver ejercicios!)
Conceptos básicos de Javascript. Comparando valores. Alcance y visibilidad de las variables. Tipos de variables. Variables por referencia, por valor y compartidas.
Reflection. Herencia prototípica y la cadena de prototipos. Valor de la variable 'this' y su uso en los callbacks.
Principios de programación funcional. Funciones útiles de la librería underscore y lodash. Higher order functions y clousures.
Protocolo HTTP. Principios de REST. Criterios para el diseño de una API REST. Formato JSON (JavaScript Object Notation).
Introducción a Node.js. Ejemplos básicos. Node Packaged Modules - npm. Otras herramientas para trabajar con node.
Presentación de express.js, un framework para hacer aplicaciones web y web services con node. Otros frameworks para trabajar con node.
Conclusiones
Próximos temas a ver