DEV Community

Fábio de Andrade
Fábio de Andrade

Posted on

What's next step after HTML, CSS and JS?

If you're a begginer in front end, probably have you seen the common advice when you ask about what learn first.

"HTML, CSS and Javascript"

Done!

And now? what's the next step?

Top comments (31)

Collapse
 
diballesteros profile image
Diego (Relatable Code)

Pick a framework and stick to it. Its better to just get familiar with one. React is a UI library not a framework. So you could just begin on then side of React build some projects and then transition into a React meta-framework like Remix or NextJS.

Svelte and vue are good choices too. Just stick to one.

Collapse
 
paratron profile image
Christian Engel

Wait so React is not a framework but Svelte is?

For me, a UI library is something that provides ready made UI elements to be used in an app.

Why would React not be a framework?

Collapse
 
diballesteros profile image
Diego (Relatable Code)

For Svelte a meta framework would be Sveltekit so that would be it's next logical step as well.

As for a why React is considered a UI library and not a framework. If you go to the library's main page its labeled as a "JavaScript library for building user interfaces". To expand on this React gives us the tools to create modular components for our web applications in a very intuitive way (my opinion).

But, React does not give us the tools for it to be considered a full-on framework. It does not provide us with routing, request handling, internationalization, specific patterns to follow, etc. React is very unopinionated in this regard. You have to look for other third-party libraries to fulfill these needs.

Angular, as an example, is by contrast batteries-included.

Thread Thread
 
paratron profile image
Christian Engel

Yes, react leaves many things out. Its still a framework, tough (also everything you can install in npm is a library as well).

A framework in software development is something which takes away boilerplate but also requires you to work in a certain way in return. Thats React!

Thread Thread
 
diballesteros profile image
Diego (Relatable Code)

Thats too loose of a definition. In that case something like react-query would be considered a framework because it takes away boilerplate for making a fetch request and handling loading states.

I think the developers of the React library themselves have said it is not a framework and it's best to respect their judgement.

Regardless, its purely semantics. The important part of the original post is learning the skills around said libraries.

Thread Thread
 
paratron profile image
Christian Engel

Okay, I put it differently: a framework is something that dictates the basic way of building your application or a sub-set of your application.

Thread Thread
 
hunghvu profile image
Hung Vu

Strictly said, React is a library, not a framework. We control the initialization and components of a React app, so there is no inversion of control involved.

Meanwhile, something like Next.js is a framework for React library. Our codebase is implicitly called and control by the framework (render, api, etc.) That's where we have the difference.

Collapse
 
psnapier profile image
P.S. Napier • Edited

Lots of good answers here!

I ended up making small SPAs and tools (nothing that required anything beyond the HTML/CSS/Javascript you mentioned, so just little Javascript things).
In hindsight I think it would have been beneficial to learn rudimentary Apache, PHP and MYSQL as soon as possible-- various other stacks are popular now but I feel much more well-rounded after learning how to use a simple LAMP stack and run my own server.

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

I find this interesting because I was using LAMP for my side projects for like 6 years till I get a cheap VPS and started using Node which, after getting experience on both I can say it's easier and faster in terms of development.

I'm not into full MERN usually for two reasons:

  • Mongo is often not the best choice for my needs so I keep using PostgreSQL, MariaDB or MySQL
  • I'm getting used to Next JS so I get both Node JS and React in the same framework plus if any project needs to be escalated by any chance, it will be relatively easy to decouple both and deploy separate microservices and the frontend as stand-alone builds.
Collapse
 
psnapier profile image
P.S. Napier • Edited

The only experience I have with Node.JS is from making a few Electron apps, and I really disliked it, that was what informed my decision to use a LAMP stack for my hosting projects.

That said Node.JS and React are certainly popular and/or 'best practice' now so I'm sure I'll have to roll over and learn them completely in the near future. ¯\(ツ)

Thread Thread
 
joelbonetr profile image
JoelBonetR 🥇

😂 well you coded using Electron Framework, you need to try vanilla JS or Express maybe and run it over Node JS, which at the end is just a Runtime Environment.

Collapse
 
paratron profile image
Christian Engel

The answer is simple: use it to build something!

Only when applying your knowledge, you experience where there are shortcomings and where you may need more knowledge.

Maybe you discover the need to learn some backend stuff. Or how to interact with REST APIs, or doing secure authentication.

There is an infinite amount of things to learn. I am working in the web since over 15 years, I care about a lot of things and always try to learn and apply something new. And I always feel like I just scratched the surface, yet.

By applying what I know in projects I can easily identify which directions I should approach next. Maybe webgl because I want to do some 3d visualizations. Or I should spend more time on optimization because a site I am working on loads too slow.

If you feel insecure about your decisions, you could reach out to find an experienced mentor to discuss your approaches and architecture with.

Collapse
 
thi3rry profile image
Thierry Poinot

A little list of keywords to explore :

  • HTTP protocol ; methods, headers, body, multiparts
  • Accessibility (11ty), SEO, SERP
  • User experience & Interfaces
Collapse
 
joelbonetr profile image
JoelBonetR 🥇

To learn properly HTML, CSS and Javascript while jumping into mainstream frameworks (React and/or Node) depending on what you are interested in.
Also taking some knowledge of relational and non relational data bases would be fine.

I'd say freecodecamp is a good starting point for that plus you can get certifications.

Collapse
 
hunghvu profile image
Hung Vu

There are multiple options, but there is no next step if you don't know what are out there to try out.

I wrote an article on this topic before, hopefully it helps. dev.to/hunghvu/some-front-end-web-...

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

There isn't one, that's. The end. 🙃 Kidding, now it's time to go back and learn some more of the same because your never done. Learn some really specialist knowledge like where did html come from, what is utf8 these sort of things.

That's my advice, build your core 🧘‍♂️

Collapse
 
baraa_baba profile image
Baraa Baba

Builds projects and learn js libary and frameworks

Collapse
 
strafer14 profile image
Michael Ostrovsky

Understanding how the browser wooks thoroughly. At this point you basically see the above-water part of the iceberg but it goes way beyond that.
github.com/vasanthk/how-web-works

Collapse
 
tzwel profile image
tzwel

Svelte!

Collapse
 
hussam22 profile image
Hussam-22

I finished learning JS a few months back and I was asking my programmer friends where to go next, all of them recommended React as it opens doors to learn many things plus its popular in the market,

While im learning react, I was introduced to NextJs, Redux, MUI, and many other react related libraries that helped me able to build production level SPA,

If you learn react and you decided to move to another framework, it will be easy transition since all almost have the same concept

Collapse
 
spaboi profile image
SPABOI

Learn different frameworks and be an expert on it. For example react, flutter, next js, bootstrap, tailwind etc. feel free to explore around.

Collapse
 
nikhilroy2 profile image
Nikhil Chandra Roy

Next step to practice & improve portfolios in this skrills

Collapse
 
rickdelpo1 profile image
Rick Delpo

Consider becoming FullStack and add some SQL to ur skill set. Then u can Axios into the data, learn all about arrays and implement javascript array methods to render data views to the frontend.

Collapse
 
wheel0ck profile image
José Wheelock

Now it's time to choose your team: React, Vue, Angular?
The real men are on React ...