14
Sergey kopylov Infrastructure of modern web applications

Django Weekend talk "Infrastructure of modern web applications"

Embed Size (px)

DESCRIPTION

Being a web developer in a small team often involves wearing many hats: systems architect, visual and UX designer, front-end and back-end developer, devops. All these fields are evolving fast and it’s hard to stay up to date with the latest technologies. In this presentation we overview today’s common elements of full web stack and the tools for implementing them in your Django projects. It is aimed at giving web developers an introduction to some recent technologies and their use.

Citation preview

Page 1: Django Weekend talk "Infrastructure of modern web applications"

Sergey kopylov

Infrastructure of modern web applications

Page 2: Django Weekend talk "Infrastructure of modern web applications"

overview

Overview

1. design and ux 2. Front-end web technologies

3. backend web technologies 4. deployment

Page 3: Django Weekend talk "Infrastructure of modern web applications"

design and ux

Design and UX

Page 4: Django Weekend talk "Infrastructure of modern web applications"

design and ux

What is User experience?

Personas and use cases User testing

Page 5: Django Weekend talk "Infrastructure of modern web applications"

design and ux

Always create mockups first

Page 6: Django Weekend talk "Infrastructure of modern web applications"

design and ux

Design templates

Bootswatch

Page 7: Django Weekend talk "Infrastructure of modern web applications"

Front-end web technologies

Css preprocessors

Nesting Mixins

Sprites

Page 8: Django Weekend talk "Infrastructure of modern web applications"

Front-end web technologies

twitter bootstrap

100s of plugins, widget and design themes

Page 9: Django Weekend talk "Infrastructure of modern web applications"

Front-end web technologies

javascript Frameworks

Github stars 17k 20k

Developer DocumentCloud Google

First release 2010 2009

Data binding One-way Two-way

Templating External libraries (e.g. Mustache.js) Built-in

Easy to learn Yes Could be easier

Easy to integrate with Django Yes It depends

Page 10: Django Weekend talk "Infrastructure of modern web applications"

Front-end web technologies

Data binding in Angular.js

Page 11: Django Weekend talk "Infrastructure of modern web applications"

backend web technologies

backend infrastructure

Database

Cache

Web server

Search

Background tasks

Logging

Infrastructure

Django

External web services

Social authentication

Analytics

Payments

Application environment

Error logging

Sending emails

Page 12: Django Weekend talk "Infrastructure of modern web applications"

backend web technologies

Email servicesWhy you don’t want

to do it yourself

Newsletters Transactional emails

• Deliverability • Signing email (DKIM, SPF) • Analytics

What you should care about

• Get permission before sending emails • Include unsubscribe link • Process bounces • Test in different mail clients

Page 13: Django Weekend talk "Infrastructure of modern web applications"

backend web technologies

Analytics

Funnels

Segmentation Event-based notifications

Page 14: Django Weekend talk "Infrastructure of modern web applications"

Deployment

DEPLOYMENTvirtualenv virtualenvwrapper

pip

Platform as a service

DjangoEurope.com

fabric