Wheel.js

Why everyone should make their
own JavaScript framework, now
“I tend to liken
JavaScript to water”
“… alone it's painfully
simple but it can take
   the form of its
     container”
- John Resig
author of jQuery
jQuery
jQuery + Plugins
jQuery + Plugins + a little app code
Then js grew up
• Rendering
• Logic
:(
Tools Proliferate
Tools Proliferate
•   jQuery UI    •   JavaScriptMVC
•   Backbone     •   AngularJS
•   Sammy.js     •   Ext.js
•   Ember.js     •   Agility.js
•   Spine.js     •   KnockoutJS
•   Underscore   •   Knockback.js
•   Can.js       •   …
What’s the clear path?
But wait … there is more




      < 2007 :)
> 2007 :(
And I want things
                          Form widgets
Dialogs




               Menus




                                etc …
Wish List
•   Platform for big or small js
•   Cross-device & Cross-browser compatibility
•   Install and code, sensible default app
•   Ability to customize what I don’t like
•   Library add-ons
Wheel.js

I am trying to build my wishlist.
        You should too!
Wheel = Object-Oriented
Instance Methods/Variables
Class Methods/Variables
Subclassing
Got _super?
Keep it dry with modules
Why is OO important?
Why is OO important?



              Because customizing this
              means copy/paste
Wheel is View-centric!
        (and flexible)
Views can …
• be attached to existing browser DOM
• be built with a string
    • received via ajax
    • hand-built
• generate own DOM from a template
Gathering Views from DOM
Given HTML in the browser
Gathering Views from DOM


               A simple view class for todo tasks
View Anatomy
Switching to DOM Generation
View Niceties
Superclass initialization automatically
  – Finds/generates DOM
  – Provides a handy this.$ for DOM manipulation
  – Calls ‘listen’ after subclass ‘init’ block is called
  – Sets options passed in as instance variables
  – Automatically appends to parent, when parent
    option provided
Adding Persistence
Ajax Mixin
• ‘data’ method to specify what will be sent to
  the server
• ‘onComplete’, ‘onSuccess’, ‘onError’ methods
• prototype/instance can set the http method
• Module converts ‘put’ and ‘delete’ to ‘post’
  with _method attribute
• Needs a ‘url’ attribute
Ajaxing For the Mobile Era
•   Request queue instead of direct requests
•   Queue stored in LocalStorage or polyfill
•   Application tracks connectivity
•   Sends requests and executes callbacks as
    possible
More Mobile
•   Touch/Gesture events
•   Event Unification
•   Drag/Drop Conventions
•   Dynamic application loader (bandwidth)
•   ??
++
Helpers                 Widgets
• Poller                • Tabs
• Cookie Manager        • Dialog
• Models                • Searcher
• Router/History        • Autocomplete
Rails                   • Form Stuff
• Generators            • Tooltips
• Better deps           • Time ago helper
  manager??
Github:
https://github.com/baccigalupi/wheel.js

More Related Content

PPTX
GCC 11-13-15
KEY
jQuery for Drupal
PPTX
Modular & Event driven UI Architecture
PPTX
Harness jQuery Templates and Data Link
PDF
Flexible UI Components for a Multi-Framework World
PPT
The Mobile Development Landscape
PDF
How to Use WebVR to Enhance the Web Experience
PDF
Realtime web apps rails
GCC 11-13-15
jQuery for Drupal
Modular & Event driven UI Architecture
Harness jQuery Templates and Data Link
Flexible UI Components for a Multi-Framework World
The Mobile Development Landscape
How to Use WebVR to Enhance the Web Experience
Realtime web apps rails

What's hot (20)

PDF
Smooth Animations for Web & Hybrid
PPTX
JsViews - Next Generation jQuery Templates
PDF
jQuery Conference San Diego 2014 - Web Performance
PDF
JavaScript Library Overview (Ajax Exp West 2007)
PDF
Webpack: What it is, What it does, Whether you need it
PDF
Backbone.js slides
PDF
jQuery in the [Aol.] Enterprise
PDF
Dangerous CSS
PDF
Advanced jQuery (Ajax Exp 2007)
PDF
Thinkin' Tags - Rapid Prototyping of CSS Layouts
PPT
Buzzr: A "Cloud" Platform for Creating and Maintaining Websites
PDF
Introduction to jQuery (Ajax Exp 2007)
PPTX
Website Review with Screen Reader vs. SiteImprove
PPTX
2011 - SharePoint + jQuery
PPTX
Javascript & Jquery
PPTX
Mobile native-hacks
PPTX
Maven
PPTX
Canopy view of single-page applications (SPAs)
PDF
jQuery Mobile Introduction
PPTX
Responsivedesign 7-3-2012
Smooth Animations for Web & Hybrid
JsViews - Next Generation jQuery Templates
jQuery Conference San Diego 2014 - Web Performance
JavaScript Library Overview (Ajax Exp West 2007)
Webpack: What it is, What it does, Whether you need it
Backbone.js slides
jQuery in the [Aol.] Enterprise
Dangerous CSS
Advanced jQuery (Ajax Exp 2007)
Thinkin' Tags - Rapid Prototyping of CSS Layouts
Buzzr: A "Cloud" Platform for Creating and Maintaining Websites
Introduction to jQuery (Ajax Exp 2007)
Website Review with Screen Reader vs. SiteImprove
2011 - SharePoint + jQuery
Javascript & Jquery
Mobile native-hacks
Maven
Canopy view of single-page applications (SPAs)
jQuery Mobile Introduction
Responsivedesign 7-3-2012
Ad

Similar to Wheel.js (20)

PPT
Intro to-html-backbone
KEY
Single Page Applications - Desert Code Camp 2012
PDF
Javascript Web Applications Otx Alex Maccaw
KEY
Why you should build your own JS Frontend Framework
PPTX
Javascript for Wep Apps
KEY
Palm Developer Day PhoneGap
PDF
Architecting non-trivial browser applications (Jazoon 2012)
PDF
Ajax tutorial
PPTX
Building SPA’s (Single Page App) with Backbone.js
PDF
Kann JavaScript elegant sein?
PPTX
CT presentatie JQuery 7.12.11
PPTX
Women Who Code, Ground Floor
KEY
20120802 timisoara
PPTX
Building single page applications
KEY
20120306 dublin js
KEY
Backbonification for dummies - Arrrrug 10/1/2012
PDF
JavascriptMVC: Another choice of web framework
PDF
Building businesspost.ie using Node.js
PDF
Intro to mobile web application development
KEY
10 Years of JavaScript
Intro to-html-backbone
Single Page Applications - Desert Code Camp 2012
Javascript Web Applications Otx Alex Maccaw
Why you should build your own JS Frontend Framework
Javascript for Wep Apps
Palm Developer Day PhoneGap
Architecting non-trivial browser applications (Jazoon 2012)
Ajax tutorial
Building SPA’s (Single Page App) with Backbone.js
Kann JavaScript elegant sein?
CT presentatie JQuery 7.12.11
Women Who Code, Ground Floor
20120802 timisoara
Building single page applications
20120306 dublin js
Backbonification for dummies - Arrrrug 10/1/2012
JavascriptMVC: Another choice of web framework
Building businesspost.ie using Node.js
Intro to mobile web application development
10 Years of JavaScript
Ad

Recently uploaded (20)

PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Hybrid model detection and classification of lung cancer
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
Tartificialntelligence_presentation.pptx
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Unlock new opportunities with location data.pdf
PPT
What is a Computer? Input Devices /output devices
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
STKI Israel Market Study 2025 version august
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
A comparative study of natural language inference in Swahili using monolingua...
Hindi spoken digit analysis for native and non-native speakers
Hybrid model detection and classification of lung cancer
O2C Customer Invoices to Receipt V15A.pptx
Tartificialntelligence_presentation.pptx
observCloud-Native Containerability and monitoring.pptx
sustainability-14-14877-v2.pddhzftheheeeee
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Assigned Numbers - 2025 - Bluetooth® Document
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Benefits of Physical activity for teenagers.pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Unlock new opportunities with location data.pdf
What is a Computer? Input Devices /output devices
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
STKI Israel Market Study 2025 version august
Web Crawler for Trend Tracking Gen Z Insights.pptx
Getting started with AI Agents and Multi-Agent Systems
Taming the Chaos: How to Turn Unstructured Data into Decisions
Group 1 Presentation -Planning and Decision Making .pptx

Wheel.js