SlideShare a Scribd company logo
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?
Working with modules is tricky. Service Locator/Delegates are bulky. Bulky boilerplate code everywhere. No solution for Views. It’s 2008. What’s wrong with Cairngorm?
Working with modules is tricky. Proxy class is awfully coupling. MASSIVE boilerplate code everywhere. DRY principle violated consistently. THE CASTING IS DRIVING ME MAD@&! Mediators are singleton only. Cross-platform-ness means it’s not Flex-y. Debugging a nightmare. What’s wrong with PureMVC?
Working with modules straightforward. Loose coupling everywhere. Virtually no boilerplate code. No casting! N Views can be populated at once. Native events used for communication. Debug! 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

PDF
Lazy Loading and Object Proxying Shenangians
PDF
Elm a possible future for web frontend
PDF
Organization Patterns: MVC
PPTX
Visual Studio for Mac Tips & Tricks
PDF
Intro to ember.js
PDF
Skype
PPTX
A career in finance
PDF
Transform: global positioning, Helen Atkinson
Lazy Loading and Object Proxying Shenangians
Elm a possible future for web frontend
Organization Patterns: MVC
Visual Studio for Mac Tips & Tricks
Intro to ember.js
Skype
A career in finance
Transform: global positioning, Helen Atkinson

Viewers also liked (20)

PDF
Rechthoekig selectiegereedschap
PPTX
HTML5 Seminar - Benedict Evans - Enders Analysis
PPTX
Ptc tpowerpoint(1)
PPTX
Royal Mail Olympic Legacy - Abby Guthkelch
PPTX
La formula para ser autenticamente feliz
PDF
Reputation in Oil, Gas and Mining 2014: Public perceptions
PPTX
Enterprise social media studiedag hogescholenraad
PDF
RMA-STUDY-POTATO-CHITRAL-NAK
PDF
Openen en opslaan
PPTX
Charla AERCO Segovia
PPTX
Malcolm Phillips_Rules of engagement_SMCC2011
PDF
Bmd2 opdracht 3 (1)
DOC
Television
PPTX
Mi primer power point 2007
PPT
Njhs induction 08 09
PDF
Uitleg affiche landscape
PPTX
GMS HOMECOMING CEREMONY & RALLY
PPT
SMCC2011_Cecilia scolaro presentation
PDF
MPU - Direito Constitucional
PPTX
Impact of budget on individual taxpayers
Rechthoekig selectiegereedschap
HTML5 Seminar - Benedict Evans - Enders Analysis
Ptc tpowerpoint(1)
Royal Mail Olympic Legacy - Abby Guthkelch
La formula para ser autenticamente feliz
Reputation in Oil, Gas and Mining 2014: Public perceptions
Enterprise social media studiedag hogescholenraad
RMA-STUDY-POTATO-CHITRAL-NAK
Openen en opslaan
Charla AERCO Segovia
Malcolm Phillips_Rules of engagement_SMCC2011
Bmd2 opdracht 3 (1)
Television
Mi primer power point 2007
Njhs induction 08 09
Uitleg affiche landscape
GMS HOMECOMING CEREMONY & RALLY
SMCC2011_Cecilia scolaro presentation
MPU - Direito Constitucional
Impact of budget on individual taxpayers
Ad

Similar to An Opinionated Introduction to Mate (20)

