Viorel's Tutorial Front End Web Development & Digital Expertise
Viorel's Tutorial Front End Web Development & Digital Expertise
Viorel's Tutorial Front End Web Development & Digital Expertise
A Front End Development Course used in 2015, updating in 2021, 100% free to use
Introduction to HTML
A brief history of HTML
Knowing the basic evolution of HTML will allow you to appreciate where we are now and how long
we’ve come since the early days of the Web.
» Book: HTML5 for Web Designers, chapter 1, or A brief history of markup on A List Apart
Introduction to CSS
HTML+CSS tutorials
The exact same tutorials mentioned in Course #2 (mandatory, at least 2 – HTML + CSS):
» Learn CSS from Web.DEV (NEW)
» Learn HTML/CSS: Shay Howe / CodeSchool Web Path / Khan Academy Web Programming
» The Odin Project: HTML and CSS (NEW) + Web Almanac on CSS (NEW)
» Kevin Powell’s HTML/CSS tutorial on Scrimba (NEW) + FreeCodeCamp Responsive Web Design
» 30 days to HTML/CSS (NEW) / CSS Protips (NEW) / https://web.dev/learn/css/
CSS+Layout tutorials
» Washington.edu course on CSS
» Learn Layout (mandatory)
» Grid for layout, Flexbox for components (NEW) / Guide to Grid (NEW) (mandatory)
» Relearn CSS layout (NEW) / Smol CSS layouts (NEW) / CSS Grids by Wes Bos (NEW)
» HTMLDog: Beginner CSS tutorial, Intermediate CSS tutorial, Advanced CSS tutorial
Semantics
» Let’s talk about semantics / Pursuing semantic value (mandatory)
» Introduction to the semantic web / Semantic code: What? Why? How?
» HTML5 semantics from Smashing Magazine
» Diving into HTML5
» Microformats primer - Sitepoint (mandatory)
» Google Structured Data Intro (mandatory) + Google Structured Data Examples (mandatory)
» Get started with Microformats & Microformats v2
» Why Semantic Search is important, from Ahrefs (NEW)
Accessibility
» Accessibility link list from WASP
» W3C Accessibility Standards
» Accessible forms (all levels) + Sign-in form best practices (NEW)
» Easy checks: a fast review of web accessibility (mandatory)
» Introduction to ARIA (NEW)
» Website accessibility report generator
» Just Ask: Integrating Accessibility Throughout Design (mandatory)
» Other accessibility tools / Complete guide to accessible web components (NEW)
» How a CSS framework can enforce accessibility
» Derek Featherstone Web Accessibility primer
» 13 days of Accessibility by Sparkbox
» Official Web Content Accessibility Guidelines documentation
» The new 2020 US Government Digital Design System that includes accessibility principles
» A very nifty tabindex enhancing primer for navigation (NEW)
WARNING
Photoshop will be discontinued, I’ll be switching to Figma, which you can learn right here and here.
Course #5: Your final project
(weeks 8-10 + final exam)
SASS magic
CSS is powerful, but not dynamic. To make it dynamic, you need SASS.
» Official SASS guide (mandatory)
» Learn SASS in 20 min (mandatory)
» Getting started with SASS
» A List Apart: Getting started with SASS (mandatory)
» The beginner’s guide to SASS & SASS CodeSchool tutorial
Templating basics
Until now, we’ve looked at static HTML and CSS projects and how to develop a working site. Now we’ll
take that to the next level, by exploring how to transform a static structure into a real, dynamic
website, with real information stored in a database and dynamic structures for iterating, searching
and navigating the site. These are all example templating engines or languages.You should read
through at least a couple of them to understand the basic principles.
» Handlebars (JS) / Mustache (JS) / Angular Templating + Tutorial + Another tutorial (JS) / Smarty
(PHP) / Getting started in Wordpress templating (PHP)
» http://www.hongkiat.com/blog/angularjs-tutorials-screencast/ (AngularJS) - There are links to
various tutorials here. Going through them all (which, most importantly, means reading them all
then taking in the examples) will insure you have some basic working knowledge of what AngularJS is
and how it works.
» A comprehensive list of most web templating engines (for comparison)
» https://web.dev/learn/forms/ + https://web.dev/learn/pwa/
Luckily, there are a bunch of tools that will really help you determine if your website covers all the
❤️
best practices mentioned in this document and in the broad web standards community. I rated each
tool’s usefulness with my own subjective measure of usefulness, but I recommend testing your site
with all of them. Most of them are 100% free, just like the rest of this document’s resources.
Book links
If you’ve gotten this far and have wondered how you can get a hold of the digital books mentioned in
this course, please ask me how to get the licensed archive (or buy the books!). Pass is: ev3rym@trix
» http://www.nngroup.com/
The Nielsen Norman Group is one of the best usability and user research companies in the world,
offering regular reports on what makes the Web (not) usable.
» https://developer.mozilla.org/
The Mozilla Developer Network is one of the best sources of information and reference sites when it
comes to HTML, CSS and JS. It’s your go-to dictionary and basic information repository, use at will.
Other resources
» https://www.smashingmagazine.com/ – Web development magazine
» https://github.com/tuvtran/project-based-learning – A full list of resources for you to learn
» https://css-weekly.com/ – A weekly newsletter on CSS techniques and news
» https://webdesignledger.com/ – A resources and articles list
» https://offlinefirst.org/ – A very good list of articles related to making websites resilient
» https://www.uie.com/ – A user experience and design resource list
» https://responsivewebdesign.com/podcast/ – A (finished) podcast about RWD
» https://moz.com/beginners-guide-to-seo – An SEO primer + The Ahrefs Guide (great SEO insight)
» https://research.hackerrank.com/developer-skills/2020/ – What skills are most useful?
» https://practicaltypography.com/typography-in-ten-minutes.html – Typography primer
» https://frontendfoc.us/ – THE best newsletter with front end news and articles
» https://frontendmasters.com/courses/web-development-v2/ - Full development tutorial
» https://www.youtube.com/watch?v=0pThnRneDjw – overview of everything you need to learn
» A full history of the Web, if you’re curious. Plus, a whole list of resources that are free for devs.
» https://thegymnasium.com/courses – A wide array of free courses
» https://hawkticehurst.com/mega-full-stack-resource-guide/ - Another guide similar to this.
Additional tools for your day to day work (NEW)
Checklists
» Front End checklist
JavaScript -
https://excessive-preface-69c.notion.site/JavaScript-e3921343cb3944a4b4fa8235f3ca1375
@TODO Integrate
https://hawkticehurst.com/mega-full-stack-res
ource-guide/
https://andreasbm.github.io/web-skills/
AMAZING playlist with learning paths
https://www.youtube.com/playlist?list=PLz8Iz-F
nk_eTpvd49Sa77NiF8Uqq5Iykx
https://pauljerimy.com/it-career-roadmap/
Feelin’ advanced, are we? Try some JavaScript!
If you’ve reached this far into the tutorial, you must REALLY want something more on the table, to
keep things interesting and to keep those neurons firing up with new information. I commend you for
the curiosity and the drive to learn more, so here’s a well deserved reward. You should really start
learning about programming in general, and its two pillars: Algorithmics and Best Practices (NEW).
You can find out more about algorithms (in Romanian) on this excellent site: InfoArena (NEW), and
also on LeetCode (NEW) and HackerRank (NEW) which have gamified ways to test your algorithms.
JavaScript in depth
First, remember the MDN docs. There are plenty of really good resources that provide fantastic
learning experiences and examples in this field, since it’s one of the very popular languages to learn
nowadays. Our own acadEMy on JavaScript has the full curriculum here. We’ll continue with a list of
resources based on this fantastic GitHub list and other findings:
● You Don't Know JS / WTF JS?! (NEW) ● FreeCodeCamp - JS algorithms + data str
● Frontend Masters courses by Kyle ● FreeCodeCamp - React, Redux, etc
Simpson / @mpjme's stream ● https://www.jsv9000.app/
● Learning JavaScript Design Patterns ● https://www.javascripttutorial.net/
● JavaScript The Good Parts
● https://www.learn-js.org/en/
● Eloquent JavaScript by Marijn Haverbeke
● JavaScript Foundations @ Gymnasium
● Effective JavaScript by David Herman
● Learning Advanced JavaScript ● EdX JavaScript Introduction
● JavaScript Allonge, the "Six" Edition ● JS is sexy - how to learn JS properly
● Exploring JS / JS Algorithms (NEW) ● Eloquent Javascript (free book)
● JavaScript Objects and Prototypes ● MDN introduction to JS
● Composable Functional JavaScript ● Superhero JS resource index
● Functional programming in JavaScript ● YouTube vids: 0, 1, 2, 3 + channel
● Secrets of the JavaScript Ninja by John ● The right way to learn JavaScript
Resig, Bear Bibeault, and Josip Maras ● AirBNB JavaScript Style guide
● The Principles of OOP JavaScript
● Explore DOM events
● AST Explorer / CodeWars
● The Odin Project: Node.JS
● JavaScript: Understanding the Weird
● https://www.programiz.com/
Parts + Clean Code JS (NEW)
● Advanced JavaScript ● https://marplo.net/javascript (Română)
● Egghead.IO tutorials on JS and derived ● JS games crash course
languages, or on actual frameworks, ● https://lab.reaal.me/jsrobot/
libraries, etc ● https://play.elevatorsaga.com/
● Dan Abramov’s GitHub for React ● https://screeps.com/
● Vue.JS’s startup guide ● JS Cheat Sheets / Deep JavaScript
● React with Redux ● JS Promise Guide
● Vanilla JS DOM Manipulation (NEW) ● Learn TypeScript for Free (Scrimba)
● Învăț eu, înveți și tu (Romanian) (NEW) ● Algorithms in JS: 1, 2, 3, 4
Everybody loves frameworks: VUE.js (NEW)
I get it, you’re fed up with generic stuff and want to get on the trend everybody’s in and start learning
a popular JavaScript framework that will get you ahead in the job race and also be fun along the way.
My personal recommendation is not React, nor Angular, but Vue. Why? Because it just makes more
sense, workflow-wise, it has server side rendering as a first class citizen allowing you to serve static
files to the browser then hydrate them on demand with the JavaScript front end scripts, and keep the
JS and CSS at a minimum with Nuxt and Tailwind. Tailwind is opinionated and I’m not sure I agree
with it completely just yet, but it does have super obvious benefits compared to Bootstrap & co. Plus,
Ștefan (who gathered the materials below and whom I trust) likes it very much.
So here goes:
Vue.js Docs
1. Guide 2. Style Guide 3. Cookbook
Nuxt.js Docs
1. Guide 4. Examples
2. Guide v2 (Beta) 5. FAQ - Common development,
3. API configuration and deployment questions
Courses
1. VueMastery Intro to Vue 3 & others@V3 5. Vue.js Components Fundamentals -
2. Vue3 Time Blocking App VueSchool.io
3. Laracasts: Learn Vue 2: Step By Step 6. Nuxt.js Fundamentals - VueSchool.io
4. Vue.js Fundamentals - VueSchool.io 7. ALL courses from VueMastery.com
Node.js
1. Node.js Best Practices
TailwindCSS
1. Docs 4. Collection - Design with Tailwind CSS
2. Component Examples Masterclass on @eggheadio
3. Screencasts: Designing with Tailwind 5. Tailwind CSS Custom Forms
CSS
Enjoy your damn framework now! 😝 I still think you don’t need it that much unless for very large
projects with dozens of coordinated people working to build the same platform.
Others (bulk):
https://www.infoq.com/presentations/little-usl-scalability-performance/ /
https://speakerdeck.com/kavya719/applied-performance-theory?slide=11
T-minus 3, 2, 1: Future-proofing production systems - Kavya Joshi (Samsara)
https://ossu.firebaseapp.com/#/curriculum
https://www.sololearn.com/home
HTML and CSS Tutorials - YouTube
Programare pentru Incepatori: Tutoriale in Romana | Programare pentru Incepatori | Limbaje de
Programare - YouTube (Romanian)
Full Stack Web Development in the Cloud Course - Svelte, Postgres, Vercel, Gitpod
https://www.coursera.org/courses?query=full%20stack%20web%20development
https://fsharpforfunandprofit.com/fppatterns/
https://github.com/ziishaned/learn-regex
https://qmo.io/blog/ultimate-guide-to-api-design
https://hpbn.co/
https://github.com/EbookFoundation/free-programming-books
https://github.com/practical-tutorials/project-based-learning
https://programming-idioms.org/about#about-block-all-idioms
https://github.com/sdmg15/Best-websites-a-programmer-should-visit
https://github.com/minimaxir/big-list-of-naughty-strings
https://github.com/JanVanRyswyck/awesome-talks
https://github.com/trimstray/the-book-of-secret-knowledge
https://github.com/sindresorhus/awesome
https://github.com/lauragift21/awesome-learning-resources
https://github.com/ripienaar/free-for-dev
https://github.com/30-seconds/30-seconds-of-code
https://github.com/public-apis/public-apis
https://open.appacademy.io/
Spectrum programming circa 1980
A Compiler Writing Journey
Introduction to monads with Java code examples
Category Theory Illustrated
https://eev.ee/blog/2015/09/12/dark-corners-of-unicode/
https://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/
A Hitchhiker’s Guide to Reinventing a Prolog Machine
A History of APL in 50 Functions
Linear types can change the world!
The pitfalls of protocol design - Attempting to write a formally verified PDF parser
Haskell for Imperative Programmers
Crafting Interpreters
LLVM compiler infrastructure
Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)
Working Draft, Standard for Programming Language C++
C++ Annotations
Learn C++
105 STL Algorithms in Less Than an Hour
Stop Teaching C
Cᐩᐩ Weekly With Jason Turner
Generating random numbers using C++ standard library: the problems
C++ atomics, from basic to advanced. What do they really do?
Parameter Passing in C and C++
C++ Reference
How C++ Resolves a Function Call
C++20 Coroutine: Under The Hood
Programming II (C/C++) · Stepik
Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)
Web Browser Engineering by Pavel Panchekha & Chris Harrelson
The MDN Front End Development Learning Index
Learn Rust With Entirely Too Many Linked Lists
Crust of Rust: Channels
The Rust Programming Language
Rust Memory Container Cheat-sheet
The Rustonomicon
A Firehose of Rust, for busy people who know some C++
Probability Cheat Sheet
MIT Course: Theory of computation
MIT Course: Electrical Engineering and Computer Science
List of data structures
Exposing Float Point + What Every Programmer Should Know About Floating-Point Arithmetic
What Every Computer Scientist Should Know About Floating-Point Arithmetic
List of algorithms / Quick Search Algorithm
Cryptography is not magic
https://github.com/public-apis/public-apis
Web Development Full Course (Front End) | HTML,CSS,JavaScript
https://fullstackopen.com/en/
CS61A - Structure and Interpretation of Computer Programs (introductory cs course at berkeley, hard
af but you will learn a lot if you keep at it)
CS61B - Data Structures (data structure course at bekeley. Programs interact with data, you will learn
how with this course. The MOST MOST MOST important course on this guide)
CS61C - Great Ideas in Computer Architecture (Broken archives, no idea when it will be fixed, will
update post when it is. Teaches the inner working of a computer so that you can write optimized
programs)
Textbooks
Basic Mathematics - Serge Lang (teaches basic mathematics as the title says, but is proof based)
Discrete Mathematics with Applications - Susanna Epp (basically the math of computer science)
PPC
In order for you to start doing Google Ads for Performance Marketing / PPC, I recommend going
through Google’s own tutorial and then go through this guy’s tutorial.
Miscellaneous
https://cxl.com/playbooks/
https://learndigital.withgoogle.com/digitalgarage/course/digital-marketing
https://learndigital.withgoogle.com/digitalunlocked
https://www.wordstream.com/learn PPC University
https://academy.hubspot.com/courses/inbound-marketing?library=true
https://www.quicksprout.com/the-beginners-guide-to-online-marketing/
https://copyblogger.com/imfsp/
https://www.coursera.org/learn/marketing-plan
https://www.edx.org/course/digital-marketing-strategy
https://www.edx.org/course/digital-strategy-and-action
https://www.linkedin.com/learning/paths/become-an-online-marketing-manager
https://ocw.mit.edu/courses/entrepreneurship/
https://www.futurelearn.com/subjects/business-and-management-courses/marketing/digital-mar
keting
https://blog.hubspot.com/marketing/free-online-marketing-classes
@TODO - to be continued
Challenge sites
https://type.method.ac/ - typography challenges
https://cssbattle.dev/ - CSS challenges
https://www.codingame.com/start -
Front end games and challenges - https://css-tricks.com/front-end-challenges/
Css dinner, flexbox froggy, flexbox defense
clash of code
Blockchain development
https://www.youtube.com/playlist?list=PLKAyGpypHE7dHpGjm_sW9htRkCogBW97i (Romanian)
https://bitcoin.org/en/bitcoin-paper
https://www.youtube.com/watch?v=bBC-nXj3Ng4
https://books.google.ro/books/about/Mastering_Bitcoin.html?id=tponDwAAQBAJ&printsec=frontco
ver&source=kp_read_button&hl=en&redir_esc=y#v=onepage&q&f=false
Blockchain 101 - A Visual Demo
Linux / DevOps
https://dev.to/javinpaul/5-free-courses-to-learn-linux-for-beginners-367f
Linux Essentials - Beginner Crash Course (Ubuntu)
https://www.edx.org/course/introduction-to-linux
https://lwn.net/Kernel/LDD3/
https://linux-kernel-labs.github.io/refs/heads/master/index.html
https://opensource.com/article/19/4/devops-pipeline
https://codewithmosh.com/p/the-ultimate-docker-course
Python
https://github.com/dabeaz-course/practical-python/blob/master/Notes/Contents.md
https://docs.python.org/3/library/functions.html
Python Programming Beginner Tutorials - YouTube
An introduction to SciPy
What the fuck, Python!
Python Tutorial - Python for Beginners [Full Course]
The Python Tutorial
Automate the boring stuff with Python
Curs de programare în Python 3 pentru începători - Online interactiv gratuit (Romanian)
Tutoriale în Python de Marius Ciurea (Romanian)
The Best Python Books – Real Python
Programming using Python · Stepik
Java
Learn Java - Free Interactive Java Tutorial
Job Ready Java
Spring Quickstart Guide / CodingBat Java
(paid) Java EE, Spring, Spring 5, FullStack with Boot and Angular, FullStack with Boot and React
https://www.php.net/manual/en/book.pdo.php
https://phpdelusions.net/pdo
https://www.phptutorial.net/php-pdo/
https://www.javatpoint.com/php-pdo
PDO Crash Course (PHP)
https://bulletproofphp.dev/yes-php-is-worth-using
NoSQL
https://www.mongodb.com/nosql-explained
https://www.mongodb.com/developer/quickstart/node-crud-tutorial/
MongoDB Crash Course
https://www.youtube.com/playlist?list=PLLAZ4kZ9dFpOFJ9JcVW9u4PlSWO-VFoao (older version)
MongoDB Full Course | MongoDB Tutorial | MongoDB Tutorial For Beginners | MongoDB | Simp…
https://www.edx.org/course/nosql-basics
https://www.coursera.org/learn/introduction-to-nosql-databases
Game Development
» Super cool introductory course with a presentation video:
How to Teach 5 Semesters of Game Design in 1 Class
» The book: Reality is Broken by Jane McGonigal
Graphics
https://www.udemy.com/course/how-to-program-games/ (paid)
https://www.udemy.com/course/create-quick-professional-2d-game-backgrounds-in-photoshop/
(paid)
https://www.udemy.com/course/the-ultimate-2d-game-character-design-animation-course/
(paid)
https://www.udemy.com/course/learn-professional-pixel-art-animation-for-games/ (paid)
Hosting
» For Wordpress, the best is SiteGround
» For Vue, React, Angular, etc, the best is Netlify
» For static sites, the best is GitHub Pages
🇷🇴
15. https://www.imdb.com/title/tt3322570/ a series on brain hacking
16. https://atelierul.digital/ useful resources (in Romanian)
Succes în carieră!
An overview of the paths in Front End Development
The source, and a lot of tutorial links, can be found here (2018 edition) and an updated one for 2020
can be found here, with the actual source of the graph being at https://roadmap.sh/ + alternative here.
RPG variant. Non-visual but super comprehensive.