How Much HTML, CSS, & JavaScript Is Enough In 2023 | Setting Realistic Expectations

Harkirat Singh
25 Jun 202308:51

Summary

TLDRThe video script emphasizes the foundational skills required for full stack development, suggesting a structured learning path. It highlights the importance of understanding JavaScript basics, HTML and CSS fundamentals, and the asynchronous nature of JavaScript. The script also underscores the value of learning how to connect a front-end to a backend server and the role of frameworks like React in simplifying DOM manipulation. The speaker advocates for a deep understanding of the underlying technologies before leveraging advanced tools and frameworks.

Takeaways

  • 📚 Start with understanding the fundamentals of JavaScript, as it is the scripting language for full stack development.
  • 🔍 Spend the first week learning JavaScript basics, including syntax, loops, conditionals, and other essential programming concepts.
  • 💻 Follow up with coding exercises and problems to solidify your understanding of JavaScript and get comfortable with its syntax.
  • 🌐 Learn the basics of HTML and CSS, focusing on simple tags, structure, and styling without diving too deep into complexity.
  • 🎮 Create a simple game using HTML canvas and JavaScript to understand how the two interact and add interactivity to your web projects.
  • 🔄 Grasp the asynchronous nature of JavaScript, including promises, async/await, and the single-threaded nature of JS execution.
  • 🔗 Understand how to connect your front-end application to a backend server using fetch API and the fundamentals of HTTP requests.
  • 🔄 Learn DOM manipulation to comprehend how dynamic websites were built before the advent of modern frameworks like React.
  • 🛠 After mastering the basics, move on to frameworks like React and Vue.js, knowing that they simplify the process of writing HTML, CSS, and JavaScript.
  • 🔑 Recognize that modern frameworks abstract the underlying simple HTML, CSS, and JavaScript, but understanding these basics is crucial for effective full stack development.

Q & A

  • What is the recommended starting point for someone beginning full stack development?

    -The starting point should be learning JavaScript as a scripting language, focusing on basic syntax, loops, conditionals, and other foundational concepts.

  • Why is understanding the basics of HTML and CSS important before diving into frameworks like React or Django?

    -Understanding the basics of HTML and CSS is crucial because it provides the foundational knowledge of how web content and styling work, which is essential even when using high-level abstractions in modern frameworks.

  • What are some common pitfalls that beginners face when transitioning from learning React to working with backend servers?

    -Beginners often struggle with understanding query parameters and the underlying mechanisms of backend servers, which can be mitigated by first gaining a solid grasp of JavaScript fundamentals and the basics of server communication.

  • How can one practice JavaScript basics after learning the syntax?

    -Practice can be achieved by solving algorithmic problems, doing coding exercises, and working on small projects like creating a basic game using canvas and JavaScript event handling.

  • What is the role of asynchronous JavaScript in full stack development?

    -Asynchronous JavaScript is key to handling tasks that may take a long time, such as server requests, without blocking the main thread. It is important for understanding how to manage non-blocking operations and working with APIs effectively.

  • What should a full stack developer know about HTML before moving on to frameworks like React or Vue?

    -A full stack developer should know basic HTML tags, such as those for text formatting, links, images, and forms. Understanding how to structure content is more important than delving into complex table structures or other less frequently used elements.

  • How does learning the fundamentals of JavaScript, HTML, and CSS prepare a developer for using modern frameworks?

    -Learning the fundamentals allows developers to understand what's happening under the hood when using frameworks. It provides a strong base to grasp how frameworks simplify and abstract complex processes, making it easier to leverage these tools effectively.

  • What is the significance of DOM manipulation in the context of full stack development?

    -DOM manipulation is how dynamic web pages were created before the advent of frameworks like React. Understanding how to manipulate the DOM provides insight into how modern frameworks streamline and simplify this process.

  • How does the knowledge of basic web technologies like HTML, CSS, and JavaScript benefit a developer using modern tools?

    -Having a solid understanding of these basic technologies enables developers to comprehend the underlying processes that modern tools abstract, making it easier to troubleshoot issues, optimize performance, and create more effective web applications.

  • What is the recommended approach to learning the asynchronous nature of JavaScript?

    -The recommended approach is to spend a few hours understanding concepts like promises, async functions, the single-threaded nature of JavaScript, and how the JS engine operates in both browser and Node.js environments.

  • Why is it important for full stack developers to understand how to communicate with backend APIs?

    -Understanding API communication is vital as it allows developers to send and receive data from backend servers, which is essential for creating interactive and dynamic web applications that can update and display content based on user interactions and data retrieval.

