SlideShare a Scribd company logo
1 of 13
An Opinionated Introduction to Mate by John Blanco
Mate is, quite simply, another MVC framework for Flex. What is Mate? Yes.  And now someone wrote another one called Mate.  And I’ll try to explain why it’s easier to use and more powerful. But didn’t someone already write Cairngorm?
[object Object],[object Object],[object Object],[object Object],[object Object],What’s wrong with Cairngorm?
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],What’s wrong with PureMVC?
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],What’s *right* with Mate?
Mate was created by AS Fusion -- Laura and Nahuel.  While the source code is freely available, you can not contribute back any changes without going through one of them. However, they are extremely active on their forums and very willing to improve the product based on recommendations! http://mate.asfusion.com Who wrote Mate? Is it open source?
Models are regular classes.  No inheritance needed. Does not need to be a singleton. Does not need to be static. Just make a model. :-) The Elements of Mate: Models
Views are regular classes.  No inheritance needed. XML or AS is fine. No knowledge of models or controllers needed (or desired). Just make a view. :-) The Elements of Mate: Views
Events are subclasses of…Event! No CairngormEvent or Notification classes needed.  Fire regular events. This means that we can pull out components and we have no dependency on Mate. Very clean. The Elements of Mate: Events
Event Maps are the only place you will ever put Mate-specific code.  The event maps weave together models and views in myriad ways. Event maps, in general, will handle events by binding data to views, calling methods (like Commands), serve as Mediators, and even invoke network processes and handle returns! The Elements of Mate: Event Maps
<!-- Debugger --> <Debugger level=“{ Debugger.ALL }” /> <!-- Event Handlers --> <EventHandlers type=“{ CalculateEvent.TOTAL_COST }” debug=“true” > <MethodInvoker generator=“{ CartManager }” method=“calculateTotal” /> </EventHandlers> <!-- Injectors --> <Injectors target=“{ CartView }”> <PropertyInjector targetKey=“total” source=“{ CartManager }” sourceKey=“total” /> </Injectors> The Elements of Mate: A Quick Event Map Example
Let us look at some examples, shall we?
Questions?

More Related Content

Viewers also liked

Jake Lewis CV
Jake Lewis CVJake Lewis CV
Jake Lewis CVJakeLewis
 
Inforum Inbound Optimizer 20100126
Inforum Inbound Optimizer 20100126Inforum Inbound Optimizer 20100126
Inforum Inbound Optimizer 20100126Theo Slaats
 
Axfood Q3 2009 En
Axfood Q3 2009 EnAxfood Q3 2009 En
Axfood Q3 2009 EnAxfood
 
Digital Leather Samples
Digital Leather SamplesDigital Leather Samples
Digital Leather SamplesRuss Brown
 
первый раз презентацию делаю
первый раз презентацию делаюпервый раз презентацию делаю
первый раз презентацию делаюvezuha13
 
Cd2 Usability Final Presentation V1.0
Cd2 Usability Final Presentation V1.0Cd2 Usability Final Presentation V1.0
Cd2 Usability Final Presentation V1.0Louise Bloom
 
DigimarcDiscover_CaseStudy_CookingLight_061714_FNL
DigimarcDiscover_CaseStudy_CookingLight_061714_FNLDigimarcDiscover_CaseStudy_CookingLight_061714_FNL
DigimarcDiscover_CaseStudy_CookingLight_061714_FNLdkinpdx
 
Evaluaciòn del status sistèmico en implantología oral
Evaluaciòn del status sistèmico en implantología oralEvaluaciòn del status sistèmico en implantología oral
Evaluaciòn del status sistèmico en implantología oralRicardo Benza
 
As3977 Datasheet R3 D4
As3977 Datasheet R3 D4As3977 Datasheet R3 D4
As3977 Datasheet R3 D4guest04f260
 
Anth1 Economics Vs2
Anth1 Economics Vs2Anth1 Economics Vs2
Anth1 Economics Vs2guest3b503f
 
Lesson 9 2
Lesson 9 2Lesson 9 2
Lesson 9 2ralph50
 
URA Task Force - PDNA
URA Task Force - PDNAURA Task Force - PDNA
URA Task Force - PDNAmazik
 

Viewers also liked (20)

