Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Javascript Framework Roundup FYB

724 views

Published on

Published in: Technology
  • Be the first to comment

Javascript Framework Roundup FYB

  1. 1. Javascript Framework Roundup
  2. 2. Javascript is super simple.
  3. 3. Javascript is super simple... right?
  4. 4. http://ejohn.org/files/ecma-cloud.png Wrong! This is over a year old, btw.
  5. 5. Javascript: The Pros • Weakly Typed • Imperative & Functional Paradigms • No Packaging Weakly typed = Easy to code; no compiler god to appease. Imperative & Functional Paradigms = Powerful language; many ways to attack a problem. No packaging = Easy to drop in; include a script tag.
  6. 6. Javascript: The Cons • Weakly Typed • Imperative & Functional Paradigms • No Packaging Weakly Typed = easy to abuse; harder to produce/configure tooling; no errors until runtime; unit testing (at very least a debugger) is important! Imperative & Functional Paradigms = Powerful = Chainsaw argument; easy to abuse. No Packaging = Bad in the long-run: namespace collisions, reuse problems, nastiness.
  7. 7. Roll Your Own – crazy? • Write code others can understand • Meet client demands (“Rich” clients?) • Remain cross-browser compatible • Degrade properly
  8. 8. Why use a framework? • Leverage community knowledge/support • Insulate client code from technical details • Share relatively similar interfaces • Allow for cleaner code, faster
  9. 9. Two types: Swiss-Army Knife Widget-based • Prototype • Script.aculo.us • JQuery • Dojo • MooTools • YUI • ExtJS • *(MooTools)
  10. 10. What does each try to solve?
  11. 11. Swiss Army Knife Selectors, DOM manipulation, Element extension, Event handling, AJAX, Enuming, Hashing, Iterating, String and Misc Utilities JQuery is well namespaced and will play well with others. Most others do not.
  12. 12. Widget based Animation, Effects, “Rich” component behavior, Simple, namespaced APIs, Extension hooks, Others?
  13. 13. Criteria and Questions • Licensing • Footprint & Performance • Development community • Amount of coding required? • Activity, API stability • Is syntax cryptic? Expressive? • Support • Can it integrate with others? Play nice in a portal environ.? • OOTB features • Is code easily testable? • Extensibility
  14. 14. Open Discussion

×