Web Developer Study Guide

From Code Self Study Wiki
Jump to: navigation, search

This wiki page is a collaborative brainstorm that attempts to answer the question: "what do I need to know to become a web developer?". See the related forum discussion.

Feel free to edit this page. If you want a wiki-editing account, email your desired username to contact@codeselfstudy.com.

Some really quality blog posts on this internet site , saved to fav. eedgbkeddgecdedk

Hello!

The Basics of Web Development

Great video overview of what it takes to build modern websites: http://blog.ilovecoding.org/roadmap/

Web development involves two main issues: front-end and back-end. Combined together this is known as "full-stack".

  • Front-end is the user-interface: what the user sees in the browser
  • Back-end is the code that runs on the website's server. This is where info to be displayed is retrieved, and info from the user is stored (typically in a database)
  • Full-stack is all the technologies used to build a complete website.

Front-end Skills

These are the technologies used by every browser, so you have to know all three of these.

Back-end Skills

There are lots of competing technologies used for the back-end. Choosing one to start studying is a challenge.

Languages (choose one to start):

Databases (choose one to start): You probably need to learn SQL - the common language of most databases

  • MySQL (or MariaDB)
  • SQL Server (Microsoft)
  • PostgreSQL
  • MongoDB
  • CouchDB

Popular Stacks:

  • LAMP (Linux, Apache, MySQL, PHP) complete server back-end stack
  • MEAN (MongoDB, Express.js, Angular, Node.js) full-stack, code on both server and browser

Frameworks

Instead of building everything from scratch using a language, most developers of non-trivial websites start with a framework. A framework is a software system that handles many of the typical tasks needed to develop a website. A developer then customizes the framework to create their own website. Some frameworks are basic, they only provide infrastructure for coding. Other frameworks are known as CMS (Content Management System) that are already a functional website that you can customize - in some cases with little or no coding.

Example full-stack frameworks:

  • Rails (ruby language)
  • Flask (Python)
  • Django (Python)
  • Symphony (PHP)
  • Laravel (PHP)
  • WordPress (PHP CMS)
  • Joomla (PHP CMS)
  • Drupal (PHP CMS)
  • Meteor (Javascript)

Example front-end frameworks

  • Angular (Javascript)
  • React (Javascript)

Example back-end frameworks

  • node.js (javascript)
  • ASP.net (microsoft)

Tools

You also need to learn to use some tools to help look inside what's going on and to organize your code.

  • Git
  • Google Chrome Developer tools

Exercises

  • TODO -- add more ideas for exercises

Basic HTML/CSS Website

  • Create a simple small business website with Flask
  • Use Python 3 and Virtualenv
  • You can include any desired CSS and JS libraries using cdnjs.com