Upload
idan-gazit
View
5.278
Download
0
Tags:
Embed Size (px)
DESCRIPTION
A high-level overview of why Django is a great choice when it comes to developing modern web applications.
Citation preview
IDAN GAZITa web developer at pixane.com
hosted by
Why Django?
http://www.flickr.com/photos/spornographer/3863184574/
I COME FROM AMERICAmy Hebrew is not perfect
WHY FRAMEWORKS?
HTMLJavaScript
ONCE UPON A TIME…
HTMLJavaScript
CSSPHP
ONCE UPON A TIME…
HTMLJavaScript
CSSCachingTesting
Deployment
SecurityMonitoring
APISearch
SEOTask Queues
WEB DEVELOPMENT
http://www.flickr.com/photos/heloise/84894905
THE STACK GETS BIGGERevery year.
SCALE
TRAFFIC
TRAFFIC
TRAFFIC
VS.
TRAFFIC
VS.
TRAFFICCOMPLEXITY
http://www.flickr.com/photos/cuppini/471050299
DON’T REINVENT THE WHEEL
Django Reinhardtthree-fingered jazz guitarist
Lawrence Journal-Worlda newspaper in Kansas, USA
http://www.flickr.com/photos/victoriapeckham/261126382/
Newsroomrapid-response
Open-Sourced
2005Created
2003
4.7 million hits/monthon djangoproject.com
source: http://bit.ly/django_community_2010
2010
16,000 registered userson Google Groups
source: http://bit.ly/django_community_2010
2010
PRODUCTION-READY?
documentation, release processMATURE
committers and code changeCONSERVATIVE
documentation, release processMATURE
committers and code changeCONSERVATIVE
backwards-compatibility policySTABLE
documentation, release processMATURE
rebuilt in 5 weeks
michaelmoore.com
sold to AOL$36.5 million
studionow.com
55 million push notifications served to 9 million installed iPhone apps.
urbanairship.com
hyperlocal newsacquired by msnbc.com in 2009
everyblock.com
YES!
COULD I DO IT WITH _____?
CAKEPHP
ASP.NET MVC
RUBY ON RAILS
DJANGO
WHY DJANGO?
IS
IS
AWESOME
http://www.flickr.com/photos/rdoyle/463363816
LIKE FUZZY SLIPPERS(pedicure optional)
PYTHON FEATURES
»Readable syntax
»Dynamically typed
»High-level OO (everything is an obj)
» Introspection
»Easy interop
»Cross-platform
smart, passionate developers
ATTRACT GREAT TALENT
a few constraints are good!
STANDARDS
“Batteries Included”PyPI
THOUSANDS OF LIBRARIES
Legacy systemsExisting code & services
INTEROP
Python(Django optional)
GOOGLE APPENGINE
baked into the standard library
TESTING
* BATTERIES INCLUDED
*
ORMUser Authentication
SessionsSyndication (RSS)
Templates
AdminForms
CachingInternationalization
Testing
BATTERIES INCLUDED
A lot of optionsApache is a popular choice
WEB SERVERS
Give your IT guys a .war
JYTHON SUPPORT
Treat your DB rows like objectsAutogenerate SQL queries
OBJECT-RELATIONAL MAPPER
MySQLPostgreSQL
Oracle3rd Party backend for MSSQL
& more…
SUPPORTED DATABASES
app for managing content
ADMIN
ADMIN
route requests to handlers using regular expressions
URL DISPATCHER
1. receive request2. MAGIC3. return response
VIEWS
IS
separate responsibility forlogic & presentation
TEMPLATES
I'm big now.
GET OUT OF MY WAY
Admin?ORM?
Templates?Sessions?
Auth?
MODULAR FRAMEWORK
ALL OPTIONAL
TEAR IT OUT
Extend.
TEAR IT OUT
Happy developerswriting better code
faster.
END RESULT
VS.
QUESTIONS