SlideShare a Scribd company logo
1 of 58
Download to read offline
Micro Frontends
@vannsl
The good, the bad, and the ugly
Hi!
Frontend Lead ZAGE.life


🎙 expect(Exception) 💻


🎙 Working Draft 💻


🎙 Ausbaufähig🍷🥃


🦊 Chapter Lead Frontend Foxes DACH
I’m Vanessa Böhner,


nice to e-meet you!
@vannsl
Why/When?


How?


How not?
@vannsl
📖 Let me tell you a story about
eMary, the growing Online Shop
@vannsl
Landing Page
Explanation
@vannsl
Product Categories
Manufacturers


Combinations/Sets
Landing Page
Explanation
@vannsl
Product Categories
Manufacturers


Combinations/Sets
Single Product
Colors


Sizes
Landing Page
Explanation
@vannsl
Cart
Product Categories
Manufacturers


Combinations/Sets
Single Product
Colors


Sizes
Landing Page
Explanation
@vannsl
Cart
Chatbot Flow
A lot of stuff
Product Categories
Manufacturers


Combinations/Sets
Single Product
Colors


Sizes
Landing Page
Explanation
@vannsl
Cart
Checkout
Address Validation


Payment Methods


Confirmation
Chatbot Flow
A lot of stuff
Product Categories
Manufacturers


Combinations/Sets
Single Product
Colors


Sizes
Landing Page
Explanation
@vannsl
Cart
Checkout
Address Validation


Payment Methods


Confirmation
My Account
My Orders


Shipments
Chatbot Flow
A lot of stuff
Product Categories
Manufacturers


Combinations/Sets
Single Product
Colors


Sizes
Landing Page
Explanation
@vannsl
https://goiabada.blog/the-5-stages-of-dealing-with-legacy-code-6d578205beeb
@vannsl
Why or When?
To or not to Micro Frontend
@vannsl
Create something scalable
The Goal
@vannsl
The Real Monolith
The A Team
Frontend
Backend
@vannsl
Frontend & Backend Split
The A Team
Team Frontend
& Design
Team Backend


& DevOps
Frontend
Frontend
Backend
Backend
@vannsl
Microservices
Team Frontend &
Design
Aggregation Layer
Service
Product
Service
Cart
Service
Checkout
Service
Account
The A Team
Team Frontend
& Design
Team Backend


& DevOps
Frontend
Frontend
Backend
Backend
@vannsl
Frontend Integration for


Verticalised Systems
@vannsl
Or: Micro Frontends
Frontend Integration for


Verticalised Systems
@vannsl
Verticals & Crossfunctional Teams
Team


Inspire
Team


Acquisition
Team


Purchase
Backend
Backend
Backend
Frontend
Frontend
Frontend
Design
Design
Design
@vannsl
Benefits: Autonomous Teams
Mission 1 Mission 2 Mission 3
@vannsl
Benefits: Incremental Upgrades
Bundle
Products
Bundle


Marketing
Bundle


Cart
Lib Lib Lib
@vannsl
Benefits: Independent Deployments
@vannsl
Benefits: Decoupled Code
Boundled Together
@vannsl
Benefits: Decoupled Code
@vannsl
Boundled Together
×
Benefits: Decoupled Code
Boundled Together
×
@vannsl
Benefits: Decoupled Code
×
@vannsl
How?
To implement Micro Frontends
@vannsl
Frameworks
Project Mosaic Podium
Custom
bit Single SPA
Webpack 5


+ Module Federation
@vannsl
Frameworks
Custom
Container Application


- iFrames


- JS Bundles


- Web Components
@vannsl
Frameworks
Custom
Container Application


- iFrames


- JS Bundles


- Web Components
@vannsl
Runtime Integration via iFrames
Example: One Micro Frontend per Route
<body>


<h1>Hey you!</h1>


<iframe id="micro-frontend"></iframe>


<script type="text/javascript">


const microFrontends = {


"/": "https://home",


"/product": "https://product",


"/checkout": "https://checkout"


}


const iframe = document.getElementById("micro-frontend");


iframe.src = microFrontends[window.location.pathname];


</script>


</body>
@vannsl
Runtime Integration via iFrames
Example: One Micro Frontend per Route
<body>


<h1>Hey you!</h1>


<iframe id="micro-frontend"></iframe>


<script type="text/javascript">


const microFrontends = {


"/": "https://home",


"/product": "https://product",


"/checkout": "https://checkout"


}


const iframe = document.getElementById("micro-frontend");


iframe.src = microFrontends[window.location.pathname];


</script>


</body>
@vannsl
Runtime Integration via iFrames
Example: One Micro Frontend per Route
<body>


<h1>Hey you!</h1>


<iframe id="micro-frontend"></iframe>


<script type="text/javascript">


