Este año nos mudamos a una nueva oficina en Plaza Urquinaona, donde tenemos una sala increíble para organizar mas Meetups de arquitectura de software. 
¡Aquí puedes ver un pequeño video sobre la vida de Apiumhub y nuestra nueva oficina! Uno de nuestros valores es nunca dejar de crecer. Aprendemos unos de otros y nos preocupamos por nuestro crecimiento personal. Todos los días, crecemos y nos encanta compartir conocimiento con otros. Por lo tanto, este otoño comenzamos una serie de meetups de Apiumhub sobre arquitectura de software y desarrollo de software. En realidad, puedes ver un adelanto con nuestras reuniones aquí.

Además, creamos nuestro propio grupo en meetup, donde publicaremos todos los próximos Meetups de arquitectura de software, ¡siéntete libre de unirte!

 

Primer meetup sobre arquitectura de software: MVP y FRP

El primero fue sobre arquitectura de software, para ser más precisos, Christian Ciceri, cofundador y arquitecto de software de Apiumhub hizo una presentación sobre MVP y FRP para una arquitectura sin controlador. Y Diego Ojeda: nuestro crack de Android dio un discurso sobre MVP y FRP
como un enfoque para una arquitectura frontend más limpia y más pura.

Para ser sincero, estábamos tan entusiasmados con nuestra primera reunión, que decidimos tomar un video con los asistentes y el video con los oradores. Los encontrarás más adelante en el artículo, sigue leyendo;).

 

MVP y FRP para una arquitectura sin controlador

Históricamente, se le ha prestado poca atención a la arquitectura front-end. En este momento, hay muy pocas referencias sobre este tema y por lo tanto, decidimos comenzar nuestras meetups de Apiumhub con la arquitectura Frontend.

Lo que tratamos de lograr con una buena arquitectura de software es mejorar las cualidades arquitectónicas de los sistemas en los que trabajamos, tales como: modularidad, robustez, expresividad, etc.

Aquí tienes la presentación y el video para saber más sobre estos Meetups de arquitectura de software.

 

MVP y FRP como un enfoque para una arquitectura frontend más limpia y más pura

¿Cómo estaban las cosas hace unos años? ¿Qué nos da una buena arquitectura de software? Y respuestas a muchas otras preguntas que encontrarás en esta presentación y en el video.

Para serte sincero, el meetup fue un éxito. Los asistentes generaron discusiones interesantes y nos dieron ideas para los próximos meetups. La mayoría de los participantes dijeron que estaban interesados ​​en Backend y DDD, por lo que decidimos organizar más meetups sobre este tema.  

 

Segundo meetup sobre arquitectura de software: Microservices Antipatterns

Para ser sincero, pensamos mucho sobre el tema para la segunda reunión y nos alegramos de recibir muchas sugerencias. El tema que tuvo más votos fue “DDD en la práctica: descubriendo microservicios falsos” y decidimos por qué no tener una parte teórica con Christian Ciceri y una parte práctica con Oscar Galindo.

Comencemos con la teoría. Aquí, Christian dijo que los microservicios no siempre son una buena idea, a pesar de que somos grandes admiradores de esta arquitectura. Dio varios ejemplos, compartió su opinión sobre lo que Martin Fowlers dice sobre microservicios y enumeró los libros que todo desarrollador de back-end debe leer.

Aquí tienes la presentación y el video

En cuanto a la parte práctica, Oscar mostró ejemplos de proyectos reales, donde puedes ver el código. Los ejemplos incluyen: lado del cliente, lado del servidor, desde microservicios a un monolito, entorno, etc.

Aquí tienes su presentación con todos los detalles.

 

Tercer Meetup sobre arquitectura de software. DDD: segregación de la interfaz

Mucha gente vino a nuestro segundo meetup y nuestra oficina simplemente se hizo pequeña para los demás Meetups de arquitectura de software, por lo tanto, hablamos con Pier01 y decidimos organizar nuestras próximos Meetups de arquitectura de software en mVenturesBcn (Pl. Pau Vila, 1, Sector C, 2 ° piso). Allí tenemos una sala para alrededor de 80 personas y todas las instalaciones para dar una presentación de calidad.

En Febrero nuestro arquitecto de software, Christian Ciceri, fue a Amsterdam para participar en el evento Domain Driven Design Europe. Siempre va allí y siempre dice que este es un evento muy interesante, donde destaca cosas nuevas e interesantes.

Entonces, este meetup fue sobre DDD, Christian compartió algunas ideas útiles reunidas en Amsterdam. Además, hizo un análisis detallado de algunos principios SÓLID, poniendo más énfasis en el principio de segregación de la interfaz.

Este meetup cubrió:

a) la correcta aplicación de los principios en casos de Dominios

b) su importancia para la detección de casos de macro-uso

c) su relación con el descubrimiento de bounded contexts

d) las consecuencias al diseñar sistemas colaborativos con alta concurrencia


Aquí puedes encontrar sus videos y presentaciones:

Teoría de Christian Ciceri: video y presentación

Práctica de Román Predein: video y presentación. Si deseas recibir el código, no dudes en escribirnos y te lo enviaremos.

 

4to meetup. DDD: Principio de Responsabilidad Única

