Upload
ted-leung
View
112
Download
4
Tags:
Embed Size (px)
DESCRIPTION
Additional text notes on the talk are here: http://www.sauria.com/blog/2009/09/12/djangocon-2009/
Citation preview
Now what?Ted Leung
@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
Django jobs increased 692%Rails jobs increased 117%PHP jobs increased 86%
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
• @twleung
• http://www.sauria.com/blog
• http://www.slideshare.net/twleung
Thursday, September 10, 2009
Thanks!
Thursday, September 10, 2009