const microFrontends = {


"/": "https://home",


"/product": "https://product",


"/checkout": "https://checkout"


}


const iframe = document.getElementById("micro-frontend");


iframe.src = microFrontends[window.location.pathname];


</script>


</body>
@vannsl
Runtime Integration via iFrames
Example: One Micro Frontend per Route
<body>


<h1>Hey you!</h1>


<iframe id="micro-frontend"></iframe>


<script type="text/javascript">


const microFrontends = {


"/": "https://home",


"/product": "https://product",


"/checkout": "https://checkout"


}


const iframe = document.getElementById("micro-frontend");


iframe.src = microFrontends[window.location.pathname];


</script>


</body>
@vannsl
Runtime Integration via Bundles
Example: Multiple Micro Frontends per Route
Team
SWORD
Team
SHIELD
Microservices
@vannsl
Runtime Integration via Bundles
Example: Multiple Micro Frontends per Route
Layout Service Templates with Fragments
Team
SWORD
Team
SHIELD
Microservices
@vannsl
Runtime Integration via Bundles
Example: Multiple Micro Frontends per Route
Layout Service Templates with Fragments
Team
SWORD
Team
SHIELD
Microservices
@vannsl
Runtime Integration via Bundles
Example: Multiple Micro Frontends per Route
Layout Service Templates with Fragments
Team
SWORD
Team
SHIELD
Microservices
Static Routes
Router
@vannsl
Layout Example
(Syntax of Tailor of Project Mosaic)
<head>


<fragment src="https://assets" />


</head>


<body>


<fragment src="https://layout/header" />


<fragment src="https://product/daily" />


<fragment src="https://product/overview" />


<fragment src="https://product/visited" />


<fragment src="https://layout/footer" />


</body>
@vannsl
Layout Example
(Syntax of Tailor of Project Mosaic)
<head>


<fragment src="https://assets" />


</head>


<body>


<fragment src="https://layout/header" />


<fragment src="https://product/daily" />


<fragment src="https://product/overview" />


<fragment src="https://product/visited" />


<fragment src="https://layout/footer" />


</body>
@vannsl
Layout Example
(Syntax of Tailor of Project Mosaic)
<head>


<fragment src="https://assets" />


</head>


<body>


<fragment src="https://layout/header" />


<fragment src="https://product/daily" />


<fragment src="https://product/overview" />


<fragment src="https://product/visited" />


<fragment src="https://layout/footer" />


</body>
@vannsl
Layout Example
(Syntax of Tailor of Project Mosaic)
<head>


<fragment src="https://assets" />


</head>


<body>


<fragment src="https://layout/header" />


<fragment src="https://product/daily" />


<fragment src="https://product/overview" />


<fragment src="https://product/visited" />


<fragment src="https://layout/footer" />


</body>
@vannsl
Rendered Template
Mobile
Fragment


LAYOUT HEADER
Fragment


LAYOUT FOOTER
Fragment


PRODUCT DAILY LOOK


Fragment


PRODUCT OVERVIEW


Fragment


PRODUCT VISITED


@vannsl
Rendered Template
Desktop
Fragment LAYOUT HEADER
Fragment LAYOUT FOOTER
Fragment


PRODUCT
DAILY DEAL


Fragment


PRODUCT OVERVIEW


Fragment


PRODUCT
VISITED


@vannsl
Event Streaming
Communication
Microservices and Databases


Communication via API or Event Streaming
Team SWORD Team SHIELD
Clientside Eventbus
@vannsl
How not to?
Prevent pitfalls
@vannsl
The Challenge
of creating something scalable when not scaled
Fullstack Dev
UX
Scrum
UI
Fullstack Dev
Fullstack Dev
Fullstack Dev PO
@vannsl
The Challenge
of creating something scalable when not scaled
Fullstack Dev
UX
Scrum
UI
Fullstack Dev
Fullstack Dev
Fullstack Dev PO Fullstack Dev
UX
Scrum
UI
Fullstack Dev
Fullstack Dev
Fullstack Dev PO
Fullstack Dev
UX
Scrum
UI
Fullstack Dev
Fullstack Dev
Fullstack Dev PO
Fullstack Dev
UX
Scrum
UI
Fullstack Dev
Fullstack Dev
Fullstack Dev PO
@vannsl
Event Streaming
Communication
Team SWORD Team SHIELD
Microservices and Databases


Communication via API or Event Streaming
Clientside Eventbus
@vannsl
Event Streaming
Communication
Clientside Eventbus
Microservices and Databases


Communication via API or Event Streaming
Team SWORD Team SHIELD
Event Streaming
Communication
Clientside Eventbus
Microservices and Databases


Communication via API or Event Streaming
Make it declarative,


