Introduction
JavaScript was initially created to make web pages interactive(alive).The programs in this language are called scripts. They can be written right in a web page’s HTML and run automatically as the page loads.
Scripts are provided and executed as plain text. They don’t need special preparation or compilation to run. Today, JavaScript can execute not only in the browser, but also on the server, or actually on any device that has a special program called the JavaScript engine. The browser has an embedded engine sometimes called a “JavaScript virtual machine”.
Different engines have different “codenames”. For example:
- V8 – in Chrome, Opera and Edge.
- SpiderMonkey – in Firefox.
In this article, I will be discussing pure JavaScript (vanilla) and some of the popular frameworks. In case you're just getting started with JavaScript, here are some of my previous articles that may be useful:
JavaScript 101: Ultimate JavaScript Guide
Introduction to Data Structures and Algorithms With Modern JavaScript
ECMAScript
This is a general-purpose programming language that is implemented in Javascript and some other languages. It is the scripting language that formed the basis of browser-based Javascript and Node.js. ECMA is an acronym for European Computer Manufacturer’s Association, which develops standards for information technology and consumer electronics. Languages such as ECMAScript, Dart-lang, and C# were standardized by ECMA.
Vanilla
The term vanilla script is used to refer to the pure JavaScript (or we can say plain JavaScript) without any type of additional library. It's imperative for any developer to begin with vanilla JavaScript before moving on to other frameworks.
The vanilla script is one of the lightest weight frameworks ever. It is very basic and straightforward to learn as well as to use. You can create significant and influential applications as well as websites using the vanilla script. The team of developers that created the vanilla JavaScript is continuously working on it to improve it and make it more useful for the web-developers.
React
React is a fast, scalable, and reusable framework for building interactive user interfaces (UIs). React supports incremental use and uses the virtual DOM model for expedited updates of web page content. Naturally, it mainly supports the View piece of the Model-View-Controller (MVC) paradigm.
React is capable of supporting enterprise applications with ease. React introduced the idea of components, which are self-contained modules of code that are packaged for reuse. Components save developers time by writing code once and then using it across the application. Then, you only need to change the code in one location for updates.
React can be extended to servers to support server-side rendering versus rendering in the browser. The framework also supports JSX, which provides shorter and simpler syntaxes for common tasks versus normal JavaScript.
Node.js
Node.js is an open-source, runtime environment built to execute JavaScript outside of a browser, which distinguishes it from the front-end focused frameworks in the following sections.
The framework is designed to build network applications at scale. To support this goal, Node is optimized for efficient handling of resources and integrates well with other frameworks and libraries.
Built on Google Chrome's JavaScript Engine, Node leverages asynchronous loading from its APIs for faster responses. Another feature is the framework's ability to proxy some types of servers for more efficient testing.
A final benefit of Node is the Node Package Manager (NPM), a directory of over one million JavaScript libraries. These packages include server frameworks like Express, testing suites like Jest, Object-Document Mapping (ODM) solutions for SQL databases like Sequelize, and Object-Relational Mapping (ORM) solutions for NoSQL databases like Mongoose. NPM libraries can structure your entire web application, allowing your team to work in JavaScript across the full stack.
Conclusion
It's important to note that being a developer isn't about knowing syntax; you should be able to solve real world problems. This can be achieved by:
- Remaining consistent
- Doing projects
- Enrolling in bootcamps
- Doing research
Top comments (0)