Part 26 - What is NodeJS/AngularJS/ReactJS?

Written by Eric Muss-Barnes, 9 January 2019

I have taught you about "frameworks" and "libraries" in previous articles. Frameworks are prefabricated code structures you can use as a template to build a website. Libraries are prefabricated blocks of code you can use to add features to a website.

I have taught you about "JavaScript" in previous articles and how it is a client-side language which alters the core processing of the browser, called the DOM.

Back in 2009, some developers began to create client-side frameworks and libraries built on JavaScript.

That's a little weird.

That's a little confusing.

What are the advantages to it?

Well, as far as I have seen, there aren't a whole lot of advantages. There are a tons of disadvantages. Remember what I said about JavaScript? In short, anything which renders to the page using JavaScript has at least three big problems:

1.) Since content is changed in the DOM, and not seen in the code, it will not be indexed by search engine spiders, so nothing you have built in JavaScript will help with SEO.

2.) Since your data is in a separate file from the HTML page (for example, if you are parsing information from a JSON file), if the user wants to save that webpage for later reference, they are unable to do so.

3.) Because you are dynamically changing the page content, it breaks the "BACK" button in the browser. For example, a user may click on a link, and be presented with an entirely new page of data. But when they click the "BACK" button in their browser, with the intent of returning to the previous page, they get sent to the previous website they had visited, because the new "page" they were given was simply the same page with new data.

However...

In the year 2019, these technologies (much like Flash/ActionScript a decade earlier) were the "hip" and "popular" way to build a website. Despite the many drawbacks, computer nerds thought this technology was great.

I'm skeptical.

Why?

Because, JavaScript frameworks make for a bad user experience. And, as I have reiterated many times, the users must always come first. History has proven, technology which hampers the user experience, rarely lasts.

If you want to learn any of these technologies, I suggest learning ReactJS.

Why?

Because ReactJS is the easiest to learn, it doesn't require any server-side support, or changing your web hosting plan, and is merely a library, used to expedite the JavaScript code you need to write. Those are some good traits, that add genuine value to your development.

And remember, kids, the world owes you nothing... until you create things of value.


Glossary

Angular

A client-side JavaScript framework running on top of NodeJS.

NodeJS

A server-side scripting language (similar to PHP, ASP and so forth) based upon JavaScript. Requires a NodeJS server to run.

ReactJS

A client-side JavaScript library.


Other Articles