not imperative
Team SWORD Team SHIELD
Memory Leak: Event Bus
https://www.alxolr.com/articles/understanding-memory-leaks-in-node-js-part-2
@vannsl
Memory Leak
https://www.alxolr.com/articles/understanding-memory-leaks-in-node-js-part-2
@vannsl
Misconfiguration
Development Database
Production Database
Router


Service
@vannsl
Misconfiguration
Development Database
Production Database
Router


Service
@vannsl
Misconfiguration
Development Database
Production Database
Router
Service
@vannsl
Thanks!
@vannsl


@expectPodcast


@WorkingDraft


@ausbaufahig


@FrontendFoxDACH
👋
@vannsl

More Related Content

What's hot

Santa Barbara AngularJS intro to 1.3
Santa Barbara AngularJS intro to 1.3Santa Barbara AngularJS intro to 1.3
Santa Barbara AngularJS intro to 1.3Sol Tran
 
Iseltech17 - Single Page Applications
Iseltech17 - Single Page ApplicationsIseltech17 - Single Page Applications
Iseltech17 - Single Page ApplicationsMonica Rodrigues
 
Wordpress as a Backend
Wordpress as a BackendWordpress as a Backend
Wordpress as a BackendAndrew Duthie
 
Scaling WordPress - WP on AWS
Scaling WordPress - WP on AWSScaling WordPress - WP on AWS
Scaling WordPress - WP on AWSstk_jj
 
Real World HTML5 + ASP.NET MVC - Lessons Learned
Real World HTML5 + ASP.NET MVC - Lessons LearnedReal World HTML5 + ASP.NET MVC - Lessons Learned
Real World HTML5 + ASP.NET MVC - Lessons LearnedZoltán Dávid
 
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...Sébastien Levert
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebChris Canal
 
Web technologies practical guide
Web technologies practical guideWeb technologies practical guide
Web technologies practical guidesamir azazy
 
Angular - a real world case study
Angular - a real world case studyAngular - a real world case study
Angular - a real world case studydwcarter74
 
Sears Front End Changes
Sears Front End ChangesSears Front End Changes
Sears Front End ChangesLance Ennen
 
Building great spa’s with angular js, asp.net mvc and webapi
Building great spa’s with angular js, asp.net mvc and webapiBuilding great spa’s with angular js, asp.net mvc and webapi
Building great spa’s with angular js, asp.net mvc and webapiMaurice De Beijer [MVP]
 
Social Sharing With IFTTT (If This Then That)
Social Sharing With IFTTT (If This Then That)Social Sharing With IFTTT (If This Then That)
Social Sharing With IFTTT (If This Then That)Zero Point Development
 
Building JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJSBuilding JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJSSalesforce Developers
 
Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceMatthew Lancaster
 
Session dotNed Saturday 28 januari 2017
Session dotNed Saturday 28 januari 2017Session dotNed Saturday 28 januari 2017
Session dotNed Saturday 28 januari 2017Gerald Versluis
 
Learning Single page Application chapter 1
Learning Single page Application chapter 1Learning Single page Application chapter 1
Learning Single page Application chapter 1Puguh Rismadi
 
An Intro to Sass: This Designer's Dive into Sass
An Intro to Sass: This Designer's Dive into SassAn Intro to Sass: This Designer's Dive into Sass
An Intro to Sass: This Designer's Dive into SassLiam Dempsey
 

What's hot (20)

Santa Barbara AngularJS intro to 1.3
Santa Barbara AngularJS intro to 1.3Santa Barbara AngularJS intro to 1.3
Santa Barbara AngularJS intro to 1.3
 
Iseltech17 - Single Page Applications
Iseltech17 - Single Page ApplicationsIseltech17 - Single Page Applications
Iseltech17 - Single Page Applications
 
Wordpress as a Backend
Wordpress as a BackendWordpress as a Backend
Wordpress as a Backend
 
Scaling WordPress - WP on AWS
Scaling WordPress - WP on AWSScaling WordPress - WP on AWS
Scaling WordPress - WP on AWS
 
Real World HTML5 + ASP.NET MVC - Lessons Learned
Real World HTML5 + ASP.NET MVC - Lessons LearnedReal World HTML5 + ASP.NET MVC - Lessons Learned
Real World HTML5 + ASP.NET MVC - Lessons Learned
 
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
 
pjax+Rails
pjax+Railspjax+Rails
pjax+Rails
 
Web technologies practical guide
Web technologies practical guideWeb technologies practical guide
Web technologies practical guide
 
Angular - a real world case study
Angular - a real world case studyAngular - a real world case study
Angular - a real world case study
 
Sears Front End Changes
Sears Front End ChangesSears Front End Changes
Sears Front End Changes
 
Building great spa’s with angular js, asp.net mvc and webapi
Building great spa’s with angular js, asp.net mvc and webapiBuilding great spa’s with angular js, asp.net mvc and webapi
Building great spa’s with angular js, asp.net mvc and webapi
 
