TECH TALK#7: CUJO.JS
Project OwnersBrian Cavalier is a server-side Java guy turnedfront-end engineer, and open source fanaticworking at VMware....
What is cujo?• cujo is an architectural toolkit for next  generation JavaScript applications. It  encourages highly modula...
What is cujo?• You focus on the business logic of your  application components. cujo loads and  assembles your components ...
What is cujo?• “Im also interested because while wire.jss  declarative syntax isnt compile-to-js, it is in  its own way a ...
What’s in cujo?• curl.js: A small, fast AMD/CJS module loader  with dependency management• wire.js: A light, fast, flexibl...
What’s in cujo?• cram.js: A simple Javascript module  concatenator• poly.js: A modular, flexible set of ES5-ish  shims
Concepts
General concepts• IOC (Inversion of control)• Dependency Inversion• Application Composition
cujo concepts•   Wire specs•   Contexts•   Components•   Factories•   Proxies•   Component Lifecycle•   Facets•   Referenc...
Break Down
connections•   Dependency Injection•   DOM events•   Javascript to Javascript "events”•   Aspect Oriented Programming (AOP...
components• Simple Types• Application Components  – module, create, compose, literal  – wire: recursively invokes wire on ...
THANK YOU~
Upcoming SlideShare
Loading in …5
×

Intro cujojs

734 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
734
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • This template can be used as a starter file for presenting training materials in a group setting.SectionsRight-click on a slide to add sections. Sections can help to organize your slides or facilitate collaboration between multiple authors.NotesUse the Notes section for delivery notes or to provide additional details for the audience. View these notes in Presentation View during your presentation. Keep in mind the font size (important for accessibility, visibility, videotaping, and online production)Coordinated colors Pay particular attention to the graphs, charts, and text boxes.Consider that attendees will print in black and white or grayscale. Run a test print to make sure your colors work when printed in pure black and white and grayscale.Graphics, tables, and graphsKeep it simple: If possible, use consistent, non-distracting styles and colors.Label all graphs and tables.
  • Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
  • This is another option for an Overview slides using transitions.
  • Intro cujojs

    1. 1. TECH TALK#7: CUJO.JS
    2. 2. Project OwnersBrian Cavalier is a server-side Java guy turnedfront-end engineer, and open source fanaticworking at VMware.John Hann has been pushing the limits of theweb since 1996 and has been totally engulfedin JavaScript, HTML, and CSS since 2004. Heworks at VMware.
    3. 3. What is cujo?• cujo is an architectural toolkit for next generation JavaScript applications. It encourages highly modular development, declarative application assembly, and embraces the asynchronous nature of JavaScript and its fusion of object-oriented and functional programming styles.
    4. 4. What is cujo?• You focus on the business logic of your application components. cujo loads and assembles your components and then wires them all together.
    5. 5. What is cujo?• “Im also interested because while wire.jss declarative syntax isnt compile-to-js, it is in its own way a separate language.”
    6. 6. What’s in cujo?• curl.js: A small, fast AMD/CJS module loader with dependency management• wire.js: A light, fast, flexible Javascript IOC container• meld.js: AOP for JS with before, after, afterReturning, afterThrowing, around, pointcuts, and more• when.js: A lightweight Promise and when() implementation, plus other async goodies
    7. 7. What’s in cujo?• cram.js: A simple Javascript module concatenator• poly.js: A modular, flexible set of ES5-ish shims
    8. 8. Concepts
    9. 9. General concepts• IOC (Inversion of control)• Dependency Inversion• Application Composition
    10. 10. cujo concepts• Wire specs• Contexts• Components• Factories• Proxies• Component Lifecycle• Facets• References• Connections
    11. 11. Break Down
    12. 12. connections• Dependency Injection• DOM events• Javascript to Javascript "events”• Aspect Oriented Programming (AOP) advice
    13. 13. components• Simple Types• Application Components – module, create, compose, literal – wire: recursively invokes wire on another wire spec• Function Components
    14. 14. THANK YOU~

    ×