D.D.-C.V.
D.D.-C.V.D.D.-C.V.
D.D.-C.V.
 
Jake Lewis CV
Jake Lewis CVJake Lewis CV
Jake Lewis CV
 
Itb Chap 16
Itb Chap 16Itb Chap 16
Itb Chap 16
 
Inforum Inbound Optimizer 20100126
Inforum Inbound Optimizer 20100126Inforum Inbound Optimizer 20100126
Inforum Inbound Optimizer 20100126
 
Axfood Q3 2009 En
Axfood Q3 2009 EnAxfood Q3 2009 En
Axfood Q3 2009 En
 
Digital Leather Samples
Digital Leather SamplesDigital Leather Samples
Digital Leather Samples
 
первый раз презентацию делаю
первый раз презентацию делаюпервый раз презентацию делаю
первый раз презентацию делаю
 
Nace12 humphrey
Nace12 humphreyNace12 humphrey
Nace12 humphrey
 
Cd2 Usability Final Presentation V1.0
Cd2 Usability Final Presentation V1.0Cd2 Usability Final Presentation V1.0
Cd2 Usability Final Presentation V1.0
 
DigimarcDiscover_CaseStudy_CookingLight_061714_FNL
DigimarcDiscover_CaseStudy_CookingLight_061714_FNLDigimarcDiscover_CaseStudy_CookingLight_061714_FNL
DigimarcDiscover_CaseStudy_CookingLight_061714_FNL
 
Tundra Sattler
Tundra SattlerTundra Sattler
Tundra Sattler
 
LiS utbildning
LiS utbildningLiS utbildning
LiS utbildning
 
M.I.L.K.
M.I.L.K. M.I.L.K.
M.I.L.K.
 
Evaluaciòn del status sistèmico en implantología oral
Evaluaciòn del status sistèmico en implantología oralEvaluaciòn del status sistèmico en implantología oral
Evaluaciòn del status sistèmico en implantología oral
 
As3977 Datasheet R3 D4
As3977 Datasheet R3 D4As3977 Datasheet R3 D4
As3977 Datasheet R3 D4
 
The Tundra Reportkemen
The Tundra ReportkemenThe Tundra Reportkemen
The Tundra Reportkemen
 
Anth1 Economics Vs2
Anth1 Economics Vs2Anth1 Economics Vs2
Anth1 Economics Vs2
 
Dokument
DokumentDokument
Dokument
 
Lesson 9 2
Lesson 9 2Lesson 9 2
Lesson 9 2
 
URA Task Force - PDNA
URA Task Force - PDNAURA Task Force - PDNA
URA Task Force - PDNA
 

Similar to Mate

ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC PresentationVolkan Uzun
 
Backbone/Marionette introduction
Backbone/Marionette introductionBackbone/Marionette introduction
Backbone/Marionette introductionmatt-briggs
 
Everything You Need To Know About AngularJS
Everything You Need To Know About AngularJSEverything You Need To Know About AngularJS
Everything You Need To Know About AngularJSSina Mirhejazi
 
Rethinking Best Practices
Rethinking Best PracticesRethinking Best Practices
Rethinking Best Practicesfloydophone
 
The Theory Of The Dom
The Theory Of The DomThe Theory Of The Dom
The Theory Of The Domkaven yan
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)VMware Tanzu
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: AndroidJitendra Kumar
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net FundamentalsLiquidHub
 
Flex data binding pitfalls: 10 common misuses and mistakes
Flex data binding pitfalls: 10 common misuses and mistakesFlex data binding pitfalls: 10 common misuses and mistakes
Flex data binding pitfalls: 10 common misuses and mistakesElad Elrom
 
Grapics debugging with RenderDoc
Grapics debugging with RenderDocGrapics debugging with RenderDoc
Grapics debugging with RenderDocMatias Lavik
 
Introduction To MVVM
Introduction To MVVMIntroduction To MVVM
Introduction To MVVMBoulos Dib
 
Production Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyProduction Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyBrian Lyttle
 
Java Programming
Java ProgrammingJava Programming
Java ProgrammingTracy Clark
 
Deep diving into building lightning components
Deep diving into building lightning componentsDeep diving into building lightning components
Deep diving into building lightning componentsCloud Analogy
 