Outlines

00:00

🚀 Fundamentals of Full Stack Development

This paragraph discusses the foundational knowledge required for full stack development. It emphasizes the importance of understanding the basics before diving into frameworks like React and Django. The speaker shares their experience teaching a course where some students struggled with fundamental concepts despite knowing React. The video aims to outline the basic roadmap for beginners, suggesting a focus on JavaScript fundamentals, HTML and CSS basics, and the understanding of how these technologies interact. It also highlights the significance of grasping the asynchronous nature of JavaScript and the basics of DOM manipulation before moving on to more advanced topics.

05:02

🎮 Creating Interactive Projects and Understanding Asynchronous JavaScript

The second paragraph continues the discussion on the learning path for full stack development. It suggests creating a simple interactive game as a project to solidify understanding of HTML, CSS, and JavaScript. The paragraph then delves into the asynchronous nature of JavaScript, explaining the need to comprehend promises, async.js, and the single-threaded nature of JS. It also covers the importance of understanding how websites communicate with backend servers using APIs, including the use of fetch API, HTTP requests, status codes, headers, and cookies. The speaker encourages learners to grasp these concepts before moving on to frameworks like React, emphasizing that understanding the underlying processes will make using frameworks more effective.

Mindmap

Keywords

💡Full Stack Development

Full Stack Development refers to the ability to develop both the front-end (user interface) and back-end (server and database) of web applications. In the context of the video, it emphasizes the importance of understanding the fundamentals of web technologies before diving into frameworks like React and Django, which simplify the process.

💡React

React is a popular JavaScript library for building user interfaces, particularly for single-page applications. It allows developers to create reusable UI components and is known for its efficient rendering of changes. The video mentions that some learners struggle with backend concepts despite knowing React, highlighting the need for a deeper understanding of the underlying technologies.

💡JavaScript

JavaScript is a scripting language used primarily for enhancing web pages by making them interactive. It is the core language for full stack development and is essential for understanding the fundamentals of web technologies. The video emphasizes starting with JavaScript to grasp the basic syntax and concepts needed for further learning.

💡HTML

HTML (HyperText Markup Language) is the standard markup language for creating web pages and web applications. It provides the structure and content of the page. The video suggests learning basic HTML tags to understand the underlying structure of web pages, which is crucial before using frameworks like React.

💡CSS

CSS (Cascading Style Sheets) is a style sheet language used for describing the presentation of a document written in HTML. It is used to control the layout, colors, and fonts of web pages. The video mentions learning basic CSS to understand how to style HTML elements, but not to an advanced level since modern front-end frameworks like Element CSS or Material UI abstract much of the styling process.

💡Frameworks

In web development, frameworks are pre-built structures that provide a foundation and set of tools to make the development process more efficient. They often include libraries for handling common tasks, which can simplify and speed up the development of web applications. The video discusses frameworks like React and Django, which make full stack development more accessible by handling complex tasks.

💡Asynchronous JavaScript

Asynchronous JavaScript refers to the ability of JavaScript to handle non-blocking operations, allowing multiple tasks to run concurrently without waiting for one another to complete. This is crucial for tasks like network requests, which would otherwise block the execution of the script and freeze the user interface. The video emphasizes understanding the asynchronous nature of JavaScript as a key concept before connecting the front-end to a backend server.

💡DOM Manipulation

DOM (Document Object Model) manipulation is the process of changing the structure or content of a web page dynamically using JavaScript. Before the advent of frameworks like React, developers manually manipulated the DOM to update the user interface based on data from the server. The video suggests understanding DOM manipulation as it provides insight into how modern frameworks like React simplify the process.

💡HTTP Requests

HTTP (Hypertext Transfer Protocol) requests are messages sent by a client to a server, typically a web browser to a web server, to request information such as web pages, images, or data. Understanding how to make HTTP requests is essential for full stack development because it enables communication between the front-end and back-end of web applications. The video discusses the need to understand the basics of HTTP requests, including status codes, headers, and cookies.

💡Front-end and Back-end

