User:Maslen/Books/Web Dev

Reading List:

Server-Side:
 * 1) Protocol used: Hypertext Transfer Protocol
 * 2) Popular Web Servers:
 * 3) Apache HTTP Server
 * 4) Nginx
 * 5) Generating Dynamic content
 * 6) Common Gateway Interface
 * 7) FastCGI
 * 8) Web Server Gateway Interface
 * 9) Understanding CGI variants: https://docs.python.org/2/howto/webservers.html
 * 10) Takeaway 1: WSGI is what you want (for Python)
 * 11) Takeaway 2: WSGI requires a web server that supports WSGI (e.g., Apache, nginx) and a WSGI application
 * 12) Creating a WSGI-compatible app: https://docs.pylonsproject.org/projects/webob/en/stable/do-it-yourself.html
 * 13) Python Web Frameworks
 * 14) Django (web framework)
 * 15) Flask (web framework)
 * 16) Connecting Python Web Frameworks to Web Servers
 * 17) WSGI-based deployment:
 * 18) Note: You have several options which web server to use: Apache, nginx, gunicorn, etc. There are tradeoffs for each.
 * 19) E.g., deploying Flask via WSGI, etc: http://flask.pocoo.org/docs/1.0/deploying/
 * 20) E.g., deploying Django via WSGI: https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/
 * 21) https://django-best-practices.readthedocs.io/en/latest/deployment/servers.html#nginx
 * 22) Gunicorn
 * 23) Use of nginx + gunicorn together: https://serverfault.com/questions/331256/why-do-i-need-nginx-and-something-like-gunicorn

Front-end
 * 1) HTML Templating
 * 2) https://en.wikipedia.org/wiki/Jinja_(template_engine)
 * 3) https://docs.djangoproject.com/en/1.7/topics/templates/
 * 4) HTML/CSS/JS frameworks
 * 5) Main idea: Instead of writing HTML/CSS manually, use a framework
 * 6) Bootstrap (front-end framework)
 * 7) https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xi-facelift
 * 8) https://pythonhosted.org/Flask-Bootstrap/basic-usage.html
 * 9) Basic JS in Flask+Bootstrap: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xx-some-javascript-magic
 * 10) Angular (application platform)
 * 11) https://becominghuman.ai/full-stack-web-development-python-flask-javascript-jquery-bootstrap-802dd7d43053
 * 12) https://auth0.com/blog/using-python-flask-and-angular-to-build-modern-apps-part-1/
 * 13) React (JavaScript library)
 * 14) http://aviadas.com/blog/2015/08/05/evaluating-react-dot-js-and-flask/