2018年Web開發者最佳學習路徑
Learn HTML
- Learn the basics and how to write semantic HTML
- Dividing page into sections and how to structure the DOM properly
- Make at least 5 HTML pages - focus on structure
- Don't worry about making them pretty yet
Basics of CSS
- Learn the basics of CSS
- Learn how to use Grid and Flexbox
- Media Queries and Responsive Websites
- Style the HTML Pages that you made in last step
Basics of JavaScript
- Learn the syntax and basic constructs
- Learn how to manipulate DOM
- Understand the concepts such as hoisting, event bubbling, prototype etc
- Learn Fetch API / Ajax(XHR)
- Learn ES6+ new features and writing modular JavaScript
Jquery - Optional
Make some responsive website and add some interactivity with JavaScript
Search projects on Github and open a few PRs
Some of the ideas are listed below:
- Enhance the UI, make any demo pages responsive or improve the design
- Look for any open issues that you can solve
- Refactor any of the code or implement the best practices that you learnt along the way
- Link this repo, tell them you are learning and ask for feedback on your PR and how you can improve
- Needs some knowledge of 'git' - Optional
Give yourself a pat on the back. You are getting there:
- There are many jobs out there requiring the skillset that you have got till the point
- You can easily start getting some freelance work or find yourself a job if you may.
- However, don't stop here, there is still a long way to go if you want to have a better career
Package Manager( NPM or Yarn )
- Learn one, you automatically learn the other.
- Package managers help you bring external libraries and plugins into your projects, so that you don't have to worry about copying the libraries manaually or go through the hasle of updating etc
- Both are almost same, there are just implementation differences, just pick any
Install some external dependency in your application
Go ahead and install some external library in the webpages that you made above. e.g. install some toast plugin and when user clicks a button, show him the toast message or create a login form and do the form validation using some form validation library and play with different options and see how to install different versions
CSS Preprocessors
Preprocessors let you add functionaity on top of CSS and let you do things that CSS don't. Have a look at any of them and see what they have to offer and pick the suitable one.
Some CSS Preprocessors:
- Sass
- PostCSS
- Less
- Stylus
Learn Sass for now
- I would recommend you to learn Sass for now
- PostCSS is a nice-to-have and is sort of "Babel" for CSS. You can use it on top of Sass also.
- However, I would recommend you to learn Sass and revisit PostCSS later
CSS Framework
You really don't need to learn any but still they are good to have.
e.g.:
- Bootstrap
- Materialize CSS
- Bulma
CSS Architecture
There are multiple ways to structure your CSS better and to make it more maintainable.
e.g.:
- BEM
- OOCSS
- SMACSS
- SUITCSS
- Atomic
You should know about the differences - personally I find myself using BEM more
Build tool
Tools to help you in the building/bundling and development
Automated Build Tools
I would just pick NPM Scripts in 2018. However, if you want to pick something else look at Gulp and see how you can benefit from it
- NPM Scripts
- Gulp
Validation Tool
- ESLint
- JSLint
- JSHint
- JSCS
Module Bundler
Use Webpack for apps, Rollup for libraries. You don't need Rollup for now and can do everything with webpack but feel free to revisit Rollup later.
- Webpack
- Rollup
- Parcel
Create something - Maybe a library
Congrates! You can call yourself 75% modern JavaScript developer now. Now go ahead and create something with all that you have learnt. Maybe create some sort of library in which you have to use Sass and JavaScript. Then use webpack to convert Sass to CSS and use babel to transpile ES6 code. Once you are done with, release it on Github and npm.
Pick a Framework
- There is more and more demand for React.js these days.
- You can pick any of the listed ones and you will be fine.
- Have a look at all of them and what you like.
- Important - Don't buy into the hype, compare and understant!
e.g.
- React.js
There are not specific to React though, you can use them in any framework or app.- Redux
- Mobx
- Vue.js
- Vuex
- Angular
It isn't used any more expect for the old apps. Make sure if you pick Angular it is Angular2+ and not angular.js- RxJS
Even if you don't pick angular, RxJS is an amazing library and can be used out of angular. Give it a try afterwards! - ngrx
- RxJS
Praticle time
Now you know everything that might need to build a modern JavaScript application. Go ahead and make some application with whatever framework you picked. Pick anything and start!
Learn how to makesure and improve the performance of your application.
e.g. Interactivity Time, Page Speed Index, Lighthouse Score etc
Testing your Apps
There are lots and lots of different tools for different purposes. I mostly find myself using the ones listed on the left. However, before and learn them, I would recomment you to first understand the different test types, look at all the options available and use the ones most suitable for your needs.
Here is a good summary to get you started: An Overview of JavaScript Testing in 2018
- Jest
- Mocha
- Protractor
- Karma
- Enzyme
Progressive WebApps
Learn about service workers and how to make progress web apps
Static Type checkers
You don't need to learn these but they really give you superpowers and can be mastered in a few hours. I would pick TypeScript but feel free to check both and pick.
e.g.
- TypeScript
- Flow
Server Side Rendering
Learn about server side rendering in whatever framework you picked.
e.g.
- React
- Next.js
- After.js
- Vue.js
- Nuxt.js
- Angular
- Universal
All things that weren't mentioned above
- Canvas
- HTML5
- APIs
- SVG
- sourcemaps
- functional programming
- TC39
(https://github.com/kamranahmedse/developer-roadmap)
相關文章
- web前端開發入門,學習路徑以及具體的學習內容Web前端
- 學習真DDD的最佳路徑
- Web前端開發學習路線圖Web前端
- React學習路徑快速進入AntDesignPro開發React
- Django 最佳學習路徑 | 涵蓋眾多學習資源Django
- Web開發學習Web
- Git版本管理工具的最佳學習路徑Git
- web前端開發怎麼樣學習?看這份web前端學習路線Web前端
- Android 開發者學習路線(2020 版)Android
- web前端就業開發學習路線(乾貨)Web前端就業
- System Design 學習路徑
- Java的學習路徑Java
- web前端學習路線-20個真實web開發專案集合Web前端
- 服務端開發學習路徑圖,心疼小哥哥們服務端
- web前端開發入門全套學習方法路徑,兼職在家做網站也能月入上萬!Web前端網站
- Web前端學習路線分享,初學者不要錯過!Web前端
- 一個web前端開發者學習Flutter 的歷程(一)Web前端Flutter
- 初學者必看Web前端學習路線圖-千鋒Web前端教學出品Web前端
- web前端開發自學路線:html+css+JavaScript的學習方法Web前端HTMLCSSJavaScript
- 學習web前端開發的原因Web前端
- Web前端初學者應如何規劃學習路線呢?Web前端
- 一個NB的web前端開發者,是怎麼學習的?Web前端
- 初學者應該怎麼學習前端?web前端的發展路線大剖析!前端Web
- 2022年Web前端開發流程和學習路線(詳盡版)Web前端
- 新手Java學習路線乾貨教材 《Java Web開發實戰》JavaWeb
- WEB前端開發職業學習路線初級完整版Web前端
- Web前端開發零基礎入門學習路線圖Web前端
- 尤拉路徑學習筆記筆記
- k8s 學習路徑K8S
- 初談學習的大致路徑
- 機器學習MLOps學習路徑 - AI_Grigor機器學習AIGo
- Java Web 學習路線JavaWeb
- iOS開發學習路線iOS
- Web開發學習筆記——HTTP 概述Web筆記HTTP
- MDN之學習 Web 開發(一)【Web API簡介】WebAPI
- 好程式設計師web前端分享初學者必看web前端學習路線圖程式設計師Web前端
- Python學習之Web開發及圖形使用者介面模組!PythonWeb
- 從機器學習新手到工程師:Coursera 公開課學習路徑指南機器學習工程師