Welcome
Welcome to Dev Handbook!
In this hanbook, you will find handy references on certain fields:
This handbook is maintained by Ha Truong.
You can support my work and donate to the project here.
Follow me on Github.
Web Development Guide
- Computer: MacOS, Linux, Windows
- Text Editor: VSCode
- Web Browser: Chrome, Firefox
- Terminal: Bash
- Design: Canva, Photoshop, Sketch
- Git & Github
- Chrome Dev Tools
- Package manager: NPM or Yarn
Frontend Web development
1. HTML, CSS
- HTML5
- CSS Fundamentals
- CSS Grid & Flexbox
- CSS Transition
- Sass (variables, nesting, conditionals)
- CSS Frameworks (Bootstrap, Tailwind)
2. Responsive Design
- Viewpoint
- Media queries
- Responsive mobile first
3. Vanilla JavaScript
- Fundamentals
- Modern JS (ES6)
- DOM (Document Object Model)
- JSON
- Fetch API
4. Web deployment
You should learn how to deploy a website to a web server
- Domain registration (Namecheap)
- Static hosting (Netlify, Github Pages)
- Managed hosting
- SSL Certificate
- FTP (File Transfer Protocol)
- SSH
5. Front-end Framework
You should choose to learn one of these front-end frameworks.
6. Static site generators
Static site generators offer better SEO, file system rooting, data fetching, plugins, graphQl.
Some popular static site generators are:
- Gatsby (React)
- Hugo (Go)
- Gridsome (Vue)
Backend Web Development
1. Server-side language
You need to learn a server-side language to become a fullstack or backend web development. Pick one of the following:
2. Server-side framework
- PHP: Laravel
- Python: Django, Flask
- Node.js: Express
3. Database
I recommend learning SQL and one of the following databases
- Regional database: MySQL, PostgreSQL
- NoSQL: MongoDB
- Cloud database: AWS, Firebase
- Lightweight: SQLlite
4. Content Management System (CMS)
CMS is great to add content to the web application.
- Traditional CMS: WordPress, Drupal
- Headless CMS: Contentful
5. Deployment
- SSH
- Web server environment: NGINX, Apache
- App hosting: Heroku, Linode, AWS
- Testing
- Security
Learning resources
These sites are great for learning web development.