Frameworks de JavaScript en el lado del cliente en 2017

En un post anterior ya hablamos sobre la evolución del desarrollo web del lado del cliente. Tal como anunciamos entonces, hoy es el turno de los frameworks del lado del cliente. Los frameworks no son nuevos en el desarrollo de aplicaciones de gran envergadura. De hecho, la mayoría de lenguajes consolidados tienen una gran variedad de frameworks. Por ejemplo en el mundo Java son ampliamente conocidos Java Server Faces (JSF), Struts o Spring; en PHP encontramos Laravel, Yii o Symfony. Las principales ventajas que aportan los frameworks son las siguientes: Desarrollo rápido. Crear un proyecto desde cero suele conllevar un elevado coste en tiempo. Por eso, los frameworks proporcionan la estructura del proyecto y un conjunto de bibliotecas preconfiguradas que ahorran tiempo en el comienzo de los nuevos proyectos. Muchas tareas son delegadas a los frameworks permitiendo a los desarrolladores centrarse exclusivamente en las funcionalidades de su software. Incorporación/Rotación de nuevos miembros a los equipos de desarrollo. Uno de los mayores problemas en el desarrollo de software es la rotación de miembros en los equipos de desarrollo, puesto que la incorporación de un nuevo miembro conlleva un coste en aprender la arquitectura del proyecto. Esto es minimizado utilizando un framework, ya que éste obliga a adaptarse a una arquitectura concreta, de modo que cualquier persona que conozca el framework podrá incorporarse rápidamente al desarrollo de cualquier aplicación basada en ella (puesto que conoce la manera de trabajar del framework), minimizando el coste para la empresa. Seguridad/Rendimiento. Los frameworks suelen ser creados y mantenidos por equipos de desarrollo diferentes y externos a nuestra organización. Esto permite que esta organización esté...

MOOC de Introducción a la gamificación a través de casos prácticos

L@s informátic@s nos movemos, a menudo, entre buzzwords y modas tecnológicas. Algunas vienen y se quedan, otras van y vuelven, y otras caen en el olvido. Yo (Dani) creo recordar hace ya algunos años, que la primera vez que oí hablar de gamificación (NOTA: El término correcto es ludificación) fue con el servicio Foursquare (?). Posteriormente, la he visto en Stackoverflow, Facebook, LinkedIn, Endomondo, y en un larguísimo etcétera de servicios y aplicaciones (Bueno, con Joan tendríamos una larga discusión sobre cuáles de estas incorporan gamificación y cuáles no). Joan y yo siempre insistimos en que la gamificación no es un recurso que implique desarrollo tecnológico. Se puede gamificar con papel, lapiz, piedras… y con lo que se nos ocurra. Y eso lo decimos porque, a parte de ser cierto, puede echar atrás a alguien que tenga buenas ideas pero no conocimientos de programación (o presupuesto para contratar a alguien). Por lo tanto, gamificación y tecnología (digital) no son dependientes… pero la gamificación puede ser una herramienta valiosísima para cualquier persona que pretenda desarrollar una aplicación, un portal, una tienda de comercio electrónico, etc. La gamificación os puede ayudar a dar a conocer vuestro “servicio”, a que tengan una entrada más suave, a mejorar la experiencia una vez dentro, etc. Y sabéis que podéis desarrollar el mejor servicio del mundo, y fracasar. Por lo que, un recurso extra nunca está de más. Es importante, eso sí, no ver la gamificación como una panacea. Es una herramienta que nos puede ayudar si se utiliza en la situación adecuada y de la manera correcta. Como ingenieros que somos, Joan y yo insistimos mucho...

Diez libros para leer este verano

