Enhancing Mobile Web Development: Tips and Strategies
Table of Contents
- Introduction
- Testing Mobile JavaScript (John Resig)
- "Mobile WebDev is crazy"
- Desktop Browser support
- Mobile Browser Support
- Symbian S60
- Opera Mobile vs. Opera Mini
- Need to use a internet simulator for blackberry 4.6 and 4.7
- TODO TouchScroll
- Opera Miniensure that the degratded platform is reasonable
- TODO Down load Fennect for Andoriod
- Alternatively use Phonegap
- Blackberry has difference behaviors even by version
- Does android any differences in actual functionality
- What is caching based on the Yahoo research
- Look at plugins for the for jQuery
- Rails three and mobile
- Cache mainifest
- Open Space
- Sessions
- jQuery UI (Discussion)
- Discussion
- Functional Programming (Nick Fitzgerald)
- Building a Better DOM API (John Resig)
- NodeList
- NodeSelector: matchesSelector()
- DOM mututation events
- NodeList:requery()
- Functional array methods
- $.live replacement: NodeList:on("added", setClass)
- Security: NodeList.prototype.secure
- Why not Array.slice and Array.push
- Goal is to have a reasonable enough API to handle the DOM
- Should not need to ship a library to get reasonable functionality
- Firefox with profiles, vim, clojure compiler for core jquery
Introduction
Swag and discussion of the plan for the day.
Testing Mobile JavaScript (John Resig)
"Mobile WebDev is crazy"
Look at at two or three year timeframe for most devices to live. However, in this time many browsers aren't upgraded.
How do you set up the correct testing asumptions for the mobile browsers:
- Find current data about usage patterns
AdMob has some information. Contrary to most expectations Symbian and RIM are significantly larger than iPhone or Android and OperaMini(sp?) is the most popular mobile browser
Yahoo! should be releasing stats on mobile use this year
- Define your support matrix
Desktop Browser support
jQuery will support browsers three years old or newer.
"What's it like to work on the C grade browser team at Yahoo!?" re: HTML-only implementation.
Mobile Browser Support
Testing mobile browsers: start with the simulators then acquire hardware. Based on basic estimates this could be done for less than $6000.
"Find someone who has done mobile web devlopmenet for years and you'll see this dead look in their eyes."
Symbian S60
Is the most popular mobile platform and ships on most Nokia devices.
Opera Mobile vs. Opera Mini
These are radically different browsers: Mini is essentially a push-to-server bitmap viewer; 2s load time expiration.
Opera Mini uses a conversion system for pushing requests and events back to an Opera server.
Need to use a internet simulator for blackberry 4.6 and 4.7
Need to do more research on Maemo / Meego
TODO TouchScroll
allow js interactoin
Opera Miniensure that the degratded platform is reasonable
TODO Down load Fennect for Andoriod
Alternatively use Phonegap
OSNEWS: Add to RSS reader
TODO: deviceanywhere looks like
quicksmode.org/m
jquerymobile.com
LImit is for moden web browsers
Blackberry has difference behaviors even by version
Does android any differences in actual functionality
What is caching based on the Yahoo research
"when developers sit down to work on mobile applications there arent any consisten conventions for how thig are supposed to "
I don't know why people are just copying what steve jobs says
Look at plugins for the for jQuery
Rails three and mobile
Cache mainifest
Open Space
Setup
What is Open Space
Proposed Sessions
jQuery UI
Northwebst day of javascript
jQuery data linking
jQuery build planning
Version 2.0 of the Open Space conference
jQuery tooling and documentation
jQuery and standardization of browsers
Unit testing and CI
Templating: $.tmpl()
Sessions
jQuery UI (Discussion)
Over view of
http://jqueryui.com/demos/accordion/
An example of this was
http://docs.jquery.com/Plugins/Undo
http://michaux.ca/articles/the-command-pattern-in-javascript-encapsulating-function-property-calls
General overview of the way that a command pattern could be used by the Filament Group's menu plugin since it requires hacking.
It seems like this would be awful.
http://code.google.com/p/wixet/source/browse/branch/wixet3rd/js/fg-menu.js?spec=svn141&r=141
Discussion
2Python 3 has decent closures.
jQuery and AIR
Zillow backend developer: Cole Rottweiler
Nordstrom UI developer: Ray Knight .
Functional Programming (Nick Fitzgerald)
Nick Fitzgerald. http://github.com/fitzgen
Parse string and make into function.
Is it possible to even use functional approaches in JavaScript in production?
No .prototype extensions to core objects.
Check for way to extend Oliver Steele's work.
Goal is to allow for any string in a callback
$("#myElem") .functional() .click("2 + 5")
TracerMonkey: function optimization of arrays vs. object literals.
Perform an overview of functional programming and determine if it would actually be useful from a per
Functions encapsulate reasonable chunks of logic.
The examples were provided for the case of map but the question is whether
- Destroy
- Create
How to actually use currying of functionality
underscore.js is another way to use.
woo.js is http://code.google.com/p/woojs/
TODO Advocate The Little Schemer
TODO Implement underscore.js
Building a Better DOM API (John Resig)
Resig uses TextMate.
NodeList
document.getElementsByTagName("div") returns a NodeList.
If a new div is inserted this becomes part of the collection.
NodeList.prototype is the core item to build into jQuery.
document.body.children.querySelectorAll = $.find
Important to have a test suite, implementation, and get browser vendors on board.
How do you deal with differences between NodeList and Arrays.
NodeSelector: matchesSelector()
Look at the work done on NodeSelector and matchesSelector(*)
Now they have to add it into the spec because it exists
DOM mututation events
NodeList:requery()
Functional array methods
filter, map,
$.live replacement: NodeList:on("added", setClass)
Security: NodeList.prototype.secure
Why not Array.slice and Array.push
Issue is the way that Array.push and Array.reverse both operate inline rather than just return a new array.
Goal is to have a reasonable enough API to handle the DOM
Should not need to ship a library to get reasonable functionality
"having jquery in the browser would be pretty awesome, i won't lie"