66
IDAN GAZIT a web developer at pixane.com hosted by Why Django?

Why Django

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

Page 1: Why Django

IDAN GAZITa web developer at pixane.com

hosted by

Why Django?

Page 2: Why Django

http://www.flickr.com/photos/spornographer/3863184574/

I COME FROM AMERICAmy Hebrew is not perfect

Page 3: Why Django
Page 4: Why Django

WHY FRAMEWORKS?

Page 5: Why Django

HTMLJavaScript

ONCE UPON A TIME…

Page 6: Why Django

HTMLJavaScript

CSSPHP

ONCE UPON A TIME…

Page 7: Why Django

HTMLJavaScript

CSSCachingTesting

Deployment

SecurityMonitoring

APISearch

SEOTask Queues

WEB DEVELOPMENT

Page 8: Why Django

http://www.flickr.com/photos/heloise/84894905

THE STACK GETS BIGGERevery year.

Page 9: Why Django

SCALE

Page 10: Why Django

TRAFFIC

Page 11: Why Django

TRAFFIC

Page 12: Why Django

TRAFFIC

Page 13: Why Django

VS.

TRAFFIC

Page 14: Why Django

VS.

TRAFFICCOMPLEXITY

Page 15: Why Django

http://www.flickr.com/photos/cuppini/471050299

DON’T REINVENT THE WHEEL

Page 16: Why Django
Page 17: Why Django

Django Reinhardtthree-fingered jazz guitarist

Page 18: Why Django

Lawrence Journal-Worlda newspaper in Kansas, USA

Page 19: Why Django

http://www.flickr.com/photos/victoriapeckham/261126382/

Newsroomrapid-response

Page 20: Why Django

Open-Sourced

2005Created

2003

Page 21: Why Django

4.7 million hits/monthon djangoproject.com

source: http://bit.ly/django_community_2010

2010

Page 22: Why Django

16,000 registered userson Google Groups

source: http://bit.ly/django_community_2010

2010

Page 23: Why Django

PRODUCTION-READY?

Page 24: Why Django
Page 25: Why Django

documentation, release processMATURE

Page 26: Why Django

committers and code changeCONSERVATIVE

documentation, release processMATURE

Page 27: Why Django

committers and code changeCONSERVATIVE

backwards-compatibility policySTABLE

documentation, release processMATURE

Page 28: Why Django
Page 29: Why Django
Page 30: Why Django

rebuilt in 5 weeks

michaelmoore.com

Page 31: Why Django

sold to AOL$36.5 million

studionow.com

Page 32: Why Django

55 million push notifications served to 9 million installed iPhone apps.

urbanairship.com

Page 33: Why Django

hyperlocal newsacquired by msnbc.com in 2009

everyblock.com

Page 34: Why Django

YES!

COULD I DO IT WITH _____?

Page 35: Why Django

CAKEPHP

ASP.NET MVC

RUBY ON RAILS

DJANGO

Page 36: Why Django

WHY DJANGO?

Page 37: Why Django

IS

Page 38: Why Django

IS

AWESOME

Page 39: Why Django

http://www.flickr.com/photos/rdoyle/463363816

LIKE FUZZY SLIPPERS(pedicure optional)

Page 40: Why Django

PYTHON FEATURES

»Readable syntax

»Dynamically typed

»High-level OO (everything is an obj)

» Introspection

»Easy interop

»Cross-platform

Page 41: Why Django

smart, passionate developers

ATTRACT GREAT TALENT

Page 42: Why Django

a few constraints are good!

STANDARDS

Page 43: Why Django

“Batteries Included”PyPI

THOUSANDS OF LIBRARIES

Page 44: Why Django

Legacy systemsExisting code & services

INTEROP

Page 45: Why Django

Python(Django optional)

GOOGLE APPENGINE

Page 46: Why Django

baked into the standard library

TESTING

Page 47: Why Django

* BATTERIES INCLUDED

*

Page 48: Why Django

ORMUser Authentication

SessionsSyndication (RSS)

Templates

AdminForms

CachingInternationalization

Testing

BATTERIES INCLUDED

Page 49: Why Django

A lot of optionsApache is a popular choice

WEB SERVERS

Page 50: Why Django

Give your IT guys a .war

JYTHON SUPPORT

Page 51: Why Django

Treat your DB rows like objectsAutogenerate SQL queries

OBJECT-RELATIONAL MAPPER

Page 52: Why Django

MySQLPostgreSQL

Oracle3rd Party backend for MSSQL

& more…

SUPPORTED DATABASES

Page 53: Why Django

app for managing content

ADMIN

Page 54: Why Django

ADMIN

Page 55: Why Django

route requests to handlers using regular expressions

URL DISPATCHER

Page 56: Why Django

1. receive request2. MAGIC3. return response

VIEWS

Page 57: Why Django

IS

Page 58: Why Django

separate responsibility forlogic & presentation

TEMPLATES

Page 59: Why Django

I'm big now.

GET OUT OF MY WAY

Page 60: Why Django

Admin?ORM?

Templates?Sessions?

Auth?

MODULAR FRAMEWORK

ALL OPTIONAL

Page 61: Why Django

TEAR IT OUT

Page 62: Why Django

Extend.

TEAR IT OUT

Page 63: Why Django

Happy developerswriting better code

faster.

END RESULT

Page 64: Why Django

VS.

Page 65: Why Django

QUESTIONS