The front-end refers to the user interface and user experience (UI/UX) of a website, while the back-end encompasses the server, database, and application logic. The video emphasizes the importance of understanding both aspects of web development, starting with the basics of front-end technologies like HTML, CSS, and JavaScript, and then learning how to connect these to back-end servers for a complete full stack development skill set.

💡Fundamentals

In the context of the video, fundamentals refer to the basic principles and concepts that form the foundation of full stack web development. These include understanding the core languages (HTML, CSS, JavaScript), the asynchronous nature of JavaScript, and the process of DOM manipulation. The video stresses the importance of mastering these fundamentals before moving on to more advanced topics or frameworks.

Highlights

Understanding the basics of full stack development is crucial before diving into frameworks like React or Django.

It's important to grasp the fundamentals of JavaScript, HTML, and CSS before moving onto frameworks.

Learning JavaScript's basic syntax, loops, and conditionals is the first step in becoming a full stack developer.

After JavaScript, HTML and CSS should be learned, but not to an extensive degree, as modern frameworks abstract much of this.

Frameworks like Element CSS and MUI simplify front-end development, but understanding underlying HTML is necessary.

Creating a simple game with canvas and JavaScript helps solidify understanding of HTML and JavaScript interaction.

Basic styling in CSS is essential to understand how to apply styles to HTML elements.

Understanding the asynchronous nature of JavaScript is key to advanced web development.

Learning how to connect a front-end to a backend server using JavaScript is a critical skill for full stack developers.

DOM manipulation is a fundamental concept that explains how dynamic websites were built before frameworks like React.

React simplifies the process of DOM manipulation, making developer's lives easier.

Frameworks like React and Vue.js are built on top of simple HTML, CSS, and JavaScript.

Understanding the underlying technologies allows developers to use frameworks effectively and know what's happening under the hood.

Before using frameworks, developers should be able to write code in plain HTML, CSS, and JavaScript.

Learning the basics and then applying them through frameworks is a recommended approach to full stack development.

Frameworks like React did not replace jobs but instead created more specialized roles in web development.

React is both a library and a framework that simplifies the process of writing HTML, CSS, and JavaScript.

Understanding the transformation from simple code to framework code is valuable for full stack developers.

Transcripts

play00:00

how much HTML CSS JavaScript is enough

play00:04

for you to start full stack development

play00:06

I am now teaching a course and I've seen

play00:09

this very closely I've seen folks who

play00:11

knew react but struggled in the first

play00:13

few weeks I knew folks who did not know

play00:16

anything but did fairly well in the

play00:18

first few weeks because they followed

play00:20

the structure that was needed and I

play00:23

think were the fundamentals before you

play00:24

dive into full Stacks so in this video

play00:26

Let's understand the basic roadmap of

play00:28

what is step one before you dive into

play00:32

full stack what are the things that you

play00:33

should spend just three to four days on

play00:36

clear some fundamentals and then move to

play00:38

any framework that you want let's get

play00:40

right into the video so today full stack

play00:43

development is very well abstracted you

play00:45

have Frameworks like Django that take

play00:48

away the complexity of writing backend

play00:50

servers you have Frameworks like react

play00:53

that were built to make your life as a

play00:55

full stack developer easier but how were

play00:58

websites written before these were

play01:00

introduced is something that you need to

play01:02

know before you start why well in the

play01:05

course I am teaching I saw someone who

play01:06

said he knew react but struggled with a

play01:09

very basic thing which I like

play01:11

query parameters in backend servers and

play01:14

basically told me that this looks

play01:16

something to react with sort of boggled

play01:17

my mind I did not understand the

play01:18

statement and that made me realize today

play01:21

it's very easy to ask chargity to to

play01:23

write a simple react application for you

play01:25

it's hard for you to know what it's

play01:27

doing under the hood and that is what

play01:30

you should spend just the first one week

play01:32

doing before you dive into react what

play01:34

are these things let's talk about them

play01:36

very concretely the first thing you

play01:38

should start with is a scripting

play01:39

language which in case a full stack is

play01:41

Javascript

play01:42

I have linked a prerequisite video that

play01:45

was the prerequisite to my course it's a

play01:47

very nice one one and a half hour video

play01:49

that has more than 10 million views

play01:51

which means a lot of people were able to

play01:53

understand it very well so I think you

play01:56

should as well if you want to get under

play01:57

this path and you've decided I want to

play01:59

do full stack first one week in fact

