Web Development
WebD is probably the most popular part of SD at our level. It is the most robust and cutting edge part that one can jump right into without much prior knowledge and learn as you work.
Preface
Starting from the very basics of HTML, one can build up to JavaScript frameworks. There are always other server side rendering languages that will be discussed briefly.
HTML and CSS
HTML is essentially the language designed to present data in a web browser. HTML5
is the latest form of the "language" that basically uses certain tags as elements that can also be nested.
The reason why it is generally grouped with CSS is beacuse of how they are closely related to basic website showcasing. CSS3
is currently used to make webpages more presentable and user friendly with basic styling instructions.
Both of these are a great starting point to learn something that has an immidiate outcome. Hence the popularity.
Following are the intented resources:
W3Schools (docs: HTML) for all general documentation and references.
Mozilla (docs: HTML) for quick bites as a crash course.
Traversy Media (video: HTML) for a basics walkthrough
CodeWithHarry (videos: HTML) in Hindi.
JavaScript
JS is a "scripting" language, meaning it isnt compiled. It is interpreted directly during execution into some sort of bytcode that can later be compiled by the system as per its specifications. It can range in wide varity of softwares and is a frequent first choice of developers. There's plenty of tutorials to chose from:
Course | Format and Skills | Details |
---|---|---|
JavaScript30 | videos, docs: HTML, CSS, JS | The perfect course for a walkthrough of basics from scratch |
Thapa Technical | video: JS | A collection of projects and tutorials in one video |
Coursera | videos, docs: HTML, CSS, JS | Framework offered by Coursera |
Udemy | videos, docs: HTML, CSS, JS | Full stack offered by Udemy |
JavaScript Environments
JS, in conjunction with the V8 engine that essentially assembles a webapp outside of a browser, is used to set up environments such as nodejs
. This helps create really high end apps at a large scale. Consequently, the diverse range of development is broken into 3 parts:
- Frontend: The visuals. This is what a user interacts with.
- Backend: The backend isnt apparent to the user, but is essentially the brains how things communicate and come together in an app dynamically.
- Database: The part that is concerned with the storage of, well, data. Database designs and methods are something that go a long way back because of how essential it is.
One can check:
Course | Format and Skills | Details |
---|---|---|
Thapa Technical | videos: MERN | A full stack playlist |
FreeCodeCamp | video: MERN | Crash Course in MERN |
And Fronted/Backend specific tutorials include:
Course | Format and Skills | Details |
---|---|---|
Thapa Technical | videos: ReactJS | A perfect playlist of everything ReactJS |
Thapa Technical | videos: ExpressJS | A walkthrough of ExpressJS with fun challenges |
TypeScript
JavaScript, as one can observe, is very free with declarations of variables. It is what is called a dynamically typed language. This may create issues during runtime. This is why we have a certain subset of the JS framework that can work with static types called TypeScript, together with other abilities such as a compiler used to "watch" some piece of code live. Academind hosts a crash course for beginners.
Other Frameworks
There are other frameworks worth exploring. These include the python based Flask and Django, Golang and Rust.
Course | Format and Skills | Details |
---|---|---|
Official Documentation | docs: Django | An official walkthrough. This video tutorial by Corey Schafer is also a good start. |
Go By Example | docs: Go | Learning Go through code snippets |
FreeCodeCamp | video: Go | Crash course style video of Go |
The RustBook | docs: Rust | Official Rust documentation. Clearly sufficient |