Why Django
-
Upload
idan-gazit -
Category
Technology
-
view
5.279 -
download
0
description
Transcript of Why Django
![Page 1: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/1.jpg)
IDAN GAZITa web developer at pixane.com
hosted by
Why Django?
![Page 2: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/2.jpg)
http://www.flickr.com/photos/spornographer/3863184574/
I COME FROM AMERICAmy Hebrew is not perfect
![Page 3: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/3.jpg)
![Page 4: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/4.jpg)
WHY FRAMEWORKS?
![Page 5: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/5.jpg)
HTMLJavaScript
ONCE UPON A TIME…
![Page 6: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/6.jpg)
HTMLJavaScript
CSSPHP
ONCE UPON A TIME…
![Page 7: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/7.jpg)
HTMLJavaScript
CSSCachingTesting
Deployment
SecurityMonitoring
APISearch
SEOTask Queues
WEB DEVELOPMENT
![Page 8: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/8.jpg)
http://www.flickr.com/photos/heloise/84894905
THE STACK GETS BIGGERevery year.
![Page 9: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/9.jpg)
SCALE
![Page 10: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/10.jpg)
TRAFFIC
![Page 11: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/11.jpg)
TRAFFIC
![Page 12: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/12.jpg)
TRAFFIC
![Page 13: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/13.jpg)
VS.
TRAFFIC
![Page 14: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/14.jpg)
VS.
TRAFFICCOMPLEXITY
![Page 15: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/15.jpg)
http://www.flickr.com/photos/cuppini/471050299
DON’T REINVENT THE WHEEL
![Page 16: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/16.jpg)
![Page 17: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/17.jpg)
Django Reinhardtthree-fingered jazz guitarist
![Page 18: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/18.jpg)
Lawrence Journal-Worlda newspaper in Kansas, USA
![Page 19: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/19.jpg)
http://www.flickr.com/photos/victoriapeckham/261126382/
Newsroomrapid-response
![Page 20: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/20.jpg)
Open-Sourced
2005Created
2003
![Page 21: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/21.jpg)
4.7 million hits/monthon djangoproject.com
source: http://bit.ly/django_community_2010
2010
![Page 22: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/22.jpg)
16,000 registered userson Google Groups
source: http://bit.ly/django_community_2010
2010
![Page 23: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/23.jpg)
PRODUCTION-READY?
![Page 24: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/24.jpg)
![Page 25: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/25.jpg)
documentation, release processMATURE
![Page 26: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/26.jpg)
committers and code changeCONSERVATIVE
documentation, release processMATURE
![Page 27: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/27.jpg)
committers and code changeCONSERVATIVE
backwards-compatibility policySTABLE
documentation, release processMATURE
![Page 28: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/28.jpg)
![Page 29: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/29.jpg)
![Page 30: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/30.jpg)
rebuilt in 5 weeks
michaelmoore.com
![Page 31: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/31.jpg)
sold to AOL$36.5 million
studionow.com
![Page 32: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/32.jpg)
55 million push notifications served to 9 million installed iPhone apps.
urbanairship.com
![Page 33: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/33.jpg)
hyperlocal newsacquired by msnbc.com in 2009
everyblock.com
![Page 34: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/34.jpg)
YES!
COULD I DO IT WITH _____?
![Page 35: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/35.jpg)
CAKEPHP
ASP.NET MVC
RUBY ON RAILS
DJANGO
![Page 36: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/36.jpg)
WHY DJANGO?
![Page 37: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/37.jpg)
IS
![Page 38: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/38.jpg)
IS
AWESOME
![Page 39: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/39.jpg)
http://www.flickr.com/photos/rdoyle/463363816
LIKE FUZZY SLIPPERS(pedicure optional)
![Page 40: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/40.jpg)
PYTHON FEATURES
»Readable syntax
»Dynamically typed
»High-level OO (everything is an obj)
» Introspection
»Easy interop
»Cross-platform
![Page 41: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/41.jpg)
smart, passionate developers
ATTRACT GREAT TALENT
![Page 42: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/42.jpg)
a few constraints are good!
STANDARDS
![Page 43: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/43.jpg)
“Batteries Included”PyPI
THOUSANDS OF LIBRARIES
![Page 44: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/44.jpg)
Legacy systemsExisting code & services
INTEROP
![Page 45: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/45.jpg)
Python(Django optional)
GOOGLE APPENGINE
![Page 46: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/46.jpg)
baked into the standard library
TESTING
![Page 47: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/47.jpg)
* BATTERIES INCLUDED
*
![Page 48: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/48.jpg)
ORMUser Authentication
SessionsSyndication (RSS)
Templates
AdminForms
CachingInternationalization
Testing
BATTERIES INCLUDED
![Page 49: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/49.jpg)
A lot of optionsApache is a popular choice
WEB SERVERS
![Page 50: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/50.jpg)
Give your IT guys a .war
JYTHON SUPPORT
![Page 51: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/51.jpg)
Treat your DB rows like objectsAutogenerate SQL queries
OBJECT-RELATIONAL MAPPER
![Page 52: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/52.jpg)
MySQLPostgreSQL
Oracle3rd Party backend for MSSQL
& more…
SUPPORTED DATABASES
![Page 53: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/53.jpg)
app for managing content
ADMIN
![Page 54: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/54.jpg)
ADMIN
![Page 55: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/55.jpg)
route requests to handlers using regular expressions
URL DISPATCHER
![Page 56: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/56.jpg)
1. receive request2. MAGIC3. return response
VIEWS
![Page 57: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/57.jpg)
IS
![Page 58: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/58.jpg)
separate responsibility forlogic & presentation
TEMPLATES
![Page 59: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/59.jpg)
I'm big now.
GET OUT OF MY WAY
![Page 60: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/60.jpg)
Admin?ORM?
Templates?Sessions?
Auth?
MODULAR FRAMEWORK
ALL OPTIONAL
![Page 61: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/61.jpg)
TEAR IT OUT
![Page 62: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/62.jpg)
Extend.
TEAR IT OUT
![Page 63: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/63.jpg)
Happy developerswriting better code
faster.
END RESULT
![Page 64: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/64.jpg)
VS.
![Page 65: Why Django](https://reader035.fdocuments.net/reader035/viewer/2022062511/54b7b0334a7959c4688b4588/html5/thumbnails/65.jpg)
QUESTIONS