The Evolution of Web Development and Design
By Nilesh Gule, Data Architect, at a Major Insurance Company
Since the advent of the internet, the web development scene has been evolving at a rapid pace. We have seen different phases of evolution in web development and design, from static sites built on top of pure HTML to modern day Progressive Web Apps (PWA).
The web has been adapting rapidly to the innovations in technology. In the early 80’s and 90’s, it was about putting text and images on the internet. The ability to link documents, images, videos and etc. Using Hyperlinks are seen as a big advantage compared to purely text-based documents.
Towards the beginning of the century, Dynamic HTML or DHTML started catching up. This was the time when the server-side programming model became quite popular. Many technologies like Active Server Pages (ASP) and JavaServer Pages (JSP) gained prominence during this period. These technologies helped to ease a developer’s life by making the development of dynamic websites fairly simple compared to earlier options like Common Gateway Interface (CGI).
The developers were abstracted from writing low-level code, which required them to handle server level details like request and response. Many of the popular web programming languages and frameworks were born out of this like Microsoft’s ASP.Net, PHP, JSP etc. to name a few.
As the popularity of the server-side programming languages increased, people also started to realize their limitation. One such limitation was the markup for rendering visual elements and the business logic was intermingled together.
It was important to keep the visual representation separate from the business logic. That led to the advent of Web Services which encapsulated the business logic and allowed for interoperability based on new standards.
Web services were largely responsible for the advent of Service Oriented Architecture (SOA). Web services were also complemented by the rise of XML as a preferred standard format for exchanging information between applications.
Those days are long gone when we would select a country and then wait for the complete page to be posted back to the server. Based on the selected country the dependent drop down for state or regions within that country would be rendered using server-side processing logic.
With the technical advances in computing power, for last 10-15 years, we have seen that the normal laptops and desktop computers gain more firepower in terms of processor and ram
Today, web developers have the capabilities to tap into advanced features like geolocation which can help to build personalized experience for end users. We don’t have to ask the customers to select their location. Businesses can directly take customers to the localized versions of their sites based on customer location.
REST and SPA
Through the extensive use of XML, the web development community had agreed that its payload can be quite heavy. In web development, to get the best performance we need to find ways and means of reducing the data transfer between the client and the server. Due to this, XML based web services are replaced with lightweight Representational State Transfer (REST) based services which are great for supporting multiple platforms.
REST is based on standard HTTP verbs like get, put, delete etc. They provide great flexibility by integrating with existing technology stacks as well as compatibility with modern day mobile devices. JSON has replaced XML as preferred data exchange mechanism. Enhancements in HTML 2 standards also will make it possible for us deliver more streaming content to end users.
Web developments have completely moved away from having static web pages in the ‘80’s and ‘90’s to fully immersive mobile-first applications in the last 5-10 years. Such has been the advent of mobile computing that some businesses have shut down their traditional website and moved completely to the mobile-only version.
Earlier in the century, web developers had the challenge of making their websites work with a set of browsers like Internet Explorer, Google Chrome, Safari or Firefox. Nowadays, mobile usage has increased resulting in more users accessing content from their mobile devices and tablets and the web development challenge shifted from browser compatibility to display port responsiveness. Users expect to have a similar experience between native applications on their handheld devices and a laptop or a desktop PC.
Microservices and APIs
Traditionally, applications were built using the same set of technologies like. Net and Java for all the layers like the front end, middle tier or business logic and backend services. Nowadays, the polyglot architecture enables developers to use the best tool, framework, language, technology to use for different use-cases.
Polyglot engineering has led to the rise of Microservices architecture. Microservices help to encapsulate the functionality into smaller composable units which can scale to great extent. This helps in agility and deploying changes to end users at a rapid pace.
Microservice architecture enabled web development teams to release features in small chunks. Users don’t need to wait for months to get new features. Based on the maturity of the organization, multiple releases can be done in quick time.
On the architecture side, we’ve also seen a rise in the number of business functionalities exposed as Application Programming Interface (API). Tooling (Swagger, Postman, and Fiddler), Techniques (HATEOAS, GraphQL, Gateway Aggregation) and frameworks dedicated to building APIs had seen a boom recently.
Web development and design are still rapidly evolving. It has seen huge improvements in the last two decades. The future looks quite promising. Internet as a whole has been transforming since its inception and so does the web technologies.
Advances in mobile technologies have also attributed to the way people interact with the web. Streaming multimedia content to mobile users is a perfect example of this. In the coming years, we can expect the last remaining big giant personal desktops to be replaced with modern day portable devices.
These would change the way end-users interact with the web. Touch or gestures are already part of many of our lives. Augmented reality in the form of voice commands is also becoming commonplace with the rise of digital assistants and chatbots. We can expect these to have a huge impact in the future. Maybe we can call that Web 3.0.