jQuery 2010 Boston: Mobile, TDD, and pub/sub Themes

Table of Contents

1. jQuery 2010 Boston

1.1. Theme

1.1.1. Mobile

1.1.2. TDD

1.1.3. pub/sub

http://events.jquery.org/m/#/m/schedule/sat.html

The list of presenters is available with:

\(("td").each(function() { console.log(\)(this).text()); })

Trending: http://trendsmap.com/local/us/boston

http://oksoclap.com//jqconboston2010

1.2. Best tip: Comment swap for /* \n foo //*

Others:

Best tip @blago and I learned at #jqcon? Backslash character before line break escapes the line break in a string. How did I not know that!?

2. Saturday

2.4. 10:50AM Phono

Provide messaging in browser

http://phono.com/

2.10. DONE 5:15PM Beyond the DOM: Functionality-Focused Code Organization (Rebecca Murphey)

2.10.1. YQL is awesome

2.10.8. Require.js

2.10.17. Services manage data and state

Only have alimited public interface for mediators

2.10.20. Passing objects as arguments competes with jQuery plugins

Inverts the form of control.

2.10.24. Stolen from Dojo

3. Sunday

3.1. DONE 9:45AM AppendTo Announcement

http://learn.appendto.com/

New training and development. Look at training options.

10,000 new front-end developers.

Available at

http://github.com/appendto/learn

3.3. DONE 10:30AM wigmo

They provide the functionality that wouldn't be appropriate for a minimal widget core.

http://github.com/wijmo/Wijmo-Open

Uses Raphael for the graphics

http://www.wijmo.com/license/

Released publicly via github.

http://wijmo.com/groups/beta/

3.4. DONE 11:00AM jQuery's Best Friends (Alex Sexton)

3.4.1. Some amusing domains: partofhtml5 and html5r0cks.com

$.fn.a = function () {

}

Use "eff - en" as a way of saying $.fn which is the same as $.prototype

3.4.4. Dependency managment: requireJS

Works with 1.4.3. Works serverside as well.

This uses the same CommonJS structure to return an object that provides the methods you want to use.

3.4.5. LABjs

Use only at the client.

3.4.6. Modernizr

Just a feature testing library for HTML5

3.4.7. Templates

How to integration into system layout.

How to deploy.

3.4.9. Underscore.js

3.4.10. PubSub

Similar to just using custom events.

http://gist.github.com/495033

Which would be the preferred approach.

3.4.11. Resig's Simple Inheritence

A person-like object isn't a classical.

Pseudo-classical doesn't exist.

What is the metaphor used for prototypal inheritance:

3.4.12. Crockford's Object.create() shim

Object.create used to get the prototypes for the main object.

var myThing = { init: function () {}, options: {},

}

The key term here is differencial inheritence.

This requires only using a single parent object that exists in the global namespace:

var foo = function () {} ;

$.fn.foo = function

3.4.14. Namespace

Always pick your own

3.8. DONE 1:45PM Breakout session: EventSoucre

3.8.1. Features

Time

Cache the error

Allow for a restart that has a timeout.

Assume some failures will occur when the app has been running continuously.

3.8.3. Process

Review all new Chrome releases to have

3.8.4. IMplementation

console.log("http://wal.sh/events.php");

// http://weblog.bocoup.com/javascript-eventsource-now-available-in-firefox

/ Boilerplate from the demo / http://dev.w3.org/html5/eventsource/

var source = new EventSource('updates.cgi'); source.onmessage = function (event) { alert(event.data); };

3.10. DONE 3:54PM jQuery in the [Aol.] Enterprise (Dave Artz)

3.10.5. Don't load widgets not loaded on the page

$.sonar used to determine what is loaded into the page based on the user scrolling behavior.

3.10.6. Need to use $.queue

Wrap the XFBML parse fujnction to ensure that multiple items aren't crashing the page.

3.10.9. $.getJS

3.10.10. AOL.getJS

Only for CDN.

3.10.11. AOL Origin Server Tool

This is a manually merged file not required by teh application

has the CDN file.

Has a visible tool.

4. TODO Review

4.6. Collect attributes

$("<a>").attr( { "href": "#", "target": "_new", "title": "My link" } )

4.7. RegExp test

foo.test("foobar");

4.11. Editor improvements

4.11.1. vim (2)

4.11.2. Aptana (1)

4.11.3. TextMate (2)

4.11.4. Emacs +

4.23. Focus on ongoing training for front-end for new developments

This can be something where people train on their own.

4.31. TODO git clone summary

Jason-Walshs-MacBook-Pro:sandbox jwalsh$ git clone http://github.com/mennovanslooten/autorun.git Initialized empty Git repository in Users/jwalsh/sandbox/autorun.git/ remote: Counting objects: 10, done. remote: Compressing objects: 100% (8/8), done. remote: Total 10 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (10/10), done. Jason-Walshs-MacBook-Pro:sandbox jwalsh$ git clone http://github.com/paulirish/html5-boilerplate.git Initialized empty Git repository in Users/jwalsh/sandbox/html5-boilerplate.git/ remote: Counting objects: 1375, done. remote: Compressing objects: 100% (1184/1184), done. remote: Total 1375 (delta 706), reused 363 (delta 162) Receiving objects: 100% (1375/1375), 2.40 MiB | 586 KiB/s, done. Resolving deltas: 100% (706/706), done. Jason-Walshs-MacBook-Pro:sandbox jwalsh$ git clone http://github.com/rmurphey/ffco Initialized empty Git repository in Users/jwalsh/sandbox/ffco.git/ fatal: http://github.com/rmurphey/ffco/info/refs not found: did you run git update-server-info on the server? Jason-Walshs-MacBook-Pro:sandbox jwalsh$ git clone http://github.com/rmurphey/ffco.git Initialized empty Git repository in Users/jwalsh/sandbox/ffco.git/ remote: Counting objects: 551, done. remote: Compressing objects: 100% (432/432), done. remote: Total 551 (delta 189), reused 222 (delta 35) Receiving objects: 100% (551/551), 4.47 MiB | 345 KiB/s, done. Resolving deltas: 100% (189/189), done.

4.33. RSS summary