SlideShare una empresa de Scribd logo

MDE en la industria

Charla en la ETSII. Universidad de Sevilla 2023.12.05

1 de 55
Orca
Web DSL for Container Orchestration
Configurations
Utrecht, 2023.11.14
Dr. Pedro J. Molina
@pmolinam
#
MDE
en la Industria
Sevilla, 2023.12.05
Dr. Pedro J. Molina
@pmolinam
Dr. Pedro J. Molina
@pmolinam
Bio
1998 - 1999 Beca de investigación FPI, UPV, Valencia
1994 - 1996
Ing. Técnica en Informática, UCLM, Albacete
Seattle
SFO
1996 - 1998
Ing. Informática, UPV, Valencia
1998 - 2003
Doctoradoen Informática,UPV,Valencia 1999 - 2004 Investigador, Software Architect CARE Technologies, Dénia
2005 - 2012 Capgemini, Arquitecto de SW, Consultor, Manager, Valencia
2012 - 2016 Research Manager y CTO, Icinetic, Sevilla / Seattle
2016 - now Founder,Metadev, Sevilla
2018 - now OpenAPI Inititative, Linux Foundation / Univ. of Sevilla
AB
VLC
Dénia
SVQ
Nacido en 1975.
Experiencia Laboral
Estudios
Agenda
1. MDE
2. Casos de industriales
3. Experiencia personal
4. Potencial de MDE
1. MDE
Publicidad

Recomendados

Cv Fernando Mateus_01_2014_visual
Cv Fernando Mateus_01_2014_visualCv Fernando Mateus_01_2014_visual
Cv Fernando Mateus_01_2014_visualFernando Mateus
 
arquitectura gastronomica palermo. proyecto de locales comerciales
arquitectura gastronomica palermo. proyecto de locales comercialesarquitectura gastronomica palermo. proyecto de locales comerciales
arquitectura gastronomica palermo. proyecto de locales comercialeswistfulphobia6284
 
Hoja de vida Jose Osoria
Hoja de vida Jose OsoriaHoja de vida Jose Osoria
Hoja de vida Jose OsoriaJOSE OSORIA
 
Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Snoop Consulting
 
Curriculum Vitae Gissel Guardado Proaño 2016 V1 1
Curriculum Vitae Gissel Guardado Proaño 2016 V1 1Curriculum Vitae Gissel Guardado Proaño 2016 V1 1
Curriculum Vitae Gissel Guardado Proaño 2016 V1 1Gissel Guardado Proaño
 

Más contenido relacionado

Similar a MDE en la industria

CV_Jesus_Arturo_Hdz_Soberon
CV_Jesus_Arturo_Hdz_SoberonCV_Jesus_Arturo_Hdz_Soberon
CV_Jesus_Arturo_Hdz_SoberonUTNC, CONALEP
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisQuobis
 
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasWebinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasatSistemas
 
CV_Ricardo_Bouyer 2014
CV_Ricardo_Bouyer 2014CV_Ricardo_Bouyer 2014
CV_Ricardo_Bouyer 2014Ricardo Bouyer
 
Keepler Data Tech | The cloud data driven partner
Keepler Data Tech | The cloud data driven partnerKeepler Data Tech | The cloud data driven partner
Keepler Data Tech | The cloud data driven partnerKeepler Data Tech
 
Presentación
 Presentación Presentación
Presentaciónwebmicro
 
Cursos Tecnología
Cursos TecnologíaCursos Tecnología
Cursos Tecnología@ula-Center
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSEdin Kapic
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...SOFTENG
 
Presentación del Centro de Apoyo al Software Abierto
Presentación del Centro de Apoyo al Software AbiertoPresentación del Centro de Apoyo al Software Abierto
Presentación del Centro de Apoyo al Software AbiertoLibreCon
 
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Viewnext
 
trabajofinalMejora de MetodosBet.docx
trabajofinalMejora de MetodosBet.docxtrabajofinalMejora de MetodosBet.docx
trabajofinalMejora de MetodosBet.docxBethDuranCisneros
 

Similar a MDE en la industria (20)

CV_Jesus_Arturo_Hdz_Soberon
CV_Jesus_Arturo_Hdz_SoberonCV_Jesus_Arturo_Hdz_Soberon
CV_Jesus_Arturo_Hdz_Soberon
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - Quobis
 
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasWebinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
Na At Technologies
Na At TechnologiesNa At Technologies
Na At Technologies
 
CV_Ricardo_Bouyer 2014
CV_Ricardo_Bouyer 2014CV_Ricardo_Bouyer 2014
CV_Ricardo_Bouyer 2014
 
