Skip to content

Web App Development Essentials

Richard Forshaw edited this page Apr 14, 2015 · 7 revisions

Click Web App Development Essentials

Tools

These are the tools that you absolutely must have and why

Tool What it does Why you need it Included in Anaconda?
Django Makes backend web development easy Whaaaat? You don't know why? Just use it and find out... Yes
dj-database-url URL-encodes database connections Small Django extension which allows you to set database connections in an application & platform agnostic way. (Note, if you want to take the next step, consider django-environ ) No
static and dj-static Serves static media better than Django A Django extension for serving static files simply and effectively. _Note: Possible upgrade to whitenoise No
django-debug-toolbar Debugging for Django Because debugging. No
nose and django-nose A better testing framework for Python and Django Because testing. Yes
redis and django-redis Fast caching of your site Redis is an advanced key-value-pair database which can be used as your Django Cache storage to speed up your web application Yes
gunicorn Light-weight web server for Python Much more light-weight than something like Apache, and integrates with Django & WSGI out of the box. Used for the Heroku platform as you need to install your own Web Server Yes
ipdb Python's 'pdb' debug tool with additional IPython functionality If you are used to using pdb then you don't necessarily need this, but it's recommended as a better version if pdb No. However Anaconda does come with IPython
IPython A powerful and versatile interactive Python interpreter Just trust us. Yes
psycopg2 Python DB interface module for Postgres Click uses postgreSQL by default, and this is the most popular Python iterface to Postgres. Yes
pytz Brings advanced timezone support to Python, allowing you to build apps using timezones without thinking too hard Because timezones require thinking hard Yes
python-dateutil Extensions to the standard python datetime module Advanced date and time functions Yes
requests Advanced handling of HTTP requests Because no-one likes urllib2. Or possibly ever did. (Unless of course you like httplib2...) Yes
virtualenvwrapper Manages python dependencies on a per-project basis Allows you to run multiple project on the same OS instance independently of each other No, but VirtualEnv is
AutoEnv Manipulate environment settings dependent on your folder location Allows you to easily assign environment variables relevant only to your project No

Platforms, Architectures and Philosophies

The following is a list of Platforms, Architecture and Philosophies that Click Engineering projects are built on.

The web framework for perfectionists with deadlines. Probably the most extensive Python-Web-Framework out there. Does so many things out of the box.

Platform for deploying web applications. Goes well with Django

A philosophy for making your web app simple, scalable, easy to deploy and develop and suited to modern cloud platforms.