play02:01

first day try to go through that video

play02:04

it's a very nice JavaScript explainer

play02:06

slash warming up video it teaches you

play02:08

the basic syntax of JavaScript for Loops

play02:10

if else foreign things that you need to

play02:13

know when you're writing code eventually

play02:15

if you don't know this it will be very

play02:17

hard for you to directly dive into react

play02:18

or even write basic applications after

play02:21

you've spent maybe a few hours doing

play02:23

that maybe a full day do a bunch of lead

play02:25

code problems do a bunch of assignments

play02:27

where you solve a lot of problems

play02:29

algorithmic problems and you get

play02:31

comfortable with the for Loops while

play02:32

Loops you know the syntax of JavaScript

play02:35

variable Step 2 is learning HTML CSS

play02:39

little bit not too much why not too much

play02:41

because in the real world when you're

play02:43

writing applications in reactor view

play02:45

you're not using HTML at all you're

play02:48

using a little bit of CSS but it's very

play02:50

well abstracted in Frameworks like

play02:52

element CSS or mui which are the popular

play02:54

Frameworks to write a front-end

play02:56

applications but you need to know how

play02:58

things are happening under the hood so

play03:00

step one learn basic tags in HTML you

play03:04

don't have to get into complicated

play03:05

things like eddr tables things like that

play03:07

no one uses them you have very nice

play03:08

components to reuse in reactor view but

play03:11

you need to know HTML you need to be

play03:13

able to understand what a device what a

play03:15

span is bold tag maybe typography H1 H2

play03:18

things like these and maybe input boxes

play03:20

buttons that's where you can cut a line

play03:22

then connect the JavaScript you have

play03:25

learned and the HTML that you've written

play03:27

add some functionality to clicking on a

play03:30

button doesn't need to be very

play03:32

complicated react code have functions in

play03:34

there just understand how you can import

play03:36

JavaScript files using the script tag

play03:39

how you can define a function in the

play03:40

Javascript file and how you can call it

play03:42

one click click on a button this is a

play03:44

nice checkpoint you know HTML using

play03:47

which you can now create ugly websites

play03:48

because you haven't yet introduced CSS

play03:50

and you can add functionality to your

play03:52

website you can actually do something

play03:53

when a button is clicked when a key is

play03:54

pressed things like these maybe at this

play03:56

point try to create a game using canvas

play03:59

so have your key presses so capture your

play04:01

key presses using JavaScript and based

play04:04

on what key is pressed maybe move a

play04:05

rectangle to the right or the left this

play04:07

is a very basic game in which you're

play04:08

able to move let's say in a box inside a

play04:11

canvas or on the HTML Dom itself using

play04:13

your arrow keys fairly good point for

play04:15

you to know HTML and JavaScript you

play04:18

understand these two things you know how

play04:19

they work very well with each other now

play04:20

understand very basic styling in CSS

play04:22

background color font color things like

play04:24

these you just need to know that HTML

play04:26

tags can be styled how are they styled

play04:28

using CSS there is inline CSS and then

play04:31

you can move it to a different file but

play04:33

you can very structurally Define your

play04:34

CSS at this point you know HTML CSS

play04:37

JavaScript and how they work with each

play04:38

other the only thing that's left to

play04:40

learn now is how your application can

play04:45

connect to a backend server before you

play04:47

do that you might need to understand

play04:49

JavaScript a little bit more and dive

play04:51

into the asynchronous nature of

play04:53

JavaScript so what have we done up until

play04:55

this point we started with HTML we

play04:57

connected HTML and JavaScript and then

play04:59

we did some CSS at this point you have

play05:01

enough knowledge to create a simple game

play05:03

in which you press a key a person moves

play05:06

to the left you pass a key person moves

play05:08

to the right maybe he's on a canvas

play05:09

that's red in color and the person is

play05:11

yellow in color straightforward create

play05:13

this project

play05:14

after you have done this and you

play05:15

understand this project end to end is

play05:17

when you should understand two things

play05:19

one the asynchronous nature of

play05:21

JavaScript two how you can use

play05:23

JavaScript to talk to backend apis now

play05:25

what is the asynchronous nature of

play05:27

JavaScript this is three to four hours

play05:29

of video where you understand uh

play05:31

promises async.js single threaded nature

play05:34

of JS what is the JS engine and how it

play05:36