TMS IaaS + PaaS Infrastructures 2016 Offering
TMS IaaS + PaaS Infrastructures  2016 OfferingTMS IaaS + PaaS Infrastructures  2016 Offering
TMS IaaS + PaaS Infrastructures 2016 Offering
 
Catálogo de perfiles 2016
Catálogo de perfiles 2016Catálogo de perfiles 2016
Catálogo de perfiles 2016
 
Keepler Data Tech | The cloud data driven partner
Keepler Data Tech | The cloud data driven partnerKeepler Data Tech | The cloud data driven partner
Keepler Data Tech | The cloud data driven partner
 
Presentación
 Presentación Presentación
Presentación
 
Cursos Tecnología
Cursos TecnologíaCursos Tecnología
Cursos Tecnología
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMS
 
cvjf 2015
cvjf 2015cvjf 2015
cvjf 2015
 
Curso Superior de Desarrollo BackEnd II - CódigoK
Curso Superior de Desarrollo BackEnd II - CódigoK Curso Superior de Desarrollo BackEnd II - CódigoK
Curso Superior de Desarrollo BackEnd II - CódigoK
 
HVLMM
HVLMMHVLMM
HVLMM
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
 
Presentación del Centro de Apoyo al Software Abierto
Presentación del Centro de Apoyo al Software AbiertoPresentación del Centro de Apoyo al Software Abierto
Presentación del Centro de Apoyo al Software Abierto
 
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
 
trabajofinalMejora de MetodosBet.docx
trabajofinalMejora de MetodosBet.docxtrabajofinalMejora de MetodosBet.docx
trabajofinalMejora de MetodosBet.docx
 

Más de Pedro J. Molina

dotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
dotnetMalaga-2020 Gestión de la configuración en aplicaciones WebdotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
dotnetMalaga-2020 Gestión de la configuración en aplicaciones WebPedro J. Molina
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with TerraformPedro J. Molina
 
Essential as the base for Web DSLs
Essential as the base for Web DSLsEssential as the base for Web DSLs
Essential as the base for Web DSLsPedro J. Molina
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaPedro J. Molina
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web ComponentsPedro J. Molina
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web componentsPedro J. Molina
 
Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDEPedro J. Molina
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi SpecPedro J. Molina
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)Pedro J. Molina
 
Diseño de APIs con OpenAPI
Diseño de APIs con OpenAPIDiseño de APIs con OpenAPI
Diseño de APIs con OpenAPIPedro J. Molina
 
SVQDC 2017 Tecnologías para Microservicios
SVQDC 2017 Tecnologías para MicroserviciosSVQDC 2017 Tecnologías para Microservicios
SVQDC 2017 Tecnologías para MicroserviciosPedro J. Molina
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microserviciosPedro J. Molina
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackPedro J. Molina
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN StackPedro J. Molina
 

Más de Pedro J. Molina (20)

Terraform
TerraformTerraform
Terraform
 
dotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
dotnetMalaga-2020 Gestión de la configuración en aplicaciones WebdotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
dotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with Terraform
 
Are Startups for me?
Are Startups for me?Are Startups for me?
Are Startups for me?
 
Meow Demo
Meow DemoMeow Demo
Meow Demo
 
Essential as the base for Web DSLs
Essential as the base for Web DSLsEssential as the base for Web DSLs
Essential as the base for Web DSLs
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web Components
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web components
 
OpenAPI 3.0.2
OpenAPI 3.0.2OpenAPI 3.0.2
OpenAPI 3.0.2
 
Quid
QuidQuid
Quid
 
Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDE
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi Spec
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)
 
Diseño de APIs con OpenAPI
Diseño de APIs con OpenAPIDiseño de APIs con OpenAPI
Diseño de APIs con OpenAPI
 
SVQDC 2017 Tecnologías para Microservicios
SVQDC 2017 Tecnologías para MicroserviciosSVQDC 2017 Tecnologías para Microservicios
SVQDC 2017 Tecnologías para Microservicios
 
Introducción a Angular
Introducción a AngularIntroducción a Angular
Introducción a Angular
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN Stack
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
 

