/meet-webdev

Primary LanguageHTMLMIT LicenseMIT

Meet Web Development

An introduction to web development.

Repository Link

What is Web Development?

Web development is developing websites and services that have to do with the Internet or a network. It can be as simple as serving a single webpage to an entire platform of very complex web-based web apps. Webdev is a widely applicable tool that allows developers to create many novel solutions using our modern technologies!

Examples of Web Development

  • Facebook (a social network website)
  • YouTube (video sharing website)
  • Reddit (content aggregation website)

What are Servers and Clients

A fundamental concept for web development is that there are two types of computers that we deal with. The first type is the server, which is a computer that holds any centralized information and logic for the project you're working on. The second type is the client, which is a computer that connects to your server and handles interactions from your project's users.

When a client requests a page from the server, the server will respond back with some information based on what the client sent. Usually this is in the form of a webpage, but it can be plain text, pictures, files, anything transferrable over the Internet.

Agenda

  1. What is Web Development?
  2. Examples of Web Development
  3. What are Servers and Clients?
  4. Setting up Python and Flask
  5. Routing
  6. Static Files
  7. HTML Templates
  8. Forms, HTTP Requests
  9. Styling
  10. What's Next?

Setting Up Python and Flask

  1. Download Python 3.6.3
  2. Open your Terminal and install virtualenv with pip install virtualenv
  3. Create a new folder/repository and open the directory in Terminal.
  4. Create a virtualenv called venv with virtualenv venv -p python3
  5. Activate the virtualenv with source venv/bin/activate
  6. Install Flask with pip install flask

What's Next?

There's much more to web development than just webservers and browser clients. PC applications, mobile applications, databases, worker servers, load balancers, security, the list goes on and on. If handling users is not your thing, there's still a lot of ways to be impactful on a webdev-based project. Hopefully you can find something you're interested

Some resources to dive further into web development:

  • Python Flask Quickstart
  • MongoDB - A key-value based database
  • jQuery - Frontend JavaScript utility library