Let's Make a Framework: Free eBook

02 Dec 2010 | By Alex Young | Tags frameworks tutorials lmaf

eBook

I’ve collected and edited the Let’s Make a Framework articles into a book that suitable for e-readers. Consider this a Christmas present!

Note: Remember that this book is based on progress up to commit 09d2c3. As the framework changes the book might refer to obsolete parts of the framework, so keep this in mind if referring to the latest version of turing.js. Older commits are available in turing.js’s history from GitHub.

Recap

Last week we finished building a CommonJS-based test framework. Next we need to replace the framework’s tests with tests written using this framework. First I’d like to review the progress we’ve made so far on the project.

If you’re new to the series or feeling lost after the last few parts, here’s a summary of every part so far. Feel free to dive in at any point that interests you.

  1. Introduction
    1. Introduction to the Series
    2. Library Architecture
  2. Object Oriented JavaScript
    1. Classes, Inheritance, Extend
    2. Class Creation In Depth
  3. Functional Programming
    1. Introduction, Iterators, Performance Concerns
    2. More Functional Methods
  4. Selector Engine
    1. DOM History, Browser Support, Performance, Selector Engines
    2. Parsing, Tokenizer, Scanner
    3. Searching with Tokens, Selector Engine API, Tests
    4. onReady
  5. Events
    1. Introduction, Using Events, Implementations in the Wild
    2. Event Registration, W3C Events, Microsoft Events, API Design, Tests
    3. Stopping Events, Browser Fixes
  6. Aliasing and Packing
    1. jQuery-Style Aliasing, Packing and Minification
  7. Ajax
    1. Introduction, History, Request Objects, Sending Requests, Popular APIs
    2. Cross-Domain Requests, Implementations in the Wild, API Design
  8. Animations
    1. Introduction, Popular Frameworks, Queues and Events, Animation Basics
    2. Time-Based Animation, Animating Properties, Parsing Style Values, API
    3. Easing, Writing Easing Functions
    4. Animation Helpers, Fade, IE Support
    5. Colour Support, Transformations, Highlight Helper
    6. Movement Helper, Chained API
    7. CSS3 Specifications, CSS3 Transitions, Transforms, Animations, and Hardware Acceleration
    8. CSS3 Feature Detection
  9. Touch
    1. Supporting Touchscreen Devices, Orientation
    2. Events, State
  10. Chained APIs
    1. Namespaces and Chaining, API Design, fakeQuery Example
    2. Tests, Integration with Existing Library
    3. Chained Events
    4. Event Delegation
    5. Event Delegation Part 2
  11. Test Framework
    1. Introduction, CommonJS
    2. Assertions, In the Wild
    3. Testing, Exceptions
    4. Test Runner and Test Output

Next

  • Rewriting the tests to work with turing-test.js
  • Revised packaging solution, JsLint builds
  • CSS API
  • Pseudo-selectors
  • Better DOM manipulation
  • Bug fixes and browser support

blog comments powered by Disqus