4. Yahoo! Mail
• Full-fledged Ajax application
Wednesday, November 14, 12
5. Yahoo! Mail
• Full-fledged Ajax application
• (One of the) largest YUI3 based web
application
Wednesday, November 14, 12
6. Yahoo! Mail
• Full-fledged Ajax application
• (One of the) largest YUI3 based web
application
• Built as YUI3 modules with build-time
dependency resolution for performance
Wednesday, November 14, 12
7. Yahoo! Mail
• Full-fledged Ajax application
• (One of the) largest YUI3 based web
application
• Built as YUI3 modules with build-time
dependency resolution for performance
• Extensively relies on YUI3 event, base and
widget infrastructure
Wednesday, November 14, 12
19. Architecture Overview
Yahoo!
Mail
Tictac Loader
Read config
from Cloud
Wednesday, November 14, 12
20. Architecture Overview
Yahoo!
Mail
Tictac Loader
Read config
from Cloud
Wednesday, November 14, 12
21. Architecture Overview
Yahoo!
Mail
Tictac Loader
Bind add-ons to
Mail [YUI3] events
Read config
from Cloud
Wednesday, November 14, 12
22. Architecture Overview
Yahoo!
Mail
Tictac Loader
Bind add-ons to
Mail [YUI3] events
Invoke Y.Tictac[app].loader
Read config on Y.after(event)
from Cloud
Wednesday, November 14, 12
25. Deployment
• App configuration dictates if its live/not
Wednesday, November 14, 12
26. Deployment
• App configuration dictates if its live/not
• Upon commit the configurations are
concatenated and pushed to “cloud”
Wednesday, November 14, 12
28. How it works?
• Config reader (PHP) reads application
config from Cloud
Wednesday, November 14, 12
29. How it works?
• Config reader (PHP) reads application
config from Cloud
• Sets up YUI_config for app base
Wednesday, November 14, 12
30. How it works?
• Config reader (PHP) reads application
config from Cloud
• Sets up YUI_config for app base
• Passes app configuration to JavaScript
Wednesday, November 14, 12
41. Conclusion
• Not tied to Yahoo! Mail release cycle
Wednesday, November 14, 12
42. Conclusion
• Not tied to Yahoo! Mail release cycle
• Loose coupling between Mail and the add-
on using events
Wednesday, November 14, 12
43. Conclusion
• Not tied to Yahoo! Mail release cycle
• Loose coupling between Mail and the add-
on using events
• Clean API - Base and Widget
Wednesday, November 14, 12
44. Conclusion
• Not tied to Yahoo! Mail release cycle
• Loose coupling between Mail and the add-
on using events
• Clean API - Base and Widget
• Faster development - syntactic sugar and
stuff ...
Wednesday, November 14, 12