Se acerca el esperado momento de apagar el ordenador por unas semanas e irse de vacaciones. ¿Qué planes tenéis? Ya sea en un largo viaje de avión o de tren, en la playa o en el sofá, si sois amantes de la lectura cualquier destino es bueno para ir acompañado de un libro. Hoy os traemos una selección de diez libros para todos los gustos: The Mythical Man-Month: Essays on Software Engineering (Fred Brooks, 1975 (1a ed), 1995 (2a ed)) Aunque fue publicado por primera vez hace más de 40 años, sigue siendo un clásico de la gestión de proyectos que todo ingeniero de software debería leer (disponible sólo en inglés!). En esta recopilación de ensayos, el autor trata aspectos fundamentales (y transversales a la época) del desarrollo de proyectos software tales como los atrasos, la comunicación entre el equipo, la gestión de los errores, la documentación, etc.       Gödel, Escher, Bach: Un eterno y grácil bucle (Douglas R. Hofstadter, 1979 (1a ed)) En sus más de 900 páginas, esta obra hace un recorrido por las matemáticas, la física, la biología, la psicología y muy especialmente el lenguaje, buscando respuestas a la pregunta: ¿Puede un sistema comprenderse a sí mismo? A través de sorprendentes paralelismos ocultos entre los grabados de Escher y la música de Bach, el autor nos remite a las paradojas clásicas de los antiguos griegos y a un teorema de la lógica matemática moderna que ha estremecido el pensamiento del siglo XX: el de Kurt Gödel.       Logicomix: una búsqueda épica de la verdad (Apostolos Doxiadis y Christos H. Papadimitriou, 2011) Una novela...

Nuevas acreditaciones de Másters Universitarios de la UOC

Hoy tenemos buenas noticias para los estudiantes de la UOC, especialmente para aquellos que están estudiando alguno de los Másters oficiales de nuestros Estudios. En una entrada previa os explicamos qué significa que un título de Grado o Máster sea “oficial”: una agencia de calidad universitaria (como ANECA a nivel estatal o AQU a nivel autonómico) ha evaluado el programa y certifica su calidad. Esta evaluación se realiza principalmente en dos momentos a lo largo de la vida del programa: Verificación: En el momento de la definición del título, la Universidad presenta una memoria describiendo en detalle la propuesta de programa: los objetivos y competencias, las salidas profesionales, el plan de estudios, la metodología docente y de evaluación, el equipo docente y los recursos disponibles. Evaluación y acreditación: Periódicamente, un comité externo evalúa los resultados obtenidos y comprueba si el programa se desarrolla según lo previsto en la memoria de verificación. Por ejemplo se evalúa si el perfil de los egresados es el demandado por las empresas, si la metodología es adecuada o si los estudiantes están satisfechos con el programa. En caso de que las evaluaciones periódicas sean favorables, se concede la acreditación a dicho programa. Que un Grado o un Máster consiga la acreditación es una noticia excelente para los estudiantes, ya que demuestra que es un programa de calidad, que se está desarrollando de forma adecuada y que sus contenidos son útiles para el mundo profesional. A finales de 2015 pasaron por el proceso de evaluación externa y acreditación diversas titulaciones de Grado y Máster de nuestros Estudios: el Grado de Ingeniería Informática, el Grado de Tecnologías...

Evolución del desarrollo web del lado del cliente

En los últimos años ha habido una gran demanda de desarrolladores de software debido a la inclusión de los sistemas informáticos en prácticamente todo los aspectos del día a día de las personas. A las clásicas demandas de tecnologías tales como C, C++, JAVA, .NET, SQL han surgido un nuevo elenco de nuevas tecnologías tales como JavaScript, ECMAScript, nodeJS, AngularJS, React, Angular 2.0+, VueJS, ember, gulp, webpack, TDD, BDD, CI, CD, etc. El nuevo conjunto de tecnologías que se solicitan como puestos de trabajo pertenecen al desarrollo de aplicaciones web. Una de las mayores críticas de los profesionales del sector (Ingenieros y desarrolladores en general) es el rápido cambio de tecnologías que sufre el desarrollo Web en el lado del cliente (o front-end). Historia del lenguaje de programación JavaScript Antes de poder afrontar los últimos avances en el desarrollo de aplicaciones Web hay que comprender por qué y cómo se ha llegado a esta situación, y para ello se va a presentar la evolución que ha sufrido el desarrollo del lado del cliente hasta llegar a nuestros días (Julio 2017). Hay que retomarse a los orígenes de la Web cuando existían principalmente dos navegadores Web populares para los usuarios: Internet Explorer y Netscape. Internet Explorer hasta hace poco ha sido el navegador por excelencia de la compañía Microsoft y es sobradamente conocido por la mayoría de los lectores, hoy en día ha sido sustituido por Microsoft Edge. Menos conocido es el navegador Netscape, el cual fue el primero que plantó cara al dominio de Internet Explorer y del cual deriva hoy en día Mozilla Firefox. Para el desarrollo de scripts...