MDE en la industria

  • 1. Orca Web DSL for Container Orchestration Configurations Utrecht, 2023.11.14 Dr. Pedro J. Molina @pmolinam #
  • 2. MDE en la Industria Sevilla, 2023.12.05 Dr. Pedro J. Molina @pmolinam
  • 3. Dr. Pedro J. Molina @pmolinam
  • 4. Bio 1998 - 1999 Beca de investigación FPI, UPV, Valencia 1994 - 1996 Ing. Técnica en Informática, UCLM, Albacete Seattle SFO 1996 - 1998 Ing. Informática, UPV, Valencia 1998 - 2003 Doctoradoen Informática,UPV,Valencia 1999 - 2004 Investigador, Software Architect CARE Technologies, Dénia 2005 - 2012 Capgemini, Arquitecto de SW, Consultor, Manager, Valencia 2012 - 2016 Research Manager y CTO, Icinetic, Sevilla / Seattle 2016 - now Founder,Metadev, Sevilla 2018 - now OpenAPI Inititative, Linux Foundation / Univ. of Sevilla AB VLC Dénia SVQ Nacido en 1975. Experiencia Laboral Estudios
  • 5. Agenda 1. MDE 2. Casos de industriales 3. Experiencia personal 4. Potencial de MDE
  • 7. MDE: Model Driven Engineering ▪El uso de modelos como ciudadanos de primer nivel en el ciclo de vida del software (u otros dominios)
  • 8. Niveles de abstracción Machine Code COBOL / C / Basic / Java Assembler 4GL Models / Specs Application Domain Semantic Gap Abstraction level The entire history of software engineering is one of rising levels of abstraction (abstraction is the primary way we as humans deal with complexity). Grady Booch
  • 9. ¿Qué es un modelo? ▪ A model allows ▪ the description of a family of problems for a domain ▪ Having the abstraction level carefully selected to: ▪ Discard irrelevant details (reduce complexity) ▪ Discard constant details (reduce complexity) ▪ Explicit important details (variables part) ▪ What’s a meta-model? ▪ A model describing model. Customer Credit Card 1 * Class Properties Relation Cardinality Source Target
  • 10. Separation of Concerns (SoC) Know-Howcapturado en dos bloques separados: Cómo ▪ Technological Know-How: encapsulado en forma de mejores practicas, frameworks, plantillas, patrones de Código en generadores e interpretes Qué ▪ Business Know-How: capturado en forma de modelos (especificaciones): aislado de aspectos técnicos
  • 11. MDE: Economic Model Domain Engineering Application Engineering Application Development Environment Applications Feedback: ▪ Customers suggestions ▪ Improvements for the development environment ROI (development cost saving) Investment
  • 12. MDE: Economic Model ▪ Traditional Cost = N * CT ▪ MDD cost = Inv + N * CF Family members 1 2 3 4 5 5 CT 4 CT 3 CT 2 CT CT Accumulated costs Inv Saving AF = CT - CF
  • 13. Técnicas de MDE ▪ DSL (Domain Specific Languages) ▪ Gramáticas: Parsing / ASTs, compiladores, optimizaciones ▪ Validación de modelos ▪ Transformaciones de modelos: M2M, M2T, ▪ Ingeniería hacia adelante / ing. Inversa ▪ Generación de código, Interpretes de modelos ▪ Mineria de modelos
  • 14. Marco de trabajo con MDE Textual Model Editor Modelos Visual Model Editor IDE Model Checker Model Transformation Model M2M M2T Code Doc, etc. Reverse Engineering Tools Metamodelos
  • 15. Conceptual Map for Code Generation Metamodel Model Templates Code Transformations Higher Abstraction Level Lower Instances Types Code Generator
  • 16. Técnicas de MDE ▪DSLs / Lenguajes ▪ Textuales ▪ Gráficos ▪ Basados en plantillas ▪ Proyeccionales ▪ Hibridos
  • 18. Metacase https://www.metacase.com/ Finlandia Herramienta de metamodelado gráfico Uso en sistemas embebidos e industria
  • 19. Genexus https://www.genexus.com/es/ Uruguay Herramienta veterana para modelado de aplicaciones de negocio (4GL) Generación a multiples tecnologias Mercado: Sudamerica y Japon.
  • 21. Strumenta https://strumenta.com Italia Especialistas en parsing, ANTLR Parsers para Cobol, RPG, SAS, SQL, Teradata, PL/SQL, VBA
  • 22. Autosar https://www.autosar.org/ Modelos de referencia para integración de sistemas embebidos y microcontroladores Sector Automoción
  • 26. Belastingdienst Autoridad de Impuestos en Holanda ▪ https://twitter.com/pmolinam/status/1729953985514098923 ▪ Leyes modeladas con MPS ▪ Se deriva documentación, explicaciones, simuladores y código a partir de las leyes
  • 28. CARE Technologies 1999 – 2004, Dénia ▪ Herramienta CASE de modelado ▪ Basado en OASIS: UML + Modelo de presentación JUST-UI ▪ 2 patentes en USPTO ▪ Olivanova Model Execution ▪ Generación de Código complete para aplicaciones de gestion a: VB, Java, Coldfusion, C#
  • 29. Olivanova Model Execution CARE Technologies, 1999-2004 Web Server Mobile Spec XML Translators Swing JSP Cold Fusion VB ASP EJB VB/MTS DBMS Client Side Server Side
  • 30. Proyecto PISA 2006-08, Capgmeni para Bancaja, Valencia ▪Migración de software bancario a Windows XP ▪Enfoque MDE ▪Ingenieria inversa, descubrimiento de dependencias ▪Modelado de operaciones bancarias
  • 34. Radarc.NET Icinetic, 2012 2012-13, Icinetic, Sevilla ▪Generación de código basado en modelos sobre Visual Studio https://www.youtube.com/watch?v=jTBaLOtDGRk
  • 35. Windows Phone App Studio Icinetic, 2013 ▪Buildup.io, Icinetic 2013 ▪ IBM Bluemix Mobile App Studio, Icinetic 2013 25% of Windows Phoneapps published in CY2013 were created with Windows Phone AppStudio • Over 290,000 registered users • More than 135,000 apps created • 17,000 published apps In just 5 months…
  • 36. Windows Phone App Studio ▪ Creado por Icinetic (Sevilla) para Microsoft en 2013 ▪ AppBuilder https://www.youtube.com/watch?v=OkyONTls0mQ
  • 37. Windows Phone App Studio Icinetic, 2013 • Over 290,000 registered users • More than 135,000 apps created • 17,000 published apps In just 5 months…
  • 38. Hivepod.io Icinetic, 2013 HIVEPOD ▪ Backend as as Service https://vimeo.com/142230729 ▪ MEAN Stack
  • 39. Fundada el 2016 Foco en construir: ▪Modelos conceptuales ▪DSLs en la Web ▪Herramintas nocode/lowcode para diferentes dominios HQ en Sevilla https://metadev.pro
  • 40. Proyecto Lowcomote https://www.lowcomote.eu/ 2019-2023 ▪Proyecto de la Union Europea bajo iniciativa Marie Curie ▪Formados 15 PhD internacionales en universidades europeas desarrollando su tesis doctoral en MDE. ▪Apoyo de empresas del sector de MDE
  • 41. Orca ▪ Editor nocode para orquestar Contenedores (Docker-Compose) ▪ https://orca-tool.com
  • 42. Quid ▪ DSL para prototipar Web Components ▪ https://quid.metadev.pro
  • 43. Essential ▪ Herramienta de meta-modelado en la web ▪ https://essential.metadev.pro
  • 45. EST40 ▪ Editor proyeccional para toma de requisitos aeroespaciales segun estandres de la ESA. ▪ https://est4o-editor.metadev.pro
  • 47. SLA Tools ▪ Herramientas para soportar la extension de SLAs sobre OpenAPI ▪ https://sla.metadev.pro
  • 49. MDE / DSL / Lowcode / Nocode ▪ Reduce la barrera de entrada la tecnología
  • 50. Oportunidades para aplicar MDE ▪ Aeroespacial ▪ Automoción ▪ Gemelos digitales ▪ Desarrollo de software Software ▪ Integración de modelos de Inteligencia Artificacial ▪ Seguridad de aplicaciones ▪ Orquestación de aplicaciones ▪ Legislación ▪ Química ▪ Desarrollode farmacos ▪ Modelado y monitorización de protocolos medicos ▪ Banca y Seguros ▪ Telecomunicaciones ▪ SmartContracts y dinerodigital
  • 51. Algunos datos Nº de desarolladores mundiales 27 M (2021) Nº de CitizenDevelopersmundiales x 4 in (2024) Fuente: https://venturebeat.com/business/gartner-citizen-developers-will-soon-outnumber-professional-coders-4-to-1/
  • 52. Lecturas recomendadas ▪ DSLs, Fowler ▪ DLS Engineering, Markus Vöelter ▪ Model Driven SW Engineering, Brambilla et al. ▪ Building User-Friendly DSLs, Boersma ▪ Antlr, Terrence Parr
  • 53. Conclusiones ▪ DSLs & MDE llevan más de 40 años de desarrollo ▪ DSLs incrementanlos niveles deabstraccióny ponen el foco en lo esencial ▪ LowCode yNoCodeson DSLs ▪ La generaciónde códigoy la interpretaciónde modelostraen el códigoa la vida ▪ Progreso: Nuevas herramientas proporcionanmás con menos
  • 55. Your ideas, in action. https://metadev.pro | @metad3v