Diving into Web Development

In this section, we take a look at how to jump into learning web development.

Web Development

What people often refer to as "web development" incorporates 4+ distinct areas of learning, which is why web development can seem overwhelming at first.

  1. Building and styling the actual web pages - Front-end web development (CSS for styling, HTML served by a back-end, and often JavaScript)

  2. Deploying the web pages or web application to live on a server or hosting system so people can access them. Setting up domain names and DNS so you can go to "yourcustomwebsite.com"

  3. Web Application Framework - Back-end server which probably does the API queries to get or post data, processes data, and serves the dynamic data to the client as HTML

  4. Data storage in a database - Back-end database which stores any data you need in your system that canโ€™t be fetched every time directly from the API. This is database setup + SQL for reading/writing (edited)

These are all great skills to learn, full-stack web is one of the most versatile stacks/skills in software engineering.

1. Building Web Pages with HTML/CSS/Javascript

Basic building blocks of web pages are: HTML, CSS, and Javascript

Free responsive web design course here is super comprehensive for the basics: https://learn.freecodecamp.org/โ€‹

2. Deploying Simple Web Pages

โ€‹https://learntocodewith.me/tutorials/github-pages/ explains how to deploy simple web pages

You can deploy simple web pages onto Github as shown above. For application, you can use http://heroku.com for free to avoid setting up your own server.

You can also rent web hosting or web servers from lots of places online.

3. Full-Stack Web Application Development

The main thing is picking which web framework and language to use, the rest of the major things outlined are supported by all major web frameworks.

Common web frameworks are Javascript + Node.js + Express, Ruby + Rails, Python + Django, PHP and Laravel but there are many, many more for almost every language out there! The two aspects you'll want to consider are:

  • Which programming language do I want to be working in? (PHP/Javascript/Ruby/Python)

  • Which web application framework do I want to be working in? (Express/Rails/Django/Laravel)

To start, youโ€™ll want to go through a comprehensive tutorial for the chosen stack such as https://www.railstutorial.org/book for Ruby on Rails which is a detailed online free book which takes you through all aspects. There are great tutorials out there for all major web development stacks though!

Ruby and Rails is a good place to start if you donโ€™t have another preference, but learning of these web application development frameworks will work just as well. The choice is largely subjective preference for language and framework. Start going through, learning the language and following that tutorial.

Hereโ€™s a non profit running beginner Rails courses for free, the curriculum is open source http://docs.railsbridge.org/docs/ and also useful.