loading...
markdown guide
 

React all the things after you Vue them under an Angular light.

Sorry, it's been a long day of programming :P

 
 

Even if you use React, you're still using JS, HTML, and CSS. What you're getting with React is a library that lets you create custom components.

Unfortunately a lot of the replies you're going to get are from people that assume you cannot have components without the use of React, Angular, or Vue and that's simply not true anymore. Most of the browsers now support custom elements (for example, "<my-fancy-search>" or "<pie-graph>") and the few that do not can load up a polyfill and get the same ability.

What you probably want to do is build components to break up your page into chunks of code which are both easier to debug and potentially easier to reuse across pages. You can use any of the popular libraries I mentioned above to help you do that or you can start using Web Components to do the same thing (for example, the current version of YouTube uses Web Components and the Polymer library to make it easier to write the components).

That component style page design is not unique to any of the libraries but it does make it much easier to conceptualize building a page. It allows you to say, what if I could build a page using elements which make sense for my page ("<home-page>", "<about-page>", "<user-page>") and sub-components on each of those pages to break them up rather than always having to start at the same fine grained level of abstraction that is "<div>", "<span>", "<input>", etc.

 

Hi, you are right.
and i wish to add one important thing that people ignore :
React, backbone,angular and so on ... are just "Layers" on javascript.

My advice to every one : learn javascript;
no lib or layer will do you any magic...

angular was made as an extention to JAVA GWT, it was meant to help JAVA developers to work with gwt, which for now is quite dead :(

d

 

Exactly - frontends have too much magic and are heavy. Stick on WebAssembly (blazor, SignalR, gRPG), CSS (flex boxes), Javascript. If you need, feel free to scarvage other frameworks (e.g. Formantic, Bootstrap, w3.css) and bring the code to you. You want to (really code and control) or (you want to just apply recipes / procedures and be stuck in a framework) ? Saying that, I use scss, jquery lol. Bottom line, I suggest you get proficient in css, html5, javascript, jquery and then you do what you want, but saving time is not always true in the end. web frameworks have their own bugs (plenty). Saying that, I like asp.net core a lot lol.

 
 

React is a fairly brilliant layer of API for managing how things change on a page or a part of a page.

If you want to check a box that updates a number, you could do it with JavaScript and the DOM pretty easily, but now your page is in a new "state", and managing that with any complexity is a real nightmare.

React allows you to manage state and render different outcomes based on what the state is. It's a real joy if you get it right.

That being said, there are definitely a lot of instances of people using React, or whatever their favorite view library for everything, introducing build-step complexity and possible performance hits when it's just not worth doing so.

If managing the state of a page is the challenge you're facing, React is a great choice.

 

Everything Ben said! Also if you are interested in using React for your portfolio take some time and get to know Gatsby.js. I recently rebuilt my website in it and it really is amazing what you can build.

 
 

The question is a bit confusing since React is Javascript, html, and css.

So I guess maybe you are asking "Why use a framework instead of just writing things yourself?"

And the answer is probably that the framework saves you a lot of trouble -- it's got a whole slew of functionality that you would otherwise have to manage yourself, like efficiently re-rendering when state changes, templating, etc.

If your page is simple enough, maybe you don't need that overhead. But once you reach a certain level of complexity, this can save you a lot of time.

 

React is a UI library which helps you manage a lot of things easier with features like Virtual DOM(normal DOM updates are slow), handling data with states, component-based structure etc.

Here are some more reasons why you might want to choose React.
coderplex.org/learn/reactjs/Choosi...

That's a learning guide for React which might help if you starting out on React!

 
 

Your post made me think of the old days .. The days where JQuery ruled. Do you remember that 600 lines javascript file ? The pain you have to go through everytime there's a bug or an anomaly. Well all of that was made easier with the appearance of frontend frameworks / library (and I'm not talking only about react). The huge plus about them is :

  • You don't have to repeat the same things over and over again (I'm aware of the addition of Custom Web Components but it's still not supported by all browsers, unfortunately..)
  • Much, much faster development process. Yeah, you guessed it. Try to build the same thing using vanilla js and then a frontend framework you're familiar with.. you'll see!
  • Optimization : Pretty much everything in any frontend framework is then 'bundled' into vanilla javascript, html and css. But the difference is the optimization. These frontend frameworks were built by, may I say, js masters. And don't forget about the most important rule of programming : If anyone else has done it, don't do it (aka. don't reinvent the wheel). And yeah I know that there are many cool vanilla javascript libraries, and you can still use them in your frontend app.
Classic DEV Post from Aug 27 '19

How do *you* pronounce sudo?

Muhammad profile image
Full Stack Web Dev