Materiales del evento: “Tres Tecnologías Microsoft que no se dan durante la carrera”

El pasado viernes a la hora de comer pasé una hora con los chicos de UAM.net en la Escuela Politécnica Superior de la UAM hablando sobre las tres tecnologías Microsoft que, a mi entender, no se impartían en la carrera cuando yo era estudiante.

IMG_8990

Concretamente, en esta charla estuvimos hablando de:

  • Windows Phone, Windows 8 y el resto de las plataformas móviles
  • ASP.net MVC, Web API, verbos HTTP, APIs REST y otros lenguajes como Ruby o PHP
  • Características disponibles en Azure y qué otros proveedores nos podemos encontrar en el mercado

El vídeo

Como novedad, esta vez hemos grabado la charla y está disponible en Youtube:

Las slides

Las slides, como siempre, están disponibles a continuación:

El código

El código de los ejemplos utilizados, y que en el caso de la web es el que se despliega directamente a Azure Websites está disponible también en un repositorio de Github: 201501-demo-uam

Finalmente, los enlaces recomendados que estaban al final de la presentación los dejo aquí:

Preparar la charla ha sido un reto muy interesante, ya que era la primera vez que volvía a dar una charla en la escuela después de haber terminado la carrera, así que espero que a los asistentes (y los que la hayáis visto en diferido) os haya gustado.

Desde aquí mi agradecimiento a la organización por la posibilidad de volver a la EPS y la enhorabuena por conseguir mantener a la gente interesada en las tecnologías .NET. Nos vemos en el próximo evento!

Rematando 2014… y planeando 2015

var dosMilCatorce = $.Deferred();

when(dosMilCatorce).done(function() {
    escribirArticulo();
});

Un año más llega a su fin y con él la quinta edición de mi resumen anual del blog. Este 2014 ha sido increíble, con casi 60 entradas publicadas y más de 50 comentarios nuevos.

Comencé el año acudiendo a mi primer Bilbostack, un evento técnico con una gran variedad de temas que me dio pie para un artículo sobre el uso de clases abstractas VS interfaces + métodos de extensión.

Pasada la resaca navideña, y con algo más de tiempo, pude recuperar un proyecto de un antiguo hackathón, llamado RealPoll y rehacerlo en C#.

Hubo tiempo para eventos y charlas, montando en marzo mi primer Hangout con la colaboración de Juan Quijano sobre SignalR y Web API, dando mi primera charla en la comunidad MadridJS además de poder volver al Gusenet como ponente para hablar de Firefox OS y acompañado de @ambynet, mi madre.

Además, pude cerrar uno de los proyectos que llevaba abierto desde 2013, que era el cliente de Karmacracy para Windows 8 y empezar a dar mis primeros pasos con ASP.net vNext, un tema que me acompañaría a lo largo del año.

En verano, a raíz de un tweet sobre el estilo que uso para escribir estas entradas, organizamos un hangout llamado Hablemos de blogs con un panel de lujo con profesionales como Vanessa Pizarro, Juan Quijano, David Salgado, Jose Manuel Alarcón y Bruno Capuano.

Como además es época de cambios, cambié de equipo y de retos, como aprender a usar Varnish o montar mi pequeño motor de injección de dependencias en c# para intentar entenderlo mejor.

Entre temperaturas calurosas y vacaciones pude convencer a Quique Fernandez Guerra, desarrollador javascript y habitual en eventos y charlas del tema para que inaugurarala la sección de “Artículo Invitado” hablando de las ventajas y las novedades de ECMAScript 6.

Ya entrando en otoño me escapar a Sevilla para hablar de cómo conectar Windows Phone a dispositivos en el Sevilla Mobility Day y a la vuelta montar un nuevo hangout cubriendo las Novedades de C# 6 con la colaboración especial de dos cracks como Edu Tomás y Juan Manuel Servera mientras preparaba la maleta para ir al TechEd Europe 2014 a través de PASS: Professional Association for SQL Server.

