Web 3.0 frameworks lease a new life to web development.
The current web is less distributed and decentralised than originally envisioned by early adopters. Instead of a harmonious network of providers, services and users, we have a cluster of isolated and often insulated platforms vying to outdo each other in a game of monopoly. At the centre of this tech war is a holy grail: the triad of user data, attention and money. In this chaotic and confusing maze, Web 3.0 is emerging with a strong narrative that is readily translated into code. Today, we compare and contrast some of the most popular frameworks in the ever-growing web development stack.
Evolving frameworks
Despite the general perception that the web is nothing but a collection of interloping protocols and requests, it is becoming more and more evident that the architecture of web services will be the key to ground-breaking functionalities. The current web typically uses a 3-tier server architecture with a Presentation layer (User Interface), an Application layer (Business logic) and a Persistent layer (Data storage).
This set up has led to the rise of MVC frameworks that rely on centralised databases and servers; but it has also increased the need to keep client-server communications secured. By contrast, the Web 3.0 architecture focuses on distributing both the database and the server through blockchain networks, for improved security and robustness.
But there are other areas in which Web 2.0 and Web 3.0 are engaged in a dramatic showdown: the middleware. Established tech brands have made a name for themselves through the use of proprietary APIs and libraries that can only be accessed by a minority of in-house developers or by those willing to foot the bill. Consequently, innovation and democratisation of new technologies have been ground almost to a halt, as these middleware and microservices companies steadily collect royalties from patents and membership plans.
Web 3.0 takes a more inclusive and global approach: it leverages open-source code to encourage new ventures and support new entrants in the field. This in turn brings an explosion of customised solutions designed to solve a variety of real-world problems.
App or DApp?
Since the architecture of the web is undergoing transformation, the nature of services offered online is also being altered. E-commerce and Social networking have been the driving forces of the current web, offering to approved users the opportunity to participate in the exchange of consumer goods and cultural products. Online catalogues, multipage websites and single page applications have made it easy to obtain real-life services from a few digital platforms.
But this has come at the cost of privacy and security for millions of participants around the world. At best, users’ data is collated by Big Data farms and harvested to feed AI algorithms that socially engineer users’ behaviour on a global scale. At worst, users’ data is stolen from negligent intermediaries and later sold on the dark web; and nobody is aware of it until many years later.
With Web 3.0, real-life services are entirely digitalised through automated operations that are specified in the business logic of each custom blockchain, thus eliminating the need for real-life intermediaries. While it was necessary to obtain costly licences to operate as a real-life intermediary in the past, digital service providers are only required to put together a working software and register an online identity to carry out their business in a borderless and censorship-resistant fashion. Users can trade currencies, goods, products and services on decentralised marketplaces and exchanges which are accessible through dApps.
As more and more decentralised applications get produced and their code becomes open-source, users will have more platforms to choose from. Most importantly, they will remain in control of their data by assigning specific pseudonyms and curated identities to their digital operations.
For Web 3.0 to gain traction and users, it is essential that the tools and libraries sustaining its development remain as transparent and accessible as possible. For now, making the transition from Web 2.0 to Web 3.0 is somewhat facilitated by extending the existing stack of programming languages, application architectures and database designs. Nevertheless, the challenge for web developers is to figure out how to integrate these brand new functionalities into their latest projects without straying too far from good UX. Formal avenues for Blockchain technology education appear to be the missing piece in the big picture of Web 3.0 development.
Useful resources:
Educative.io: How to design a web application: Software Architecture 101
Cosmos: Cosmos SDK Tutorials
Substrate Developer Hub: Tutorials