DjangoCon 2009 Keynote

Post on 28-Jan-2015

112 views 4 download

Tags:

description

Additional text notes on the talk are here: http://www.sauria.com/blog/2009/09/12/djangocon-2009/

Transcript of DjangoCon 2009 Keynote

Now what?Ted Leung

Sun Microsystemsted.leung@sun.com

@twleung

Thursday, September 10, 2009

Who is this guy?

Thursday, September 10, 2009

Thank you!

Thursday, September 10, 2009

http://www.flickr.com/photos/jamescalder/1797581548/Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

0

35

70

105

140

PHPRails

Django

Frameworks being used by startups

http://news.ycombinator.com/item?id=750142Thursday, September 10, 2009

Apps

Thursday, September 10, 2009

GeoDjango

Thursday, September 10, 2009

Thursday, September 10, 2009

2008

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

2009

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

Web Appsare

Changing

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

http://www.flickr.com

/photos/cle0patra/2881365063/

Thursday, September 10, 2009

Users

• Richer User Interfaces

• More responsive User Interfaces

• Real time UI’s

• Access on the go

• location

Thursday, September 10, 2009

Developers

• Rapid development

• frameworks

• libraries/components

• tools

• Scalability / latency

• real-time

• UI

Thursday, September 10, 2009

Operators

• Resource planning / allocation

• Scaling

• Good monitoring

• Good analytics / BI

Thursday, September 10, 2009

RIA’s

• Flex/Flash

• Silverlight

• JavaFX

• Open Web

Thursday, September 10, 2009

Latency

• Jakob Nielsen => 0.1 = responsive UI

• c = 186,000 mi/s

• 18,600 mi

• circumference of the earth = 24,900mi

• hmm

Thursday, September 10, 2009

Thursday, September 10, 2009

http://www.flickr.com/photos/zykloid/3615237577/Thursday, September 10, 2009

http://www.flickr.com/photos/lleugh/3663693123/Thursday, September 10, 2009

Cloud computing

• began as deploy / operational play

• will impact development

• stacks

• services

• platforms

• development in the cloud

Thursday, September 10, 2009

http://www.flickr.com

/photos/st3f4n/3752208591/

Thursday, September 10, 2009

Rails 3

• New Bundler

• deployment is not licked yet

• Responder

• even better REST controllers

Thursday, September 10, 2009

Lift

• Security

• Comet

• AJAX support

• JSON forms

• http://liftweb.net/

Thursday, September 10, 2009

Webmachine

• optimized for REST / HTTP

• the cool REST diagrams

• http://bitbucket.org/justin/webmachine/wiki/Home

Thursday, September 10, 2009

Thursday, September 10, 2009

Nitrogen

• Ajax

• Comet

• http://nitrogenproject.com/

Thursday, September 10, 2009

Thursday, September 10, 2009

-module (web_samples_binding2).-include ("wf.inc").-compile(export_all).

-record(mydata, {title, author, description, postback}).

main() -> #template { file="./wwwroot/twocolumn.html", bindings=[ {'Group', learn}, {'Item', samples}]}.

title() -> "Record-Based Binding".headline() -> "Record-Based Binding".right() -> linecount:render().

% Binding data stored in a record.get_data() -> [ #mydata { title="Title 1", author="Author 1", description="Description 1", postback={data, 1} }, #mydata { title="Title 2", author="Author 2", description="Description 2", postback={data, 2} }, #mydata { title="Title 3", author="Author 3", description="Description 3", postback={data, 3} }].

get_map() -> #mydata { title=titleLabel@text, author=authorLabel@text, description=descriptionLabel@text, postback=myButton@postback }.

column1() -> Data = get_data(), Map = get_map(), Column1 = [ #h3 { text="Div Binding" }, #bind { id=simpleBinding, data=Data, map=Map, body=[ #hr{}, #label { class=tiny, id=titleLabel }, #label { class=tiny, id=authorLabel }, #label { class=tiny, id=descriptionLabel }, #button { class=tiny, id=myButton, text="Button" } ]} ], wf:render(Column1).

Thursday, September 10, 2009

column2() -> Data = get_data(), Map = get_map(), Column2 = [ #h3 { text="Table Binding" }, #table { class=tiny, rows=[ #tablerow { cells=[ #tableheader { text="Title" }, #tableheader { text="Author" }, #tableheader { text="Description" }, #tableheader { } ]}, #bind { id=tableBinding, data=Data, map=Map, body=#tablerow { cells=[ #tablecell { id=titleLabel }, #tablecell { id=authorLabel }, #tablecell { id=descriptionLabel }, #tablecell { body=#button { id=myButton, text="Button" } } ]}} ]} ], wf:render(Column2). event({data, Data}) -> Message = "Clicked On Data: " ++ wf:to_list(Data), wf:wire(#alert { text=Message }), ok;

event(_) -> ok.

Thursday, September 10, 2009

CouchApps

• CouchDB has a JS engine in it

• Have that engine run / serve apps

• Hook that engine up to Bespin

• http://github.com/couchapp/couchapp/tree/master

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

Thursday, September 10, 2009

http://www.flickr.com/photos/oskay/208844120/Thursday, September 10, 2009

http://www.flickr.com/photos/ericrice/840284432/Thursday, September 10, 2009

http://www.flickr.com/photos/foreversouls/4809950/Thursday, September 10, 2009

Thursday, September 10, 2009

http://www.flickr.com/photos/tidewatermuse/167891626/Thursday, September 10, 2009

http://www.flickr.com

/photos/sizima/382652040/

Thursday, September 10, 2009

Thursday, September 10, 2009

http://www.flickr.com/photos/17972620@N00/3181540606/Thursday, September 10, 2009

http://www.flickr.com

/photos/steffanyszphotography/2364953056/

Thursday, September 10, 2009

Coordinates

• ted.leung@sun.com

• @twleung

• http://www.sauria.com/blog

• http://www.slideshare.net/twleung

Thursday, September 10, 2009

Thanks!

Thursday, September 10, 2009