It first became a weapon in (and hostage to) the browser war. It then caused a major division among standardizes - people who assumed that all the rules and mechanisms of the Web would be formed behind closed doors. At the same time, it became a breeding ground for a community of developers who created tools and changed them to suit their needs without waiting for instructions from above.
At its peak, the browser war raged violently, except that no one was killed. For example, the Netscape Navigator website had a "Setting the Record Straight" page about Microsoft's lies about their browser. Microsoft had its page about Netscape's lies. Marc Andreessen insulted Microsoft products in interviews, and the product manager of the IE team hung his portraits in the hallways to energize developers with rage for overtime.
This war also had an official announcement. On December 7, 1995, six months after sending out his "The Internet Tidal Wave" circular, Gates held a press conference on the anniversary of the attack on Pearl Harbor. He even inserted the words "the sleeping giant is awake" into his speech.
There were a lot of strange solutions at that time. For example, ActiveX technology. Here a call in the <object> tag automatically downloaded and ran the code on the user's PC with all the rights. At first, the only protection against malicious scripts was simply an honest word: each subscriber with an ActiveX authorization key (cost: $20 a year) promised not to write malicious programs.
AJAX grew out of a typical feature: the XMLHttpRequest function. Microsoft unilaterally shoved it into IE5 in 1999 as part of the infamous ActiveX technology. ActiveX has since died, but this function has become very popular and included in all browsers. Now it even has a separate standard!
In 1997 Microsoft and Netscape attempted to implement Dynamic HTML simultaneously by extending the DOM model (the so-called intermediate DOM: with document.layers for Netscape and document.all for Microsoft). At the time, Dynamic HTML was all anyone could talk about, and Microsoft was already clearly nipping at Netscape's heels. Apparently, it was a desperate attempt to secure a promising technology and snatch victory from the enemy.
NodeJS appearance in JS life
In 2009, in the right place at the right time, Node.js was born. It was created by engineer Ryan Dahl and sponsored by Joyent. He used Chrome`s V8 engine to create a platform with a low-level non-blocking I/O model built on an event-driven model.
Today Node.js servers are used in production for applications and companies that serve hundreds of millions of users worldwide - Netflix, Linkedin, Microsoft, GoDaddy, Paypal, and many others. Node's package manager (NPM) logs billions of downloads every week.
Why TypeScript appeared?
That is why the Microsoft team began the development of a new tool - TypeScript. The project was led by the legendary Anders Hejlsberg, the man who created Turbo Pascal, Delphi, and C#.
Simply put, if developers are working with strings, TypeScript won't let them suddenly jump to numbers or objects. Adding strict typing is like a contract where everyone agrees to use only the specified type. When a project is large, overwriting data types and mishandling them is the cause of 20% of code bugs.
Today, not all major IT companies use TypeScript in their work. For example, GitLab, GitHub, and Netflix work without TypeScript. And some experiments even show that introducing TypeScript into a project where there are already good engineering practices slows things down without any visible benefits.
We also recommend you read our article about 5 fintech trends in 2023.
In the early days of the Web, there were only static pages, nothing dynamically generated. Ordinary, pre-created, static HTML documents were sent to the client. When a user went to a website, a simple HTTP request went to the server, and then it responded with a markup that was displayed in the browser.
Later it became possible to use dynamic rendering and build templates for the markup. These templates allowed developers to fill the information sent to the client with HTML. Each HTTP request went through the server side of the website and collected the necessary data. For example, this made it possible to add user names, current dates, data from a database, and more.
This was the original Server Side Rendering. The client (browser) asked the server to display the necessary HTML, which was generated on the server and then displayed in the browser.
With AJAX, we got an opportunity to request data asynchronously without reloading the whole page. From a UX point of view, it was a huge improvement - no more annoying page flickers, but it made us move towards Client Side Rendering (CSR). Various libraries and frameworks began to simplify frontend work. One of the most popular libraries was JQuery, but it was not a full-fledged tool for CSR.
Then came React, Angular, and Vue, thanks to which developers finally got to know full-fledged Client Side Rendering (CSR). These three technologies use a component approach and allow developers to break down the markup into smaller and reusable parts. As a result, all the generation of HTML occurs precisely on the frontend. The backend is used only for complex calculations, working with databases, etc.
Because of their ability to easily generate client-side markup, SPAs have gained enormous popularity. Unfortunately, this approach has also led to several potential problems.
First, there was the problem of search engine optimization. Since Google's search engine crawlers read and index websites, it was necessary to give content and markup information from the server. This approach generated everything on the client side. Back then, search engines weren't yet able to process information generated this way. All the robot could see was an empty HTML root tag.
The only difference is that the application will generate markup with React on the server side. This solution was aimed at fixing existing performance and SEO problems.
- High speed
- Reduced load on the server
- Ease of use
- Rich interface
- Remarkable versatility
- Extended functionality
- High popularity
- Platform independence
- Powerful frameworks
- Procedural programming features
- Quick response to user activity
- Constant updates
- Solid history & vast growth potential
- TypeScript 5.0 Beta. This version of TS comes with many upgrades for coding and control flow analysis. Upgrades include the ability to run other code before super(), index interference enhancements, recursion depth check improvements, and more. Apart from that, we expect notable performance improvements.
- Deno 1.29.1. Ryan Dahl team continues working hard on their project designed to become a suitable alternative to Node.js. The recent update aims to help this promising runtime to become much better in npm compatibility.
JS and TS are actively continuing to evolve. This led to the fact that the browser can be almost the only program on the computer.
Developing and filling websites is necessary to simplify the visitor's perception. The introduction of animations, graphics, pop-up prompts, and page recommendations seriously simplify website navigation. JS features on your online store can increase the likelihood of buying a service or product.
Our client hired several BE developers for solid logic development and setting up the DB structure. They worked with NodeJS, PostgreSQL, Swagger, and Jest. MaybeWorks backend developers:
- Developed a monolithic API for the main web application, admin panel, and mobile application using the fastify library for NodeJS and the PostgreSQL + PostGIS database for working with geographical objects
- Created documentation for API using Swagger
- Designed and created new tables and relationships in the database using migrations
- Wrote unit tests using the Jest framework
- Integrated with Doordash and Relay (delivery as a service (DaaS) providers)
- Integrated third-party API of Google Maps and Auth0
Thanks to the team`s augmentation with MaybeWorks backend developers, an exciting platform for ordering plant-based meals from the best restaurants in the neighborhood was delivered on time.