Social Sharing With IFTTT (If This Then That)
Social Sharing With IFTTT (If This Then That)Social Sharing With IFTTT (If This Then That)
Social Sharing With IFTTT (If This Then That)
 
The RAW stack
The RAW stackThe RAW stack
The RAW stack
 
Building JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJSBuilding JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJS
 
Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery Conference
 
Session dotNed Saturday 28 januari 2017
Session dotNed Saturday 28 januari 2017Session dotNed Saturday 28 januari 2017
Session dotNed Saturday 28 januari 2017
 
SxSW 2015
SxSW 2015SxSW 2015
SxSW 2015
 
Learning Single page Application chapter 1
Learning Single page Application chapter 1Learning Single page Application chapter 1
Learning Single page Application chapter 1
 
An Intro to Sass: This Designer's Dive into Sass
An Intro to Sass: This Designer's Dive into SassAn Intro to Sass: This Designer's Dive into Sass
An Intro to Sass: This Designer's Dive into Sass
 

Similar to Microfrontends: The good, the bad, and the ugly

Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript WidgetsBob German
 
Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Gustaf Nilsson Kotte
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSDanilo Poccia
 
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych "Running Node.js in your browser with WebContainers", Oleksandr Zinevych
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych Fwdays
 
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
GDI Seattle - Intermediate HTML and CSS Class 3 SlidesGDI Seattle - Intermediate HTML and CSS Class 3 Slides
GDI Seattle - Intermediate HTML and CSS Class 3 SlidesHeather Rock
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX DesignersAshlimarie
 
Super billing asp.net
Super billing   asp.netSuper billing   asp.net
Super billing asp.netsuperb11b
 
Programming languages asp.net
Programming languages asp.netProgramming languages asp.net
Programming languages asp.netVasilios Kuznos
 
[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 RefresherIvano Malavolta
 
Css3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQueryCss3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQueryAndrea Verlicchi
 
BrowserArchitecture_ClientSide.pdf
BrowserArchitecture_ClientSide.pdfBrowserArchitecture_ClientSide.pdf
BrowserArchitecture_ClientSide.pdfMuhammadBilal187526
 
WVPDX 2014 - Hammering Responsive Web Design Into Shape
WVPDX 2014 - Hammering Responsive Web Design Into ShapeWVPDX 2014 - Hammering Responsive Web Design Into Shape
WVPDX 2014 - Hammering Responsive Web Design Into ShapeKen Tabor
 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Andreas Bovens
 
Introduction to Responsive Design v.2
Introduction to Responsive Design v.2Introduction to Responsive Design v.2
Introduction to Responsive Design v.2Clarissa Peterson
 
Put a little Backbone in your WordPress
Put a little Backbone in your WordPressPut a little Backbone in your WordPress
Put a little Backbone in your WordPressadamsilverstein
 

Similar to Microfrontends: The good, the bad, and the ugly (20)

Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript Widgets
 
Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Micro frontends
Micro frontendsMicro frontends
Micro frontends
 
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych "Running Node.js in your browser with WebContainers", Oleksandr Zinevych
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych
 
Media queries
Media queriesMedia queries
Media queries
 
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
GDI Seattle - Intermediate HTML and CSS Class 3 SlidesGDI Seattle - Intermediate HTML and CSS Class 3 Slides
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
 
Always on! ... or not?
Always on! ... or not?Always on! ... or not?
Always on! ... or not?
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
Super billing asp.net
Super billing   asp.netSuper billing   asp.net
Super billing asp.net
 
Programming languages asp.net
Programming languages asp.netProgramming languages asp.net
Programming languages asp.net
 
[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher
 
Css3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQueryCss3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQuery
 
BrowserArchitecture_ClientSide.pdf
BrowserArchitecture_ClientSide.pdfBrowserArchitecture_ClientSide.pdf
BrowserArchitecture_ClientSide.pdf
 
WSS And Share Point For Developers
WSS And Share Point For DevelopersWSS And Share Point For Developers
WSS And Share Point For Developers
 
WVPDX 2014 - Hammering Responsive Web Design Into Shape
WVPDX 2014 - Hammering Responsive Web Design Into ShapeWVPDX 2014 - Hammering Responsive Web Design Into Shape
WVPDX 2014 - Hammering Responsive Web Design Into Shape
 
Going responsive
Going responsiveGoing responsive
Going responsive
 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...
 
Introduction to Responsive Design v.2
Introduction to Responsive Design v.2Introduction to Responsive Design v.2
Introduction to Responsive Design v.2
 
Put a little Backbone in your WordPress
Put a little Backbone in your WordPressPut a little Backbone in your WordPress
Put a little Backbone in your WordPress
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Microfrontends: The good, the bad, and the ugly