Tras el TechEd, un pequeño artículo sobre atajos de teclado de Visual Studio y empezar a jugar con lo presentado en el evento Connect además de mis primeros pinitos en el mundo IT preparando una máquina virtual de Azure desde Powershell.

Cómo no, más eventos, un nuevo nuevo hangout, esta vez sobre las novedades de ASP.net MVC, contando con la presencia de Eduard Tomás y Luis Ruiz Pavón como invitados especiales y mi tercer codemotion, donde este año intenté aprender algunas cosas sobre android. Además, pude correr mi primera carrera popular y hacer un pequeño artículo sobre la tecnología que ví.

Ya entrados en invierno, y mientras empezaban los preparativos para las festividades navideñas pude preparar mis primeros vídeos de vNext en inglés y castellano, un artículo sobre preguntas y respuestas de vNext, y además sacar tiempo para dar mi segunda charla en MadridJS, esta vez contando cómo hemos montado una red social desde frontiers.

Ha sido un año muy intenso, tanto a nivel de eventos como de artículos. Echemos un vistazo a los objetivos que me puse el pasado año:

  • Convertir al menos un artículo técnico en un vídeo: Conseguido
    A raíz de los hangouts sobre C# 6 y ASP.net vNext, he publicado un par de vídeos uno en inglés y otro en castellano sobre las novedades de la plataforma.

  • Escribir más en el blog, tanto en inglés como en castellano Conseguido
    Este año han sido casi 60 artículos como decía antes, 26 artículos más que en 2013, sobre temas como inyección de dependencias, Windows Store, javascript, entre otros.

  • Aprender otro lenguaje de programación, a ser posible funcional A medias
    Este año he podido descubrir con Kotlin, la alternativa de los chicos de Jetbrains para desarrollo en la JVM, reencontrarme con Java desarrollando para Android, aprender nociones de SASS y mejorar (bastante) mi nivel de Javascript, C# y SQL, así que aunque no tengo un lenguaje fuerte que defina 2014, he podido tocar de varios palos.

  • Aprobar un examen de certificación Conseguido
    Y por partida doble, este año han caído dos certificaciones (70-483 y 70-484) relacionadas con el desarrollo de aplicaciones para Windows Store en C#.

  • Cursar mi segundo MOOC (y aprobarlo, claro) Conseguido
    A través de la plataforma Coursera, desde mediados de septiembre y hasta finales de diciembre, he estado haciendo un curso de desarrollo para aplicaciones móviles para Android. Ha sido muy interesante y completo, y los ejercicios, exámenes y peer reviews me han permitido tener un primer contacto con la herramienta. A principios de enero prometo artículo!

  • Desarrollar una app para iOS y publicarla No conseguido
    Veremos si el próximo año puedo llevar alguno de mis pet-projects a iOS, no pierdo la esperanza, ya sea con Xamarin o usando Swift.

  • Desarrollar una app para Android y aprender el entorno Conseguido
    De manera paralela al curso de Android he estado haciendo una pequeña app para gestionar el tiempo que dedicamos a las diferentes tareas, y que espero que vea la luz a principios del próximo año.

  • Publicar otra app en la Windows Store y en el Windows Phone Marketplace A medias
    Este año pude publicar Karmacracy para Windows Store, mi primera app con HTML5, CSS3 y AngularJS como framework Javascript, aunque no he podido publicarla en el Marketplace de Windows Store.

  • Leer más, tanto literatura técnica como no técnica. Conseguido
    Entre libros como “You don’t know JS” o “How to fail at almost everything and still win big” he podido leer un poco más que el pasado año, ya sea en libro físico como usando Kindle :).

El balance es bastante positivo, y casi todos los objetivos están cumplidos. Con esta premisa, esta es mi carta a los reyes para el 2015 que entra:

