Fantastic Front-End Toolbox
About
This is the list of resources I wish I had when I first started learning web development.
Contribute
Have a tool or resource that you love and think would be helpful to others? Just send a Pull Request with the details! Please follow the simple Contribution Guidelines. Can't wait to see your suggestions!
Table of Contents
Learning Roadmap
Many of the web developmnent roadmaps available online are arguably overwhelming to the beginner. Honestly, it's frightening to jump into a new thing and see a list of 150 niches to learn that each have their own dozen or so technologies to master.
So this one is intentionally simple.
- Learn HTML - makes the website structured
- Learn CSS - makes a website pretty
- Learn JavaScript - makes a website interactive
- Learn a framework - arguably makes development time shorter and less painful; good options include Vue, Svelte, and React.
- Learn the backend: gets the website's data and content; you don't necessarily have to master the backend - but it's helpful, and often desired by employers, for frontend developers to know how to hook up the frontend to the backend. Options include Node.js (which is JavaScript), Ruby on Rails, Java, or Python.
Throughout your entire journey, make sure you build things if want to retain your knowledge.
Make your motto ABB - Always Be Building!
Comprehensive Curriculum
If you've decided to commit to self-learning, the following two curriculums are absolutely free, widely-respected, and cover the entire web development stack - from frontend to backend. My personal opinion is that you should choose one of these to avoid tutorial hell/lack of direction, and supplement with other videos/courses/articles.
- freeCodeCamp - a free, open-source platform for learning full-stack development. There are several 300-hour courses on subjects such as front-end development, data structures, and passing code interviews. Each course completion comes with a certificate.
- The Odin Project - a free, open-source curriculum for learning web development. Courses on JavaScript, Ruby on Rails, HTML, and CSS. This curriculum requires you to utilize many external resources, so you'll become proficient at setting up your own coding environment and searching for valuable resources online.
HTML
HTML Tutorials
- HTML Crash Course For Absolute Beginners - a hi-level, one-hour overview of HTML by Brad Traversy
- HTML Tutorial: How to Make a Super Simple Website - If you're an absolute beginner in web development, you can learn the basics of HTML here. This video covers setting up an HTML file, and the basic HTML tags and what they mean.
CSS
CSS Tutorials
- CSS Crash Course For Absolute Beginners - a hi-level, one-hour overview of CSS by Brad Traversy
- CSS Tutorial For Beginners - YouTube playlist by The Net Ninja
CSS Grid
- CSS Grid Playground - a playground/tutorial by Mozilla for learning CSS Grid
- CSS Grid Tutorial - YouTube playlist by The Net Ninja
Flexbox
- Flexbox Froggy - a game where you help Froggy and friends by writing CSS code
- A Complete Guide to Flexbox - This complete guide explains everything about flexbox, focusing on all the different possible properties for the parent element (the flex container) and the child elements (the flex items). It also includes history, demos, patterns, and a browser support chart.
CSS Frameworks + Libraries
- Ant Design
- Bootstrap 4
- Bulma - Bulma is a free, open source CSS framework based on Flexbox.
- Material UI - React components for faster and easier web development.
- Tailwind CSS - Tailwind CSS is a highly customizable, low-level CSS framework that gives you all of the building blocks you need to build bespoke designs without any annoying opinionated styles you have to fight to override.
General Resources
- CSS Tricks - the name should be self-explanatory :). A huge collection of CSS guides, tips, and how-tos. You'll also find some HTML and JavaScript sprinkled in with everything.
JavaScript
JavaScript Tutorials
Vanilla JS
"Vanilla" is JavaScript without a framework. Start here before jumping on a framework!
- Mozilla JavaScript Guide - my favorite JavaScript reference; very-well written
- Practical Javascript - a uniquely pragmatic approach to the online javascript course
- Eloquent JavaScript
- Introduction to JavaScript
- JavaScript30
- You Don't Know JS (book series) - a series of books diving deep into the core mechanisms of the JavaScript language.
React JS
Most popular/used framework. Gigantic ecosystem of resources.
-
Full Stack Open 2020 - a free course run by the University of Helsinki with the main focus of building single page applications with ReactJS that use REST APIs built with Node.js.
-
React JS Crash Course - a 30,000 foot view of React from Brad Traversy; an hour-long YouTube tutorial.
-
Mastering React by Mosh - a 12-hour-long series of videos where you learn React fundamentals by building a video rental app.
-
Official React Tutorial - you will learn React by building an interactive tic-tac-toe game.
-
React Admin| Download the Free react admin dashboard templates by WrapPixel
Vue JS
Has arguably the easiest learning curve for beginners. Large ecosystem of resources and documentation.
-
Vue JS 2 - The Complete Guide - a Udemy course considered to be one of the most comprehensive Vue.js tutorials available; each concept is broken down into a bite-sized 2-3 minute video and hands-on learning.
-
Vue JS Crash Course - an hour-long YouTube tutorial by Brad Traversy; you will learn all about Vue.js including what it is, Vue-CLI, components, data, events, directives, etc.
-
Build an App with Vue.js - a free tutorial by Scotch.io where you'll learn by creating a lightweight event bulletin board.
-
Vuejs Admin|Download Free Vuejs Admin Dashboard By WrapPixel
Svelte
The new kid on the block in the framework world. Incredibly quick to set up, and fun to write code in.
- Svelte Tutorial for Beginners - a very thorough Svelte YouTube playlist by The Net Ninja
Angular 2+
JavaScript Boilerplate
Ever heard of JavaScript fatigue? Well it's real, folks. No one enjoys the mind-numbing process of gathering all the necessary dependencies needed to create a new app. So here are some awesome code templates that'll enable you to start your development in no time at all.
- Create-React-App - if you've ever dabbled with React, you already know what this is
- React Slingshot
- Simple React App
JavaScript Frameworks
These are arguably the four most popular at the moment. Don't jump to these until you have a solid grasp of JavaScript fundamentals.
JavaScript Testing
Libraries for testing your code. You want to test your code for bugs so your users will have smooth web experiences.
JavaScript Practice <span id="JavaScriptPractice>
Sites for practicing your JavaScript skills. Grow your muscles by solving challenging problems. Learn useful algorithms and data structures.
JAMstack
JAMstack stands for JavaScript, APIs, and Markup. It is a fairly recent trend in web development that allows developers to forgo traditional servers. Files are content are delivered to the browser before each page renders. They are heavily used for blogs and other sites where data will not be constantly updating, but other use cases have been popping up as well. You can read more about the JAMstack here.
- Next.js - an extremely popular framework for React
- Nuxt.js - the Vue counterpart to Next
- Gatsby - a React framework that offers a rich ecosystem of plugins and recipes for quick project set-up
- Sapper.js - the Svelte counterpart to Next
- Eleventy - a minimalistic static site generator
- Hugo - a HTML-focused framework with fast build times and a large library of themes
Cheat Sheets
- Devhints - handy syntax & command reference for hundreds of languages and technologies
Code Editors
The program you write your code with.
- Atom - a lightweight, open-source editor featuring Teletype, a tool for real-time collaboration.
- CodeRunner - a editor for MacOS that can run code in 25+ languages out of the box and has impressive code autocompletion capabilities.
- VS Code - a lightweight editor that boasts comprehensive editing and debugging features, along with an extensive library of extensions/integrations.
- CodePen - online
- Repl.it - online
- CodeSandbox - online
Deployment + Hosting
How you publish your website or web app to the world.
Icons
- Devicons - a collection of development-related icons, such as icons for programming languages
- Font Awesome - the web's largest collection of icons
- Material UI Icons - a large assortment of icons based on material design
- Octicons - a GitHub-themed icon collection
- Feather Icons - minimalist icon collection
Illustrations
"Wow! That stock photo really drew me into the story of your website/app/business," said no one ever. If you want to capture your audience's attention(and apparently, you have ten seconds to do so), you'll need striking, authentic imagery and illustrations.
- IRA Design - build your own illustrations with free pre-existing gradient images.
- Undraw - a constantly updated collection of beautiful, free SVG images that don't require attribution.
- Hero Patterns - a collection of repeatable SVG background patterns for you to use on your web projects.
- Blush - a large collection of free illustrations from various designers; illustrations range from people all the way to food
- Illustrations Figma - More than 5000 vector illustrations you can use inside Figma. All the figma illustrations are in SVG & PNG formats and includes styles like flat, lined, abstract and more.
Free Images
Design Tools
Tools for creating wireframes
- Figma - free web tool for creating website and app designs
- Framer
- Moqups
- Canva - free online tool for creating graphics and other Photoshop-like features
Reference
- Dev.to - there are plenty of tech articles, and all for free! Just like Medium, it has tutorials, articles, opinions and more about all kinds of tech stuff.
- Medium - some of the most helpful programming articles/tutorials I've come across have been on the Medium platform! Just search for your specific tool/language and you'll find a treasure trove of programming gold nuggets.
- Scotch.io - fun and practical web development tutorials