ajax in django

123

Upload: artur-cistov

Post on 13-May-2015

3.611 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Ajax in Django
Page 2: Ajax in Django

So who's this dude?

Art(h)urWorking at Tesco Diets Taming the unruly browsers(more often the other way round)

Page 3: Ajax in Django

http://slideshare.net/cistov

Page 4: Ajax in Django

Not a 'how­to' talk

Page 5: Ajax in Django

So, Ajax...

Page 6: Ajax in Django

Clearly the most over­hyped cleaning liquid ever

Page 7: Ajax in Django

Say Ajax again!

Page 8: Ajax in Django

Widely adopted

Page 9: Ajax in Django
Page 10: Ajax in Django

Ajax in broad sense

Page 11: Ajax in Django
Page 12: Ajax in Django

DRY

Page 13: Ajax in Django
Page 14: Ajax in Django

Django Goals

Page 15: Ajax in Django

1.Make web development stupidly fast

Page 16: Ajax in Django

2. Automate the repetitive stuff

Page 17: Ajax in Django

3. Practice loose coupling

Page 18: Ajax in Django

4. Follow best practices

Page 19: Ajax in Django

5. Be efficient

Page 20: Ajax in Django

Pinax as 'Django with bigger opinion'

Page 21: Ajax in Django

But...

Page 22: Ajax in Django

'Django often gets marked down in a "framework comparisons" due to the lack of built in Ajax support. Personally I think that not shipping with a single library is a feature, not a bug.'

Simon Willison

Page 23: Ajax in Django
Page 24: Ajax in Django

Giants & their shoulders

Page 25: Ajax in Django

Fred

Page 26: Ajax in Django

Exhibit A: ASP.NET UpdatePanel

Page 27: Ajax in Django

Concerns:

Multiple scriptsFilesizePerformanceGenerated Mark­upAccessbilitySEOTied to specific libraryExtension of built­in types

Page 28: Ajax in Django

Exhibit B: Rails helpers

Page 29: Ajax in Django

Concerns:

Generated Mark­upAccessbilitySEOTied to specific libraryExtension of built­in types

Page 30: Ajax in Django

Exhibit C: Cappucino/GWT

Page 31: Ajax in Django
Page 32: Ajax in Django
Page 33: Ajax in Django
Page 34: Ajax in Django

Concerns:

AccessbilitySEO

Page 35: Ajax in Django

If you have two separate versions, this approach 

may make sense

Page 36: Ajax in Django
Page 37: Ajax in Django
Page 38: Ajax in Django

Chances are, you're not building GMail though

Page 39: Ajax in Django
Page 40: Ajax in Django
Page 41: Ajax in Django

http://leandrovieira.com/projects/jquery/lightbox/

Page 42: Ajax in Django

Should I even be bothered?

Page 43: Ajax in Django

iPhone supports JavaScript

Page 44: Ajax in Django

Ok, slow JavaScript, but still?

Page 45: Ajax in Django
Page 46: Ajax in Django
Page 47: Ajax in Django

¿Habla HTML?

Page 48: Ajax in Django
Page 49: Ajax in Django
Page 50: Ajax in Django

<rant>

Page 51: Ajax in Django
Page 52: Ajax in Django
Page 53: Ajax in Django
Page 54: Ajax in Django
Page 55: Ajax in Django
Page 56: Ajax in Django

</rant>

Page 57: Ajax in Django
Page 58: Ajax in Django

“Just as easy as not to”

Page 59: Ajax in Django

3

Page 60: Ajax in Django
Page 61: Ajax in Django

Hooks

Page 62: Ajax in Django

Clean HTML

Page 63: Ajax in Django

Library­agnostic

Page 64: Ajax in Django

Loose coupling

Page 65: Ajax in Django

Drivers

Page 66: Ajax in Django

Caching

Page 67: Ajax in Django

Even back­end agnostic

Page 68: Ajax in Django

Artur, this is all great, but Ruby meet up is next 

month

Page 69: Ajax in Django

Meet 40 lines of messy code

Page 70: Ajax in Django
Page 71: Ajax in Django
Page 72: Ajax in Django
Page 73: Ajax in Django
Page 74: Ajax in Django
Page 75: Ajax in Django

HttpRequest.is_ajax()is your friend

Page 76: Ajax in Django
Page 77: Ajax in Django
Page 78: Ajax in Django
Page 79: Ajax in Django
Page 80: Ajax in Django
Page 81: Ajax in Django
Page 82: Ajax in Django
Page 83: Ajax in Django
Page 84: Ajax in Django

Poor man's single­paged applications

Page 85: Ajax in Django
Page 86: Ajax in Django
Page 87: Ajax in Django
Page 88: Ajax in Django

Dependencies

Page 89: Ajax in Django
Page 90: Ajax in Django
Page 91: Ajax in Django
Page 92: Ajax in Django
Page 93: Ajax in Django

Providing configuration data on page load

Page 94: Ajax in Django

CSS classes?

Page 95: Ajax in Django

Custom attributes?

Page 96: Ajax in Django

data­* hell?

Page 97: Ajax in Django

Inline objects?

Page 98: Ajax in Django
Page 99: Ajax in Django

Unit Testing

Page 100: Ajax in Django

Extending functionality

Page 101: Ajax in Django

Callbacks?

Page 102: Ajax in Django

Custom events?

Page 103: Ajax in Django

Inheritance?

Page 104: Ajax in Django

Data Access?

Page 105: Ajax in Django
Page 106: Ajax in Django

XSS/XSRF & JSON APIs

Page 107: Ajax in Django
Page 108: Ajax in Django
Page 109: Ajax in Django
Page 110: Ajax in Django
Page 111: Ajax in Django
Page 112: Ajax in Django
Page 113: Ajax in Django
Page 114: Ajax in Django
Page 115: Ajax in Django
Page 116: Ajax in Django

GWT Query

Page 117: Ajax in Django
Page 118: Ajax in Django
Page 119: Ajax in Django
Page 120: Ajax in Django
Page 121: Ajax in Django

Future?

Page 122: Ajax in Django

Image Credits

http://www.flickr.com/photos/atauri/2358057325/http://www.flickr.com/photos/jeffmcneill/4169128852/http://www.flickr.com/photos/seandreilinger/3650862305/http://www.flickr.com/photos/lrargerich/2800244229/http://www.flickr.com/photos/mager/2803365394/http://www.flickr.com/photos/joyoflife/317125573/http://www.flickr.com/photos/young_einstein/74097753/http://www.flickr.com/photos/drewm/4749504388/

Page 123: Ajax in Django

Questions?

http://www.twitter.com/cistovhttp://www.slideshare.net/cistov