One of the biggest problems for software companies making SaaS apps is keeping track of how much it costs to make and maintain them. The financial commitment required can quickly get out of hand, especially when it comes to forming engineering teams, hosting infrastructure, and purchasing software licenses. That's where Laravel Wave comes into play.
2019-10-2210 min read
Why Front-end is developing at such a fast pace
People believe what they see, accordingly when it comes to websites, front-end is responsible for attracting the users’ attention, making their interaction on the webpage fast and intuitive. Today’s front-end engineers have to put many hours of work into building sites to make the users enjoy them because if they do like the interface, they’ll come back and visit the page again.
Let’s have a look at how modern websites differ from what we had at the beginning of the World Wide Web history.
Can you imagine using a website like that on the left, without buttons, animations and beautiful text fonts? Our demands and expectations (as users) grow, as well as front-end engineering. When new features become available on the server-side, the front part has to respond fast and present all new functions as user-friendly and appealing.
Nowadays, building website interfaces can be done much faster than 20 years ago. There were many various platforms and frameworks in the client-side development lifecycle. Not all the innovations were basking in popularity among front-end engineers and some of them were replaced by more advanced ones, like React, Angular or Vue appeared with drastically new approaches to replace Ember and Backbone.
A brief history of front-end
Thanks to Tim Berners-Lee, the first version of HTML came to life in 1991. At that time it supported only text and consisted of just 18 tags. It seems too little for these days but that was a great first step in building websites almost thirty years ago.
To make websites more attractive and increase readability – Cascading Styles Sheets (CSS) was developed. Then the challenge appeared – most browsers weren’t compliant with CSS specifications. What was looking good in one browser was unappealing in the other. Even the most favored at that time Internet Explorer could poorly implement several CSS features. The problem with supporting multiple browsers had to be solved. The Web Standards Project and the online communities did a lot of work to fix these issues.
The IT sphere was growing in geometrical progression, It took Brendan Eich, a Netscape Communications Corporation programmer, only 10 days to develop the scripting language, then known as Mocha. Later it was renamed to Live Script and after that to show that Netscape supported Java within its browser, the name of JavaScript appeared as we know it today. People used to say that it was nothing more than a simple marketing tactic to use the name, popular at that time technology JAVA, in branding completely new programming language JavaScript.
The history of HTML, CSS, and JavaScript is very rich and diverse. It would take a great deal of time to describe it in detail. As JavaScript became the most popular and frequently-used programming language, it deserves special attention.
How JavaScript became popular
At the beginning of Web development history, the sites were static, having only basic styles without any dynamics. There were simple documents that contained links to one another.
In the course of time, the need to create various interactions grew and different browser web applications started to appear. The main directions included JavaScript, Java applet, Flash and Silverlight.
At first, browsers used different approaches to building webpages. The solutions like Java applets were popular because they worked independently of the software applications, but at the same time had the drawback – they were insecure and needed additional software. Eventually, JavaScript could provide all the possibilities to implement alternative platforms in development. As a result, while developing in JavaScript, external platforms weren’t used almost at all.
This way JS became a minimal solution for creating dynamic pages. At that time a need in interaction on the client-side of the web page appeared. The part of the business-logic has moved to front-end that enabled creating web apps independently from the server part.
It became a trigger to establishing front-end as an independent branch of web-development. Ever since the offset, JavaScript has used interactive HTML elements and with later – libraries that enabled more comfortable web-development (great example are jQuery, Prototype, and Dojo).
As the branch was evolving, new infrastructure solutions appeared for building web apps as Ext JS, jQuery UI, Backbone.js. With the help of these libs, the development proceeded in the direction of building user interfaces using JavaScript. It caused a challenge – the speed of building the interfaces.
It was difficult for the browser to build the structure of the document because it always had to redraw it. Therefore the conception of solutions with virtual elements tree appeared (virtual DOM).
Now the main solutions are React, Angular, VueJS. These frameworks and libraries allow building UI effectively, without spending costs and heavy loading on the browser.
From the point of view of the programming languages, JavaScript appeared at first as supplementary and didn’t include many concepts that are peculiar to real programming languages. But as time went on, new additional customizations appeared with its own syntax that was compiled in JS and was comfortable to use for the developer (for instance CoffeeScript).
Out of all customizations, TypeScript turned out to be the most widely used. With its help, the full object-oriented programming became possible as well as strict typing and a lot of constructions peculiar to fully-functioning languages.
Consequently, a whole new branch of front-end development appeared, with web app being just one of the possible clients of the server-side together with mobile and desktop applications. Most front-end frameworks show the stability of work now and are currently being optimized even further to perform better and become developer-friendly.
The front-end development has unlimited room for improvement as long as new platforms and frameworks are constantly emerging. That’s what makes great developers nowadays – the ability to adapt to changing technology and development languages.