As I start my blogging journey, allow me to introduce myself. I am Beulah Khumlo, from Manipur – one of the seven sister states from the naturally beautiful North Eastern part of India. Residing and working in Mumbai for decades, a sushi lover, who loves to play chess.
I am working as a Senior Frontend Developer at Good Glamm Group specializing in building feature-rich web and mobile applications using ReactJS.
Here’s a short blog on my scripting journey from vanilla Javascript to my newest learning – NextJS
Keeping in mind that a few non-tech folks could also be reading this I am going to keep it relatively simple. Before diving into my journey in Javascript let’s first understand what I am talking about.
What is Javascript?
As Wikipedia puts it JavaScript often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS.
It is a high-level Just in Time compiled language that follows the ECMAScript Standard.
What was the need for JS in the first place?
To understand this let’s first look at a short timeline of the core web technologies and how they came into existence. During the initial stages of web browser development, only static content and link were rendered on a webpage. Thus to develop a webpage all one needed to know were:
1. HTML (Hyper Text Markup language) – A standard markup language that gives a page its structure. The first HTML specification was made public by Tim Berners Lee in 1991.
2. CSS (Cascading Style Sheets) – Programming Language that gives a page its vibrancy by allowing developers to add different stylings such as fonts, colors, text decorations, etc.
3 years CSS was first proposed by Hakon Wium Lie in 1994.
HTML and CSS were naturally the first to be developed because isn’t it pretty intuitive that if the core job of the web browser is to render content then layout, linkages, and User Interface are the first few aspects to be developed.
However, it did not take much time to realize that these web pages lacked dynamic behavior. Thus a year later in 1995, Netscape came up with the first version of Javascript, initially called LiveScript. It was a way for developers to be able to add actions to websites. Javascript can be thought of as the verb in anything one does on the website. For example, you play a video, signup for a newsletter, Open or Close a pop-up, post on social media, etc. All these actions are powered by Javascript.
These dynamic requirements have only grown with time because of which Javascript has undergone multiple upgrades and major changes which are standardized by protocols set by the ECMA organization.
Standardization of programming languages had become necessary as there are many web browsers out in the market thus it becomes even more important to give the end user a consistent user experience when they visit a webpage across these different browsers.
Getting back to my journey with JS
When one starts learning a language it always begins with the basics. And thus I started out with plain vanilla Javascript which did seem like too much code but was easy to understand.
I then got introduced to jQuery – A Javascript library that makes most of the scripting part a lot easier however it did seem a bit complex, in the beginning, looking at all the $ notations used. I spent a lot of time using a mix of jQuery and vanilla Javascript and build a number of websites some of which did see the light of production while many lying in the code folder of my machine. Javascript and jQuery seemed like they did most of the work for me.
This feeling lasted for a very short period of time as I came across the concept of SPAs – Single Page Applications. Traditionally, applications were Multi-Page Applications (MPA) where with every click a new page would be loaded from the server. This was not only time-consuming but also increased the server load and made the website slower. However, with SPAs, the whole data is sent to the client from the server at the beginning. As the client clicks certain parts on the webpage, only the required part of the information is fetched from the server and the page is rewritten dynamically. This results in a lesser load on the server and is cost-efficient. SPAs used AJAX and HTML5 to create fluid and responsive Web applications and most of the work happens on the client side. This suddenly meant that a frontend developer could now focus on creating the user interface based on the backend APIs created by the backend developers. My pace of building applications increased as most of the work now seemed to be encapsulated by AngularJS and its libraries.
While working with AngularJS which was built by Google there was a buzz about a rival technology called React being built by Facebook. At first glance, it seemed to be much more powerful. I also wanted to get my hands dirty in Mobile development and ReactNative also built by Facebook (Now Meta) seemed to provide a way to build UI Optimised mobile applications. I knew I had found the framework I wanted to master.
From here my new phase of exploring React and ReactNative began! More on this new phase in part 2
Nice