jquery keynote 2011: boston

45
jQuery Keynote John Resig http://ejohn.org / - http://twitter.com/jeresig

Upload: jeresig

Post on 20-Aug-2015

6.292 views

Category:

Technology


3 download

TRANSCRIPT

jQuery KeynoteJohn Resig

http://ejohn.org/ - http://twitter.com/jeresig

jQuery 1.7Beta 1 is out!

HTML5 in IE✦ It’s now possible to create HTML 5

elements in older IE browsers:✦ $(“#foo”).append(“<footer>...</footer>”);✦ (Previously nodes might’ve ended up

broken and not rendering properly.)✦ We do this by having a fragment with the

nodes already in it (fixes the issue!).✦ You’ll still need to use a HTML 5 shim.

http://code.google.com/p/html5shim/

Event Property Hooks✦ jQuery has it’s own custom event object

.click(function(e) { e.target, etc. });✦ We do this to work around browser issues

and add in missing features.✦ Now it’s extensible, faster loading, and

works around some browser issues.✦ This will help to reduce possible bug

weirdness relating to this piece of code.

Event .on(), .off()✦ Two new methods:

.on() and .off()✦ These serve as simple shortcuts for:

.bind(), .live(), and .delegate()✦ .on( “click” ) // bind✦ .on( “click”, “div.test” ) // delegate✦ (.live is the same as delegate, but on a

document)

Selector Attribute Rewrite✦ Following up on the attribute module

rewrite✦ We now use our new attribute handling in

the Sizzle selector engine✦ Makes cross-browser compatibility that

much better

Animation Ordering✦ We now catch and prevent issues with

animations not returning to their full height/width

✦ We handle the queueing better internally to work around issues relating to pausing animations

Submit / Focus Events✦ We’ve improved the quality and stability of

the submit and focus event handling✦ IE doesn’t bubble these events, normally✦ We’ve worked around its shortcomings for

a while now - this just makes that support that much better

Related Talks✦ Attributes and Properties

Today (after Keynote), Timmy Willison✦ Deferreds and Callbacks

Today, 11:45, Julian Aubourg✦ Animation Engine

Today, 1:15, Corey Frang✦ Events Rewrite

Tomorrow, 11:45, Dave Methvin

Things That Are Important✦ Technical

✦ API Design(Usability, documentation)

✦ Code Quality(Licensing, openness, test coverage)

✦ Non-technical✦ Community(Resources, responsiveness)

✦ Learning Aides(Tutorials, books, demos)

Watch the full process

The First Day: Can this help me?

Homep

age

View Tu

toria

l

Downlo

ad

Try T

utor

ial

Expe

rimen

t

The First Month: Learning

Integ

ratio

n

API Doc

s

Tuto

rials

Expe

rimen

t

Commun

ity

The First Year: Growth

Seco

nd A

pp

Explo

re A

PI

Exte

nd A

PI

Read S

ource

Contri

bute

AttritionFailure at any step costs your project another user.

Your project is your own worst enemy.

Community Resources✦ Provide places for users to ask questions✦ jQuery:

✦ jQuery Forum✦ IRC Channel

✦ External:✦ StackOverflow.com✦ Twitter✦ Blogs

Monitor Your Community✦ Make sure that everyone is getting the

help that they need✦ We run an Evangelism Team

“Developer Relations”✦ Track all of the services they use

✦ Forum - Subscribe to the forums✦ IRC - Sit in the IRC channel✦ Blogs - Use Technorati and Google Blog

Search✦ Twitter - Use Twitter Search

ServiceTreat every user as a potential, future, contributor.

Service

✦ Today Mike Alsup and Michael Geary are part of the jQuery team

Twitter Tracking✦ Track people talking about the code:

✦ http://search.twitter.com/✦ Look for people having trouble, asking

questions

Answer Questions✦ It takes a lot of time, but sometimes it’s

really worth it✦ You never know who could be having

trouble

Follow-up With Large Users✦ Maintain a list of contacts with your large

users✦ Ping them every once in a while✦ Make sure that they’re having a good

experience✦ They frequently forget to file bugs - make

sure that happens

API Documentation✦ jQuery had API docs from the start (2006)✦ Two other major libraries: Dojo, Prototype

didn’t have any until 2007+✦ Clarity and usability of documentation is

huge

API Example

Alternative Views

Alternate Views

Learn More✦ Tutorials and Books✦ Tutorials are short and drive home a point

or single topic✦ “Books” are more holistic and lead the

reader from start to finish

Tutorials

New Learning Site Coming!

Getting Involved

Open Process✦ Open Source is easy (just release the code and be done with it)

✦ Open Process is hard (open source control, easy bug tracking)

✦ A good process helps users learn

Core Development Process✦ Weekly, public, team meetings✦ Defined release dates and schedule✦ Frequent discussion in #jquery-dev (IRC)

✦ Active participation of the committers and the bug triage team

Weekly Meeting Notes

Project-Wide Notes

Bug Triage Team✦ Responsible for processing all the bugs in

the bug tracker✦ Make sure test cases are filed

✦ Work through pulls in the Github pull request queue

✦ Make sure the test suite is passing

Bugs

bugs.jquery.com/ticketgraph?days=90

Bugs (cont.)

Roadmap Decisions✦ Put up a public form for people to submit

possible feature suggestions✦ The team works through all the feature

suggestions and creates a list✦ All of this is done publicly and discussed

in a public meeting

Roadmap

Contributions✦ How does a user become a contributor?✦ Encouragement is the biggest factor

✦ Encourage users to submit bug reports✦ Encourage them to build test cases✦ Encourage them to submit patches

✦ Communication is a huge factor here, “dead” bugs or mailing list threads cripple participation.

✦ http://docs.jquery.com/Getting_Involved

Missing Features

Extensibility✦ Your API isn’t perfect -

it can’t include everything for everyone

✦ Give users the ability to add their own functionality

✦ jQuery has a healthy plugin community with hundreds of plugins.

✦ We’re working on a newplugins site!

Complex Applications✦ Users will attempt to build increasingly

complex applications✦ Need to be there to help, otherwise they’ll

leave for something else✦ jQuery UI - A set of complex User

Interface components.✦ jQuery Mobile - A complete interface for

developing mobile web apps.

jQuery UI

jQuery Mobile

Keynotes✦ jQuery Mobile Keynote Next!✦ jQuery UI Keynote Tomorrow.✦ Thank our sponsors!