Nuestra 4ta reunión fue el 12/04 a las 19:00 en el Pier01, dentro del espacio de mVenturesbcn . El tema que se trató fue DDD otrta vez. Sin embargo,  esta vez vímos el Principio de Responsabilidad Única y Monolitos Descomponentes mediante la interrupción de clases.

Christian Ciceri cubrió el tema de la descomposición de los monolitos rompiendo clases.  Y continuando con la sesión anterior, expuso la relación de la Interfaz de principios de segregación con la simplificación de dominios y sistemas colaborativos.

En esta sesión, Christian hico:

  • Una definición exacta del Principio de Responsabilidad Única
  • Ventajas de la aplicación
  • La aplicamos a la partición de dominios, y a la relación entre dominios
  • Valoramos cómo, dentro del mismo dominio, podemos partir clases
  • Vimos técnicas que nos permiten representar de forma segura las transiciones de estado, hasta llegar a generar algo muy parecido a los Algebraic Data Types en programación funcional
  • Vimos múltiples ejemplos prácticos y los beneficios asociados

Tuvimos pica-pica y cerveza! Aquí tenéis un pequeño video sobre el meet up

Si os interesa tener el video y las presentaciones del mismo, aquí las tenéis: 

Parte Teórica por Christian Ciceri: Video & Presentación 

Parte Práctica de Joaquín Caro y Rafa Ruiz: Video  

Disfrutad! 

5tº meetup. DDD: Testing en arquitectura de Microservicios

El evento tuvo lugar el 12 de Junio a las 19:00h dentro del Pier01, en el espacio de mVenturesbcn. Y trató sobre DDD y testing en la arquitectura de Microservicios. 

Descripción del meetup:

Testing Unitario, TDD y BDD se han convertido recientemente en prácticas básicas.  

Nos fijaremos en como adaptar la arquitectura para maximizar la capacidad de testing minimizando el esfuerzo del test. 

En esta sesión cubrimos:

– Como las arquitecturas inspiradas en el DDD “táctico” optimizan la capacidad de testeo. –Lo mismo para la parte “estratégica”, y por consiguiente la arquitectura en microservicios 
– Objetos reales de testeo, más allá de únicamente asegurar calidad
– Prácticas más generales
– Propusimos un mapa general entre la arquitectura de componentes y los tipos de tests, con la razón de hacer que un test encaje  mínimamente con una implementación concreta. 

Speaker
Christian Ciceri

Aquí podéis encontrar la presentación y el video

Open space

Además tuvimos un Open Space muy interesante en el cual tratamos los siguientes temas: 

  • Separar el código “puro” del “impuro” 
  • Lógica “pura” en un domain lógico
  • Apoyarse en el compilador
  • La dependencia de las inyecciones no se hace en el domain
  • Utilizar Stubs y Spies, no Strict Mocks
  • Aislar la capa servicio
  • Las APIs de las terceras partes no están mockeadas 
  • Hacer un Test-Drive de tu API 

Aquí tenéis el video con las discusiones. 

Podéis encontrar un pequeño video resumen del evento en este link. 

Software Development best practices in a modern environment

En esta charla se habló de las buenas prácticas en desarrollo de software que aplicamos en Apiumhub al realizar cualquier tipo de proyecto. Álvaro compartió algunas de estas buenas prácticas, así como historias y heurísticas. También explicó qué situaciones fueron bien – y también las que fueron mal – y por qué. Álvaro también detalló cómo añadir buenas prácticas en tu desarrollo diario, y cómo evaluar y actualizar estas prácticas.

Hubo snacks, cerveza y una lotería muy especial. Aquí tenéis un pequeño avance de cómo fue el evento.

Aunque si quieres ver el video entero, también lo tienes disponible aquí. ¡Disfruta!

También nos gustaría compartir contigo la presentación con toda la teoría que explicó Álvaro en el meetup.

Siguiente meetup: nuestra visión de la arquitectura mobile

En este meetup compartiremos con vosotros nuestra visión de la arquitectura mobile. Explicaremos nuestra experiencia con el patrón MVP y la forma en que lo hemos desarrollado, aplicando principios SOLID, mejorando la calidad de nuestro testing y reduciendo considerablemente la cantidad de mocks. Presentaremos una introducción teórica del patrón y los principios ya mencionados seguido de un caso práctico detallando todos los componentes de nuestra arquitectura.

¡Esperamos verte allí! Hazte con tu entrada gratis.

¿Cuál será el próximo?

Siempre estamos abiertos a sugerencias, siéntete libre de sugerirnos temas para las próximas reuniones en la sección de comentarios a continuación.

No te olvides de suscribirte a nuestro boletín mensual para recibir más información sobre las próximas reuniones de arquitectura de software y ser el primero en reservar lugar.

¡Gracias por el interés!

 

Si te gustó este artículo sobre meetups de arquitectura de software, te puede gustar:

 

Notas sobre DDD Europe

Arquitectura de microservicios vs arquitectura monolítica 

Scala generics I: clases genéricas y type bounds 

Scala generics II: covarianza y contravarianza 

Principio de responsabilidad única 

Por qué Kotlin?

Patrón MVP en iOS

F-bound en Scala

Sobre Dioses y procrastinación

Arquitectura de microservicios

Fibers en Nodejs

Simular respuestas del servidor con Nodejs

Barcelona como ciudad intelignete

Mapa de los “main players”: ecosistema startup y tech en Barcelona

Ecosistema de salud digital en Barcelona