Why Django

Post on 15-Jan-2015

5.277 views 0 download

Tags:

description

A high-level overview of why Django is a great choice when it comes to developing modern web applications.

Transcript of Why Django

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

@idangazitidan@pixane.com

hosted by

THANK YOU!