DjangoSki

  • 2,004 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,004
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
18
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide























































Transcript

  • 1. DjangoSki! DjangoSki
  • 2. Brian LeRoux • Nitobi Software,Vancouver • Mostly JavaScript things
  • 3. Welcome to the Hockey’s Golden city!
  • 4. Don’t go farther north
  • 5. Things I’m working on • PhoneGap • XUI • Lawnchair
  • 6. WTF dude
  • 7. BEER!
  • 8. Also mobile
  • 9. 6 billion people on the planet 1 billion television sets 3 billion web enabled mobile devices ...? profit!
  • 10. Apps for that • Mobile Web Apps • Native Apps • Hybrid Apps
  • 11. The Mobile Web • Growing stupid fast • Tech is also moving stupid fast • A whole new clusterfuck of browsers
  • 12. Mobile Browsers • Many flavors of WebKit • Blackberry and IE Mobile • Fennic!
  • 13. Not to mention • Fucked up screen sizes • Bizzare pixel density • ...and basically complete shit for cpus, memory and storage
  • 14. Sweet.
  • 15. Constraints === Focus • Know your demographic • Choose your target platforms • ...? • Profit!
  • 16. DOM concerns • What does your target browser support? • Offline capable? storage / cache manifest
  • 17. Backend Arch • RESTful JSON • favor parse to eval btw • Use local storage or device api for file i/o to cache data as much as possible • Update apps through the various stores
  • 18. front end solutions • jqTouch • Dashcode • iUI • mobify.me
  • 19. Native Apps Apple iPhone OS .............................. Obj C RIM Blackberry ................................. Java Google Android ................................ Java Symbian / Maemo (Nokia) ............. * Palm webOS ..................................... Web Windows Mobile ............................. .NET
  • 20. Fuck. That.
  • 21. PhoneGap • HTML, CSS and JavaScript • Device APIs • ...and one more thing
  • 22. We got a pony too
  • 23. two of em.
  • 24. Typical Architecture • www folder • single index.html file that loads static assets • remoting via xhr/json-p • oh ya: icon, loading screen
  • 25. Protip • The architecture of a hybrid app is strikingly similar to that of a W3C Widget
  • 26. Device APIs • Geolocation • Accelerometer • Telephony • Media • Magnometer • Camera • Contacts
  • 27. Protip #2 • Device APIs are being standardized by the W3C DAP Group and OTMP BONDI
  • 28. API Examples • demo time nao
  • 29. Geolocation
  • 30. Accelerometer
  • 31. Camera
  • 32. Contacts
  • 33. PhoneGap Futures • 1.0 is very soon • better tests in mobile-spec • build tooling • widget spec compliance
  • 34. But! Web apps suck? • Yes. • But there are libs for that. • Or quit your bitching and just wait for better phones.
  • 35. The DOM is broken But it is possibly a little better on mobile.
  • 36. Desktop JavaScript Frameworks An embarrassing mess.
  • 37. XUI • jQuery work-alike • simple api • 2-3kb • Admittedly a shitty name
  • 38. Demo Time! • selectors • events • style • fx • xhr
  • 39. XUI Future • 1.0 coming soon • Build tooling based on RequireJS • Support for ALL mobile browsers
  • 40. Going offline • Web apps: Cache Manifest • Hybrid apps: Reachability API • DOM storage • SQLite
  • 41. Cache Manifest Example
  • 42. Reachability Example
  • 43. DOM Storage Example
  • 44. SQLite Example
  • 45. Ghetto, actually • DOM Storage is key/value only. Slightly nicer than cookies but way lamer name. • SQLite seems like a bad idea: schemas, migrations, impedance mismatch, oh my.
  • 46. How about a Lawnchair?
  • 47. Lawnchair quickly • JSON document store (not key/value) • Designed for mobile; very light • Clean and simple async oo api • Adaptor pattern for store customization
  • 48. Some code, eh • demoooo
  • 49. Lawnchair Futures • 1.0 is REAL SOON I FUCKING PROMISE • Adaptors abstracted into a RequireJS build • Some actual benchmarks • PhoneGap File I/O adaptor
  • 50. Closing rant • App stores are sanitized and walled gardens. The content is dictated. • 30% for the ability to sell is corporate greed at its worst. • Requiring provisioning to build code on a device you own is unethical. • This should not be tolerated by developers: speak out!
  • 51. Also • wtfjs.com • but don’t worry about javascript, eh
  • 52. Thanks, eh brian@nitobi.com http://westcoastlogic.com http://twitter.com/brianleroux http://brianleroux.github.com