Mi carta a los reyes para 2015

  • Aprender un nuevo lenguaje de programación o framework, y hacer un proyecto en él
    No hay nada como “mancharse las manos” para poder conocer de verdad un lenguaje de programación o framework, así que para 2015 intentaré aprender algo distinto y ponerlo en funcionamiento.

  • Hacer más vídeos en inglés y en castellano
    Gracias a todos por el feedback, trabajaré para mejorar la calidad de los mismos y que cada uno sea mejor que el anterior.

  • Montar más hangouts
    Los tres que he tenido la suerte de organizar este año han tenido una gran acogida, así que para 2015 intentaré seguir con esa línea.

  • Hacer más proyectos personales
    Al final 2014 se saldó con varios pet-projects, algunos me han servido para charlas, otras para mi trabajo, y en general he aprendido mucho con ellos.

  • Cerrar un ciclo de certificación Microsoft
    Solamente necesitaría un examen más para una certificación completa en desarrollo de aplicaciones para Windows Store, seré capaz?

  • Cursar y aprobar otro MOOC
    Si es posible seguiré con el apartado técnico, aunque no me importaría hacer cursos relacionados con la creación de startups.

  • Trabajar más en un segundo o tercer idioma
    Ya sea mejorar mi nivel de inglés o aprender más de lo poco de francés y alemán que sé, como irme a otros idiomas como puedan ser el chino o el japonés, es algo interesante que me gustaría plantear.

  • Seguir escribiendo
    226 entradas después aquí estamos, y seguiremos estando con nuevos temas el próximo año.

Conclusiones

Echando la vista atrás a estos 12 meses hay mucho que contar, un año muy intenso, con muchos temas de los que contar, mucho aprendido, eventos, charlas y oportunidades de conocer a gente verdaderamente interesante. 2015 se presenta con un montón de retos y cosas que pueden ver la luz muy pronto. Solamente le pido al año nuevo que me permita mantener el ritmo y aprender tantas cosas nuevas como nuevos artículos publique.

Gracias a todos los que en este 2014 habéis pasado por este blog, los que habéis comentado y los que habéis compartido en las redes sociales, vuestros comentarios son la gasolina que hace que este blog se mantenga.

dosmilCatorce.resolve();

Vídeos y material de “Lecciones aprendidas creando una red social” con MadridJS

Este jueves he podido compartir con los chicos de MadridJS así como varios alumnos del programa Ironhack, nuestra experiencia con javascript desarrollando una red social enfocada al desarrollo científico. Durante poco menos de una hora (y luego durante las cañas) repasamos herramientas, metodologías, y pruebas que hacemos en nuestros sistemas, así como las lecciones que hemos aprendido en el camino. En este artículo podrás encontrar el vídeo del evento, las slides de slideshare así como enlaces adicionales de temas que surgieron durante el mismo.

El debate fue muy interesante y personalmente he descubierto un montón de cosas nuevas para estudiar, gracias a todos los asistentes.

Vídeo

Slides

Enlaces adicionales de temas que surgieron en la charla:

New video: ASP.net in 10 minutes

Today we have a new video! This time we are covering in less than ten minutes, three core features of ASP.net vNext:

  • Core CLR: Main differences with the Full CLR, how to add references and what do we lose.
  • Configuration: New configuration options and how to access the information from our code.
  • Dependency injection: Which are the DI options we have and what are the differences between them.

For more articles related to ASP.net vNext, check them out (mostly on spanish) with the tag vnext

The sample code used on the video is published on Github

Evento para acabar el año: Lecciones aprendidas creando una red social

global_139815902

El próximo jueves 18 a las 19:00 vuelvo a MadridJS en mi última charla del año, en la que veremos algunas lecciones aprendidas tras haber estado durante varios meses involucrado en el desarrollo de una red social.

En esta sesión veremos algunas tecnologías, frameworks y herramientas que hemos usado tanto para desarrollar, hacer pruebas tanto unitarias como de aceptación, y finalmente para temas relacionados con despliegue de la parte frontend de la plataforma, así como algunas anécdotas y problemas a los que nos enfrentamos en los diferentes procesos tanto de creación del portal como de puesta en producción.

Además, veremos herramientas y librerías como knockout, sammy, qunit, sinon y selenium.

Inscríbete en: http://www.meetup.com/madridjs/events/219137077/

Te espero allí!

Vídeo: ASP.NET vNext en 10 minutos