runs on your browser and in a backend

play05:38

node.js application the second part

play05:40

connecting it to the backend is

play05:42

understanding that websites are not just

play05:44

simple front ends they need to talk to

play05:45

backend servers for example needs to

play05:47

talk to a very complicated model how do

play05:49

you send this request I mean the answer

play05:51

is a simple fetch API that the browser

play05:53

provides you or node.js does but you

play05:56

need to understand how that's happening

play05:57

like what is the request how is it going

play05:58

on what is coming back what are status

play05:59

codes what are headers what are cookies

play06:01

what are things that you send what are

play06:02

things that you receive and how you send

play06:04

an HTTP request now you know how to

play06:06

create a basic website in HTML CSS

play06:08

JavaScript maybe even a game and it can

play06:10

talk to a backend server this is the

play06:12

point where you need to do one more

play06:13

thing for me and then you're good to go

play06:14

learn react learn jungle do whatever you

play06:16

want after this one last thing you need

play06:18

to do is understand Dom manipulation

play06:20

which is how full stack applications

play06:22

were built before react came into the

play06:25

picture view JS came into the picture

play06:26

before these Frameworks were introduced

play06:28

how would Dynamic websites be created

play06:31

how would you based on the data that you

play06:34

get from your backend server manipulate

play06:36

the Dom so that different things appear

play06:38

okay if you don't understand this my

play06:40

second part of the full Stacks is covers

play06:42

exactly this we cover this in detail

play06:44

where we show how Dom manipulation

play06:47

happens and how react makes things much

play06:49

easier for you if you've done that Dom

play06:51

manipulation once and how react made

play06:53

your life much easier as a developer you

play06:55

don't have to do Dom manipulation by

play06:57

hand once you have Frameworks like

play06:58

reactor view but what is Dom you need to

play07:01

learn and how you do manipulation is

play07:02

another thing you need to learn you have

play07:03

a very nice video that explains it end

play07:05

to end cool after this point do whatever

play07:08

you want

play07:09

go to any framework ask rgbt to create

play07:12

websites but you know how things are

play07:14

happening under the hood even if you're

play07:16

using react if you're using Tailwind or

play07:18

if you're using axios or some external

play07:20

library to send HTTP requests what's

play07:22

happening in the end inside your browser

play07:23

is simple HTML that you've learned

play07:26

simple JavaScript simple Dom

play07:28

manipulation and simple fetch requests

play07:30

you don't see it when you use these

play07:33

Frameworks but then eventually compiled

play07:34

down to HTML CSS and JavaScript similar

play07:36

to what you've written in these in this

play07:38

one week so learn how to write this HTML

play07:41

CSS in JavaScript then use whatever

play07:42

framework basically write the same logic

play07:45

using complicated Frameworks that make

play07:46

your life easier you can compare this to

play07:48

chat CPT pre-react days this was how

play07:51

websites were written which was really

play07:52

hard react came and made lives of

play07:54

developers much easier to take away jobs

play07:56

no I created more jobs now react

play07:58

developer is a thing in itself so don't

play08:00

worry about charity either effectively

play08:02

it is a parser that gives you some code

play08:04

and react is also a parser that gives

play08:06

you some HTML CSS and JavaScript code

play08:08

this is true react is not a framework in

play08:11

itself and it is a framework it is not a

play08:12

language in itself that your browser

play08:14

understands your browser only

play08:15

understands HTML CSS and JavaScript

play08:17

react is an easy

play08:19

to write HTML CSS and JavaScript similar

play08:21

to how chat gbd is an easy way to react

play08:23

the right react code today so understand

play08:25

this transformation chat GPT is an easy

play08:28

way to write react code react is an easy

play08:31

way to write simple HTML CSS in

play08:32

JavaScript learn this first then learn

play08:35

this then go to charge gbt and ask it to

play08:37

write your code with that let's in the

play08:38

video I'll see the next one bye react is

play08:40

an easy way to write HTML CSS in

play08:42

JavaScript sorry chat gbt is an easy way

play08:45

to write HTML

play08:47

get let's write into the video get video

play08:49

in the let's write

Rate This

5.0 / 5 (0 votes)

Related Tags
Full-StackWeb-DevelopmentReactDjangoJavaScriptHTML-CSSFundamentalsBackend-ServersFrontend-FrameworksDOM-Manipulation