Your SlideShare is downloading. ×
0
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
An Opinionated Introduction to Mate
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

An Opinionated Introduction to Mate

422

Published on

EffectiveUI Lead Mobile Developer John Blanco gives a brief introduction to Mate and explores why we need it. This presentation also reviews problems with Cairngorm and PureMVC.

EffectiveUI Lead Mobile Developer John Blanco gives a brief introduction to Mate and explores why we need it. This presentation also reviews problems with Cairngorm and PureMVC.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
422
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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?
  • 13. Questions?

×