En este vídeo resumo tres de las características de las que hemos hablado en Hangouts y en eventos como los de MSCoders, que son el Core CLR, la inyección de dependencias y la configuración a través de ficheros JSON.

Para más artículos relacionados, puedes encontrar información con la etiqueta vnext de este blog.

8 preguntas (y respuestas) sobre ASP.NET vNext

Ayer, en las oficinas de Microsoft España estuve en una mesa redonda con el grupo de MSCoders Madrid, continuando la conversación del pasado hangout e intentando resolver las posibles dudas que genera la nueva versión de ASP.NET.

Entre todas las cosas que se plantearon, tomé nota de varias preguntas para intentar responderlas en esta artículo:

¿Qué compatibilidad tengo?

Por una parte hemos de distinguir dos elementos diferentes, el Full .NET CLR, que es como teníamos .NET hasta ahora, y el Core CLR, que es la nueva versión optimizada para web, multiplataforma, y que incluye las dependencias en nuestras aplicaciones.

Por su propia naturaleza, el Core CLR está más limitado (temas como el registro de windows o el acceso al event logger no son posibles con el mismo) pero si usamos el Full .NET CLR podremos utilizar muchas de las ventajas de las ventajas de la nueva plataforma sin perder compatibilidad con proyectos existentes.

¿Qué pasa con Webforms?

La tecnología detrás we WebForms sigue teniendo una dependencia muy fuerte con System.Web, y pese a que se ha anunciado cierto soporte por parte de vNext, lo más probable es que neceitemos el Full CLR para hacer uso de Web Forms, perdiendo las ventajas del Core CLR.

¿Seguro que requiere Mono?

De acuerdo con el equipo de desarrollo, la dependencia de Mono es, de momento, temporal, así comentan en el artículo de introducción a MVC5, Microsoft pondrá a disposición de los desarrolladores una versión del CLR que será independiente del proyecto Mono, como se comenta a continuación:

We will release a cross-platform runtime for Linux and Mac OS X. When released, this runtime will enable you to develop and run .NET apps on Mac and Linux devices. We will work closely with the Mono community on this effort. Until its release, you can use the Mono CLR for cross-platform development. 

¿Significa esto que Mono tal y como lo conocemos deja de existir?

No, además de desarrollo web, Mono permite hacer desarrollo de aplicaciones de consola, y de aplicaciones de escritorio en linux mediante GTK# y en Mad a través de Xamarin. De acuerdo con el artículo publicado en el blog del proyecto Mono la integración permitirá al proyecto avenzar en la parte común.

El resto de adaptación de APIs nativas, como puede ser una abstracción del registro de Windows, o el trabajo hecho hasta la fecha con WinForms, quedan fuera de .NET Core y la comunidad Mono seguirá trabajando en el soporte para los mismos.

¿Qué pasa con CoreCLR y Entity Framework, funciona?

La primera versión compatible con CoreCLR será a partir de Entity Framework 7, que supone un cambio tan radical sobre EF6 como el que hemos visto con ASP.NET, y que está actualmente en fase de desarrollo, como podemos ver en su wiki.

Lo que sí sabemos y podemos comprobar echando un vistazo a las issues reportadas en Github es que se está trabajando en ello, con lo cual podemos estar seguros que tendremos una versión de Entity Framework con CoreCLR.

¿Pero, si los ficheros ahora no pertenecen al proyecto, puedo ocultar carpetas del solution explorer?

En el estado actual de las herramientas, no. A partir de la CTP4 de Visual Studio 14 (ahora Visual Studio 2015) el fichero kProj no guarda registro de los ficheros, sino que se lee directamente el contenido de la carpeta.

Veremos qué ocurre con las siguientes Previews de la herramienta, ya que el soporte para el tooling es bueno, pero tiene aún cierto margen para la mejora.

¿Finalmente, puedo integrar Grunt como parte de mi proceso de release y publicación?

Sí, de hecho los chicos de Microsoft Open Tech tienen un artículo corto pero muy conciso sobre cómo podemos configurar grunt en nuestro TFS

¿Donde puedo encontrar más información?