PPTX
ASP.NET MVC Presentation
PDF
Everything You Need To Know About AngularJS
PPT
Dev381.Pp
PPTX
Rethinking Best Practices
PPT
The Theory Of The Dom
PDF
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
PPT
Intro To AOP
PPTX
Architectural Design Pattern: Android
PPTX
Fundaments of Knockout js
PDF
Dot Net Fundamentals
PPT
Flex data binding pitfalls: 10 common misuses and mistakes
PDF
Asp.Net Mvc Dev Days09
PPTX
Grapics debugging with RenderDoc
PDF
Introduction To MVVM
PPTX
Production Debugging at Code Camp Philly
PDF
Java Programming
PDF
Deep diving into building lightning components
PPT
PDF
AngularJS preso with directives and route resolve
PPT
How to ace your .NET technical interview :: .Net Technical Check Tuneup
ASP.NET MVC Presentation
Everything You Need To Know About AngularJS
Dev381.Pp
Rethinking Best Practices
The Theory Of The Dom
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Intro To AOP
Architectural Design Pattern: Android
Fundaments of Knockout js
Dot Net Fundamentals
Flex data binding pitfalls: 10 common misuses and mistakes
Asp.Net Mvc Dev Days09
Grapics debugging with RenderDoc
Introduction To MVVM
Production Debugging at Code Camp Philly
Java Programming
Deep diving into building lightning components
AngularJS preso with directives and route resolve
How to ace your .NET technical interview :: .Net Technical Check Tuneup
Ad

More from EffectiveUI (20)

PDF
Design essentials For Executives
PDF
Designing an App: From Idea to Market
PDF
Flash and Flex in an HTML5 / App Store World
PPT
Design Essentials for Developers 08.31.11
PDF
Flex4 Component Lifecycle
PDF
The Art of Interaction
PPT
Design Essentials for Developers
PDF
Rails on HBase
PDF
Git for the Android Developer
PDF
Microsoft Kinect and Molehill
PDF
Reasons for Flash: Flash Development in an HTML5 and App Store World
KEY
Discombobulation, Fire-Breathing Dragons and Wet Noodles: Creating Productive...
PPT
Design Essentials for Developers
PDF
Your Mom Has an iPad
PDF
Human-Centered Design and the Intersection of the Physical and Digital Worlds
PDF
From the Trenches: Building the Accessible Web
PDF
Flexerific Visual Effects
PPT
Test-Driven Development
PDF
Diving Deep with the Flex Component Life Cycle
PPT
Flex 360 Rules Engine
Design essentials For Executives
Designing an App: From Idea to Market
Flash and Flex in an HTML5 / App Store World
Design Essentials for Developers 08.31.11
Flex4 Component Lifecycle
The Art of Interaction
Design Essentials for Developers
Rails on HBase
Git for the Android Developer
Microsoft Kinect and Molehill
Reasons for Flash: Flash Development in an HTML5 and App Store World
Discombobulation, Fire-Breathing Dragons and Wet Noodles: Creating Productive...
Design Essentials for Developers
Your Mom Has an iPad
Human-Centered Design and the Intersection of the Physical and Digital Worlds
From the Trenches: Building the Accessible Web
Flexerific Visual Effects
Test-Driven Development
Diving Deep with the Flex Component Life Cycle
Flex 360 Rules Engine

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Big Data Technologies - Introduction.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
sap open course for s4hana steps from ECC to s4
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Machine learning based COVID-19 study performance prediction
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Chapter 3 Spatial Domain Image Processing.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Building Integrated photovoltaic BIPV_UPV.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation_ Review paper, used for researhc scholars
Big Data Technologies - Introduction.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
sap open course for s4hana steps from ECC to s4
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation theory and applications.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine learning based COVID-19 study performance prediction
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

An Opinionated Introduction to 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. Working with modules is tricky. Service Locator/Delegates are bulky. Bulky boilerplate code everywhere. No solution for Views. It’s 2008. What’s wrong with Cairngorm?
  • 4. Working with modules is tricky. Proxy class is awfully coupling. MASSIVE boilerplate code everywhere. DRY principle violated consistently. THE CASTING IS DRIVING ME MAD@&! Mediators are singleton only. Cross-platform-ness means it’s not Flex-y. Debugging a nightmare. What’s wrong with PureMVC?
  • 5. Working with modules straightforward. Loose coupling everywhere. Virtually no boilerplate code. No casting! N Views can be populated at once. Native events used for communication. Debug! What’s *right* with Mate?
  • 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?