Why Django

6,295 views

Published on

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

Published in: Technology

Why Django

  1. 1. Why Django? IDAN GAZIT a web developer at pixane.com hosted by
  2. 2. I COME FROM AMERICA my Hebrew is not perfect http://www.flickr.com/photos/spornographer/3863184574/
  3. 3. WHY FRAMEWORKS?
  4. 4. ONCE UPON A TIME… HTML JavaScript
  5. 5. ONCE UPON A TIME… HTML JavaScript CSS PHP
  6. 6. WEB DEVELOPMENT HTML Security JavaScript Monitoring CSS API Caching Search Testing SEO Deployment Task Queues
  7. 7. THE STACK GETS BIGGER every year. http://www.flickr.com/photos/heloise/84894905
  8. 8. SCALE
  9. 9. TRAFFIC
  10. 10. TRAFFIC
  11. 11. TRAFFIC
  12. 12. VS. TRAFFIC
  13. 13. VS. TRAFFIC COMPLEXITY
  14. 14. DON’T REINVENT THE WHEEL http://www.flickr.com/photos/cuppini/471050299
  15. 15. Django Reinhardt three-fingered jazz guitarist
  16. 16. Lawrence Journal-World a newspaper in Kansas, USA
  17. 17. Newsroom rapid-response http://www.flickr.com/photos/victoriapeckham/261126382/
  18. 18. 2003 2005 Created Open-Sourced
  19. 19. 2010 4.7 million hits/month on djangoproject.com source: http://bit.ly/django_community_2010
  20. 20. 2010 16,000 registered users on Google Groups source: http://bit.ly/django_community_2010
  21. 21. PRODUCTION-READY?
  22. 22. MATURE documentation, release process
  23. 23. MATURE documentation, release process CONSERVATIVE committers and code change
  24. 24. MATURE documentation, release process CONSERVATIVE committers and code change STABLE backwards-compatibility policy
  25. 25. michaelmoore.com rebuilt in 5 weeks
  26. 26. studionow.com sold to AOL $36.5 million
  27. 27. urbanairship.com 55 million push notifications served to 9 million installed iPhone apps.
  28. 28. everyblock.com hyperlocal news acquired by msnbc.com in 2009
  29. 29. COULD I DO IT WITH _____? YES!
  30. 30. CAKEPHP ASP.NET MVC RUBY ON RAILS DJANGO
  31. 31. WHY DJANGO?
  32. 32. IS
  33. 33. IS AWESOME
  34. 34. LIKE FUZZY SLIPPERS (pedicure optional) http://www.flickr.com/photos/rdoyle/463363816
  35. 35. PYTHON FEATURES » Readable syntax » Dynamically typed » High-level OO (everything is an obj) » Introspection » Easy interop » Cross-platform
  36. 36. ATTRACT GREAT TALENT smart, passionate developers
  37. 37. STANDARDS a few constraints are good!
  38. 38. THOUSANDS OF LIBRARIES “Batteries Included” PyPI
  39. 39. INTEROP Legacy systems Existing code & services
  40. 40. GOOGLE APPENGINE Python (Django optional)
  41. 41. TESTING baked into the standard library
  42. 42. * * BATTERIES INCLUDED
  43. 43. BATTERIES INCLUDED ORM Admin User Authentication Forms Sessions Caching Syndication (RSS) Internationalization Templates Testing
  44. 44. WEB SERVERS A lot of options Apache is a popular choice
  45. 45. JYTHON SUPPORT Give your IT guys a .war
  46. 46. OBJECT-RELATIONAL MAPPER Treat your DB rows like objects Autogenerate SQL queries
  47. 47. SUPPORTED DATABASES MySQL PostgreSQL Oracle 3rd Party backend for MSSQL & more…
  48. 48. ADMIN app for managing content
  49. 49. ADMIN
  50. 50. URL DISPATCHER route requests to handlers using regular expressions
  51. 51. VIEWS 1. receive request 2. MAGIC 3. return response
  52. 52. IS
  53. 53. TEMPLATES separate responsibility for logic & presentation
  54. 54. GET OUT OF MY WAY I'm big now.
  55. 55. MODULAR FRAMEWORK Admin? ORM? Templates? Sessions? Auth? ALL OPTIONAL
  56. 56. TEAR IT OUT
  57. 57. TEAR IT OUT Extend.
  58. 58. END RESULT Happy developers writing better code faster.
  59. 59. VS.
  60. 60. QUESTIONS
  61. 61. THANK YOU! @idangazit idan@pixane.com hosted by

×