AngularJS preso with directives and route resolve
AngularJS preso with directives and route resolveAngularJS preso with directives and route resolve
AngularJS preso with directives and route resolveBrent Goldstein
 

Similar to Mate (20)

ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
 
Backbone/Marionette introduction
Backbone/Marionette introductionBackbone/Marionette introduction
Backbone/Marionette introduction
 
Everything You Need To Know About AngularJS
Everything You Need To Know About AngularJSEverything You Need To Know About AngularJS
Everything You Need To Know About AngularJS
 
Dev381.Pp
Dev381.PpDev381.Pp
Dev381.Pp
 
Rethinking Best Practices
Rethinking Best PracticesRethinking Best Practices
Rethinking Best Practices
 
The Theory Of The Dom
The Theory Of The DomThe Theory Of The Dom
The Theory Of The Dom
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
 
Intro To AOP
Intro To AOPIntro To AOP
Intro To AOP
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: Android
 
Fundaments of Knockout js
Fundaments of Knockout jsFundaments of Knockout js
Fundaments of Knockout js
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net Fundamentals
 
Flex data binding pitfalls: 10 common misuses and mistakes
Flex data binding pitfalls: 10 common misuses and mistakesFlex data binding pitfalls: 10 common misuses and mistakes
Flex data binding pitfalls: 10 common misuses and mistakes
 
Asp.Net Mvc Dev Days09
Asp.Net Mvc Dev Days09Asp.Net Mvc Dev Days09
Asp.Net Mvc Dev Days09
 
Grapics debugging with RenderDoc
Grapics debugging with RenderDocGrapics debugging with RenderDoc
Grapics debugging with RenderDoc
 
Introduction To MVVM
Introduction To MVVMIntroduction To MVVM
Introduction To MVVM
 
Production Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyProduction Debugging at Code Camp Philly
Production Debugging at Code Camp Philly
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
Deep diving into building lightning components
Deep diving into building lightning componentsDeep diving into building lightning components
Deep diving into building lightning components
 
Test
TestTest
Test
 
AngularJS preso with directives and route resolve
AngularJS preso with directives and route resolveAngularJS preso with directives and route resolve
AngularJS preso with directives and route resolve
 

Recently uploaded

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 

Mate

  • 1. An Opinionated Introduction to Mate by John Blanco
  • 2. Mate is, quite simply, another MVC framework for Flex. What is Mate? Yes. And now someone wrote another one called Mate. And I’ll try to explain why it’s easier to use and more powerful. But didn’t someone already write Cairngorm?
  • 3.
  • 4.
  • 5.
  • 6. Mate was created by AS Fusion -- Laura and Nahuel. While the source code is freely available, you can not contribute back any changes without going through one of them. However, they are extremely active on their forums and very willing to improve the product based on recommendations! http://mate.asfusion.com Who wrote Mate? Is it open source?
  • 7. Models are regular classes. No inheritance needed. Does not need to be a singleton. Does not need to be static. Just make a model. :-) The Elements of Mate: Models
  • 8. Views are regular classes. No inheritance needed. XML or AS is fine. No knowledge of models or controllers needed (or desired). Just make a view. :-) The Elements of Mate: Views
  • 9. Events are subclasses of…Event! No CairngormEvent or Notification classes needed. Fire regular events. This means that we can pull out components and we have no dependency on Mate. Very clean. The Elements of Mate: Events
  • 10. Event Maps are the only place you will ever put Mate-specific code. The event maps weave together models and views in myriad ways. Event maps, in general, will handle events by binding data to views, calling methods (like Commands), serve as Mediators, and even invoke network processes and handle returns! The Elements of Mate: Event Maps
  • 11. <!-- Debugger --> <Debugger level=“{ Debugger.ALL }” /> <!-- Event Handlers --> <EventHandlers type=“{ CalculateEvent.TOTAL_COST }” debug=“true” > <MethodInvoker generator=“{ CartManager }” method=“calculateTotal” /> </EventHandlers> <!-- Injectors --> <Injectors target=“{ CartView }”> <PropertyInjector targetKey=“total” source=“{ CartManager }” sourceKey=“total” /> </Injectors> The Elements of Mate: A Quick Event Map Example
  • 12. Let us look at some examples, shall we?